~ubuntu-branches/ubuntu/precise/mesa/precise-updates

« back to all changes in this revision

Viewing changes to src/glut/beos/glutCursor.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Christopher James Halse Rogers
  • Date: 2011-08-04 16:25:08 UTC
  • mfrom: (1.2.37 upstream)
  • Revision ID: james.westby@ubuntu.com-20110804162508-kujg82moxerjg1kk
Tags: 7.11-0ubuntu1
* Fake merge from Debian experimental, updating previous changelog entries.
  New upstream release fixes infrequent X crash (LP: #800778).
  Remaining Ubuntu changes:
 - debian/control
    + Drop lesstif-dev from Build-Depends; it's in Universe.
    + Comment out GLw libs since it depends on lesstif-dev.
    + Drop i686 swx11 libgl package.
    + Add libdrm-dev to mesa-common-dev Depends.
    + Drop libwayland-dev from Build-Depends; it's in Universe.
    + Update Breaks for Ubuntu versions
    + Enable llvm on armel as well as i386 and amd64
  - debian/rules
    + Use --disable-glw for swx11 targets too.
    + Don't enable motif for swx11 targets.
    + Use lzma compression for binary debs to save CD space.
    + Drop unloved mach64 driver.
    + Use --enable-shared-dricore to claw back CD space.
    + Enable llvmpipe software rasteriser.
    + Enable llvm on armel as well as i386 and amd64
  - debian/patches
    + 100_no_abi_tag.patch
    + 101_ubuntu_hidden_glname.patch
    + 103_savage-expose_fbmodes_with_nonzero_alpha.patch
  - rules, libgl1-mesa-{glx,dev,swx11,swx11-dev}.install.in,
    libgl1-mesa-{glx,swx11}.{postinst,prerm}.in, libgl1-mesa-dev.links.in:
    Install libGL.so* in /usr/lib/mesa to allow things to work with
    alternatives.
  - debian/not-installed:
    + Drop i686 files; we don't build 686-optimised packages in the first
      place.
  - debian/gbp.conf
    + Point at Ubuntu branch to make git-buildpackage less narky.
  - 113_fix_tls.diff: Fix crashes in unrelated code due to TLS usage.
  - debian/patches/111_export_searchdirs_in_dripc.diff:
    + Add drisearchdirs variable to dri.pc so the Xserver can pick up the
      alternate DRI driver dirs.
  - debian/patches/115_llvm_dynamic_linking.diff
    + Dynamically link DRI drivers to libllvm.  Saves ~6MiB per DRI driver.
  - debian/patches/116_use_shared_galliumcore.diff:
  - debian/libgl1-mesa-dri.install.in:
    + Link gallium DRI drivers against shared gallium routines to save CD
      space.
* debian/rules:
* debian/libgl1-mesa-dri-experimental.install.{i386,amd64}.in
  - Explicitly install i915g only when it has been built, matching what is
    done with r300g.
* debian/rules:
* debian/control:
* debian/libegl1-mesa{,-dev}.install.in:
* debian/libegl1-mesa.symbols:
  - Enable the Wayland EGL backend.
* debian/rules:
* debian/libegl1-mesa.{postinst,prerm,install}.in:
* debian/libegl1-mesa-dev.{install,links}.in:
* debian/libgles{1,2}-mesa.install.in:
* debian/libgles{1,2}-mesa-dev.links.in:
* debian/libopenvg1-mesa{,-dev}.install.in:
* debian/libopenvg1-mesa-dev.links.in:
  - Use alternatives for libEGL to match the handling of libGL.
    libEGL (and associated GL|ES and OpenVG libraries) now live in
    /usr/lib/$MULTIARCH/mesa-egl.  (LP: #812639)
* debian/patches/118_fix_24bpp_software_rendering.diff:
  - Cherry pick upstream patch from master fixing graphical corruption when
    using a 24bpp framebuffer and software rendering. (LP: #810339)
* debian/rules:
* debian/clean:
  - Generate xmlpool pot file and clean up other po files for
    pkgbinarymangler's benefit (LP: #410264).
* debian/patches/119_r600g_gnome_shell_rendering_fix.diff:
  - Cherry pick upstream commit fixing rendering corruption in gnome-shell
    (and therefore likely Unity as well).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/***********************************************************
2
 
 *      Copyright (C) 1997, Be Inc.  Copyright (C) 1999, Jake Hamby.
3
 
 *
4
 
 * This program is freely distributable without licensing fees
5
 
 * and is provided without guarantee or warrantee expressed or
6
 
 * implied. This program is -not- in the public domain.
7
 
 *
8
 
 *
9
 
 *  FILE:       glutCursor.cpp
10
 
 *
11
 
 *      DESCRIPTION:    code for handling custom mouse cursors
12
 
 ***********************************************************/
13
 
 
14
 
/***********************************************************
15
 
 *      Headers
16
 
 ***********************************************************/
17
 
#include <GL/glut.h>
18
 
#include "glutint.h"
19
 
#include "glutState.h"
20
 
#include "glutCursors.h"
21
 
 
22
 
static const unsigned char *cursorTable[] = {
23
 
  XC_arrow,               /* GLUT_CURSOR_RIGHT_ARROW */
24
 
  XC_top_left_arrow,      /* GLUT_CURSOR_LEFT_ARROW */
25
 
  XC_hand1,               /* GLUT_CURSOR_INFO */
26
 
  XC_pirate,              /* GLUT_CURSOR_DESTROY */
27
 
  XC_question_arrow,      /* GLUT_CURSOR_HELP */
28
 
  XC_exchange,            /* GLUT_CURSOR_CYCLE */
29
 
  XC_spraycan,            /* GLUT_CURSOR_SPRAY */
30
 
  XC_watch,               /* GLUT_CURSOR_WAIT */
31
 
  XC_xterm,               /* GLUT_CURSOR_TEXT */
32
 
  XC_crosshair,           /* GLUT_CURSOR_CROSSHAIR */
33
 
  XC_sb_v_double_arrow,   /* GLUT_CURSOR_UP_DOWN */
34
 
  XC_sb_h_double_arrow,   /* GLUT_CURSOR_LEFT_RIGHT */
35
 
  XC_top_side,            /* GLUT_CURSOR_TOP_SIDE */
36
 
  XC_bottom_side,         /* GLUT_CURSOR_BOTTOM_SIDE */
37
 
  XC_left_side,           /* GLUT_CURSOR_LEFT_SIDE */
38
 
  XC_right_side,          /* GLUT_CURSOR_RIGHT_SIDE */
39
 
  XC_top_left_corner,     /* GLUT_CURSOR_TOP_LEFT_CORNER */
40
 
  XC_top_right_corner,    /* GLUT_CURSOR_TOP_RIGHT_CORNER */
41
 
  XC_bottom_right_corner, /* GLUT_CURSOR_BOTTOM_RIGHT_CORNER */
42
 
  XC_bottom_left_corner,  /* GLUT_CURSOR_BOTTOM_LEFT_CORNER */
43
 
};
44
 
 
45
 
/***********************************************************
46
 
 *      FUNCTION:       glutSetCursor (4.13)
47
 
 *
48
 
 *      DESCRIPTION:  set a new mouse cursor for current window
49
 
 ***********************************************************/
50
 
void glutSetCursor(int cursor) {
51
 
        gState.currentWindow->Window()->Lock();
52
 
        gState.currentWindow->cursor = cursor;
53
 
        __glutSetCursor(cursor);
54
 
        gState.currentWindow->Window()->Unlock();
55
 
}
56
 
 
57
 
/***********************************************************
58
 
 *      FUNCTION:       __glutSetCursor
59
 
 *
60
 
 *      DESCRIPTION:  the actual cursor changing routine
61
 
 ***********************************************************/
62
 
void __glutSetCursor(int cursor) {
63
 
        int realcursor = cursor;
64
 
        if (cursor < 0 || cursor > GLUT_CURSOR_BOTTOM_LEFT_CORNER) {
65
 
                switch(cursor) {
66
 
                case GLUT_CURSOR_INHERIT:
67
 
                        return;         // don't change cursor
68
 
                case GLUT_CURSOR_NONE:
69
 
                        // this hides the cursor until the user moves the mouse
70
 
                        // change it to HideCursor() AT YOUR OWN RISK!
71
 
                        be_app->ObscureCursor();
72
 
                        return;
73
 
                case GLUT_CURSOR_FULL_CROSSHAIR:
74
 
                        realcursor = GLUT_CURSOR_CROSSHAIR;
75
 
                        break;
76
 
                default:
77
 
                        __glutWarning("unknown cursor\n");
78
 
                        return;
79
 
                }
80
 
        }
81
 
        be_app->SetCursor(cursorTable[realcursor]);
82
 
}
83
 
 
84
 
/***********************************************************
85
 
 *      FUNCTION:       glutWarpPointer (x.xx)
86
 
 *
87
 
 *      DESCRIPTION:  move the mouse pointer to a new location
88
 
 *              (note:  can't do this in BeOS!)
89
 
 ***********************************************************/
90
 
void glutWarpPointer(int x, int y) { }