2001-02-19 21:15:25 +00:00
|
|
|
/*
|
|
|
|
context_x11.h
|
|
|
|
|
|
|
|
(description)
|
|
|
|
|
|
|
|
Copyright (C) 1996-1997 Id Software, Inc.
|
|
|
|
Copyright (C) 1999,2000 contributors of the QuakeForge project
|
|
|
|
Please see the file "AUTHORS" for a list of contributors
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU General Public License
|
|
|
|
as published by the Free Software Foundation; either version 2
|
|
|
|
of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
|
|
|
|
See the GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to:
|
|
|
|
|
|
|
|
Free Software Foundation, Inc.
|
|
|
|
59 Temple Place - Suite 330
|
|
|
|
Boston, MA 02111-1307, USA
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __context_x11_h_
|
|
|
|
#define __context_x11_h_
|
|
|
|
|
|
|
|
#include <X11/Xlib.h>
|
|
|
|
#include <X11/Xutil.h>
|
|
|
|
|
2001-05-20 00:56:09 +00:00
|
|
|
#include <QF/qtypes.h>
|
2001-02-19 21:15:25 +00:00
|
|
|
|
2004-03-21 00:34:24 +00:00
|
|
|
|
|
|
|
#define X11_WINDOW_MASK (VisibilityChangeMask | StructureNotifyMask \
|
|
|
|
| ExposureMask)
|
|
|
|
#define X11_KEY_MASK (KeyPressMask | KeyReleaseMask)
|
|
|
|
#define X11_MOUSE_MASK (ButtonPressMask | ButtonReleaseMask \
|
|
|
|
| PointerMotionMask)
|
2021-11-22 04:16:05 +00:00
|
|
|
#define X11_FOCUS_MASK (FocusChangeMask | EnterWindowMask | LeaveWindowMask)
|
2004-03-21 00:34:24 +00:00
|
|
|
#define X11_INPUT_MASK (X11_KEY_MASK | X11_MOUSE_MASK | X11_FOCUS_MASK)
|
2004-03-21 05:39:59 +00:00
|
|
|
#define X11_MASK (X11_WINDOW_MASK | X11_FOCUS_MASK | PointerMotionMask)
|
2004-03-21 00:34:24 +00:00
|
|
|
|
2001-02-19 21:15:25 +00:00
|
|
|
extern Display *x_disp;
|
2001-04-11 07:16:34 +00:00
|
|
|
extern Visual *x_vis;
|
|
|
|
extern Window x_root;
|
2001-02-19 21:15:25 +00:00
|
|
|
extern Window x_win;
|
2012-02-18 12:33:54 +00:00
|
|
|
extern Colormap x_cmap;
|
2001-04-11 07:16:34 +00:00
|
|
|
extern XVisualInfo *x_visinfo;
|
|
|
|
extern int x_screen;
|
2001-02-19 21:15:25 +00:00
|
|
|
extern int x_shmeventtype;
|
2002-01-08 20:07:19 +00:00
|
|
|
extern Time x_time;
|
2004-03-21 05:21:27 +00:00
|
|
|
extern Time x_mouse_time;
|
2001-02-19 21:15:25 +00:00
|
|
|
extern qboolean oktodraw;
|
2003-02-13 18:24:30 +00:00
|
|
|
extern qboolean x_have_focus;
|
2001-04-11 07:16:34 +00:00
|
|
|
|
|
|
|
qboolean X11_AddEvent (int event, void (*event_handler)(XEvent *));
|
|
|
|
qboolean X11_RemoveEvent (int event, void (*event_handler)(XEvent *));
|
|
|
|
qboolean X11_SetGamma (double);
|
|
|
|
void X11_CloseDisplay (void);
|
|
|
|
void X11_CreateNullCursor (void);
|
|
|
|
void X11_CreateWindow (int, int);
|
|
|
|
void X11_ForceViewPort (void);
|
|
|
|
void X11_Init_Cvars (void);
|
|
|
|
void X11_OpenDisplay (void);
|
|
|
|
void X11_ProcessEvent (void);
|
|
|
|
void X11_ProcessEvents (void);
|
2001-05-20 00:56:09 +00:00
|
|
|
void X11_RestoreGamma (void);
|
2001-04-11 07:16:34 +00:00
|
|
|
void X11_RestoreVidMode (void);
|
2001-07-15 07:04:17 +00:00
|
|
|
void X11_SetCaption (const char *);
|
2001-05-20 00:56:09 +00:00
|
|
|
void X11_SetVidMode (int, int);
|
2003-09-04 22:29:40 +00:00
|
|
|
void X11_SaveMouseAcceleration (void);
|
|
|
|
void X11_RemoveMouseAcceleration (void);
|
|
|
|
void X11_RestoreMouseAcceleration (void);
|
2001-02-19 21:15:25 +00:00
|
|
|
|
2019-07-08 16:00:47 +00:00
|
|
|
struct gl_ctx_s *X11_GL_Context (void);
|
|
|
|
void X11_GL_Init_Cvars (void);
|
|
|
|
|
|
|
|
struct sw_ctx_s *X11_SW_Context (void);
|
2021-07-10 15:09:41 +00:00
|
|
|
struct sw_ctx_s *X11_SW32_Context (void);
|
|
|
|
void X11_SW_Init_Cvars (void); // sw and sw32 cvars shared
|
2019-07-08 16:00:47 +00:00
|
|
|
|
|
|
|
struct vulkan_ctx_s *X11_Vulkan_Context (void);
|
|
|
|
void X11_Vulkan_Init_Cvars (void);
|
|
|
|
|
2001-02-19 21:15:25 +00:00
|
|
|
#endif // __context_x11_h_
|