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

« back to all changes in this revision

Viewing changes to src/glut/glx/glut_winmisc.c

  • 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) Mark J. Kilgard, 1994.  */
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
 
#ifdef __VMS
9
 
#include <GL/vms_x_fix.h>
10
 
#endif
11
 
 
12
 
#include <stdlib.h>
13
 
#include <stdio.h>
14
 
#include <string.h>
15
 
#include <assert.h>
16
 
 
17
 
#if !defined(_WIN32)
18
 
#include <X11/Xlib.h>
19
 
#include <X11/Xutil.h>
20
 
#include <X11/Xatom.h>  /* for XA_STRING atom */
21
 
#endif
22
 
 
23
 
#include "glutint.h"
24
 
 
25
 
/* CENTRY */
26
 
void GLUTAPIENTRY 
27
 
glutSetWindowTitle(const char *title)
28
 
{
29
 
  XTextProperty textprop;
30
 
 
31
 
  assert(!__glutCurrentWindow->parent);
32
 
  IGNORE_IN_GAME_MODE();
33
 
  textprop.value = (unsigned char *) title;
34
 
  textprop.encoding = XA_STRING;
35
 
  textprop.format = 8;
36
 
  textprop.nitems = strlen(title);
37
 
  XSetWMName(__glutDisplay,
38
 
    __glutCurrentWindow->win, &textprop);
39
 
  XFlush(__glutDisplay);
40
 
}
41
 
 
42
 
void GLUTAPIENTRY 
43
 
glutSetIconTitle(const char *title)
44
 
{
45
 
  XTextProperty textprop;
46
 
 
47
 
  assert(!__glutCurrentWindow->parent);
48
 
  IGNORE_IN_GAME_MODE();
49
 
  textprop.value = (unsigned char *) title;
50
 
  textprop.encoding = XA_STRING;
51
 
  textprop.format = 8;
52
 
  textprop.nitems = strlen(title);
53
 
  XSetWMIconName(__glutDisplay,
54
 
    __glutCurrentWindow->win, &textprop);
55
 
  XFlush(__glutDisplay);
56
 
}
57
 
 
58
 
void GLUTAPIENTRY 
59
 
glutPositionWindow(int x, int y)
60
 
{
61
 
  IGNORE_IN_GAME_MODE();
62
 
  __glutCurrentWindow->desiredX = x;
63
 
  __glutCurrentWindow->desiredY = y;
64
 
  __glutCurrentWindow->desiredConfMask |= CWX | CWY;
65
 
  __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
66
 
}
67
 
 
68
 
void GLUTAPIENTRY 
69
 
glutReshapeWindow(int w, int h)
70
 
{
71
 
  IGNORE_IN_GAME_MODE();
72
 
  if (w <= 0 || h <= 0)
73
 
    __glutWarning("glutReshapeWindow: non-positive width or height not allowed");
74
 
 
75
 
  __glutCurrentWindow->desiredWidth = w;
76
 
  __glutCurrentWindow->desiredHeight = h;
77
 
  __glutCurrentWindow->desiredConfMask |= CWWidth | CWHeight;
78
 
  __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
79
 
}
80
 
 
81
 
void GLUTAPIENTRY 
82
 
glutPopWindow(void)
83
 
{
84
 
  IGNORE_IN_GAME_MODE();
85
 
  __glutCurrentWindow->desiredStack = Above;
86
 
  __glutCurrentWindow->desiredConfMask |= CWStackMode;
87
 
  __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
88
 
}
89
 
 
90
 
void GLUTAPIENTRY 
91
 
glutPushWindow(void)
92
 
{
93
 
  IGNORE_IN_GAME_MODE();
94
 
  __glutCurrentWindow->desiredStack = Below;
95
 
  __glutCurrentWindow->desiredConfMask |= CWStackMode;
96
 
  __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
97
 
}
98
 
 
99
 
void GLUTAPIENTRY 
100
 
glutIconifyWindow(void)
101
 
{
102
 
  IGNORE_IN_GAME_MODE();
103
 
  assert(!__glutCurrentWindow->parent);
104
 
  __glutCurrentWindow->desiredMapState = IconicState;
105
 
  __glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
106
 
}
107
 
 
108
 
void GLUTAPIENTRY 
109
 
glutShowWindow(void)
110
 
{
111
 
  IGNORE_IN_GAME_MODE();
112
 
  __glutCurrentWindow->desiredMapState = NormalState;
113
 
  __glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
114
 
}
115
 
 
116
 
void GLUTAPIENTRY 
117
 
glutHideWindow(void)
118
 
{
119
 
  IGNORE_IN_GAME_MODE();
120
 
  __glutCurrentWindow->desiredMapState = WithdrawnState;
121
 
  __glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
122
 
}
123
 
 
124
 
/* ENDCENTRY */