mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-27 18:48:14 +02:00
124 lines
3 KiB
C
124 lines
3 KiB
C
|
|
/* Copyright (c) Mark J. Kilgard, 1994. */
|
|
|
|
/* This program is freely distributable without licensing fees
|
|
and is provided without guarantee or warrantee expressed or
|
|
implied. This program is -not- in the public domain. */
|
|
|
|
#ifdef __VMS
|
|
#include <GL/vms_x_fix.h>
|
|
#endif
|
|
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <assert.h>
|
|
|
|
#if !defined(_WIN32)
|
|
#include <X11/Xlib.h>
|
|
#include <X11/Xutil.h>
|
|
#include <X11/Xatom.h> /* for XA_STRING atom */
|
|
#endif
|
|
|
|
#include "glutint.h"
|
|
|
|
/* CENTRY */
|
|
void GLUTAPIENTRY
|
|
glutSetWindowTitle(const char *title)
|
|
{
|
|
XTextProperty textprop;
|
|
|
|
assert(!__glutCurrentWindow->parent);
|
|
IGNORE_IN_GAME_MODE();
|
|
textprop.value = (unsigned char *) title;
|
|
textprop.encoding = XA_STRING;
|
|
textprop.format = 8;
|
|
textprop.nitems = strlen(title);
|
|
XSetWMName(__glutDisplay,
|
|
__glutCurrentWindow->win, &textprop);
|
|
XFlush(__glutDisplay);
|
|
}
|
|
|
|
void GLUTAPIENTRY
|
|
glutSetIconTitle(const char *title)
|
|
{
|
|
XTextProperty textprop;
|
|
|
|
assert(!__glutCurrentWindow->parent);
|
|
IGNORE_IN_GAME_MODE();
|
|
textprop.value = (unsigned char *) title;
|
|
textprop.encoding = XA_STRING;
|
|
textprop.format = 8;
|
|
textprop.nitems = strlen(title);
|
|
XSetWMIconName(__glutDisplay,
|
|
__glutCurrentWindow->win, &textprop);
|
|
XFlush(__glutDisplay);
|
|
}
|
|
|
|
void GLUTAPIENTRY
|
|
glutPositionWindow(int x, int y)
|
|
{
|
|
IGNORE_IN_GAME_MODE();
|
|
__glutCurrentWindow->desiredX = x;
|
|
__glutCurrentWindow->desiredY = y;
|
|
__glutCurrentWindow->desiredConfMask |= CWX | CWY;
|
|
__glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
|
|
}
|
|
|
|
void GLUTAPIENTRY
|
|
glutReshapeWindow(int w, int h)
|
|
{
|
|
IGNORE_IN_GAME_MODE();
|
|
if (w <= 0 || h <= 0)
|
|
__glutWarning("glutReshapeWindow: non-positive width or height not allowed");
|
|
|
|
__glutCurrentWindow->desiredWidth = w;
|
|
__glutCurrentWindow->desiredHeight = h;
|
|
__glutCurrentWindow->desiredConfMask |= CWWidth | CWHeight;
|
|
__glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
|
|
}
|
|
|
|
void GLUTAPIENTRY
|
|
glutPopWindow(void)
|
|
{
|
|
IGNORE_IN_GAME_MODE();
|
|
__glutCurrentWindow->desiredStack = Above;
|
|
__glutCurrentWindow->desiredConfMask |= CWStackMode;
|
|
__glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
|
|
}
|
|
|
|
void GLUTAPIENTRY
|
|
glutPushWindow(void)
|
|
{
|
|
IGNORE_IN_GAME_MODE();
|
|
__glutCurrentWindow->desiredStack = Below;
|
|
__glutCurrentWindow->desiredConfMask |= CWStackMode;
|
|
__glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
|
|
}
|
|
|
|
void GLUTAPIENTRY
|
|
glutIconifyWindow(void)
|
|
{
|
|
IGNORE_IN_GAME_MODE();
|
|
assert(!__glutCurrentWindow->parent);
|
|
__glutCurrentWindow->desiredMapState = IconicState;
|
|
__glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
|
|
}
|
|
|
|
void GLUTAPIENTRY
|
|
glutShowWindow(void)
|
|
{
|
|
IGNORE_IN_GAME_MODE();
|
|
__glutCurrentWindow->desiredMapState = NormalState;
|
|
__glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
|
|
}
|
|
|
|
void GLUTAPIENTRY
|
|
glutHideWindow(void)
|
|
{
|
|
IGNORE_IN_GAME_MODE();
|
|
__glutCurrentWindow->desiredMapState = WithdrawnState;
|
|
__glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
|
|
}
|
|
|
|
/* ENDCENTRY */
|