cscg22-gearboy

CSCG 2022 Challenge 'Gearboy'
git clone https://git.sinitax.com/sinitax/cscg22-gearboy
Log | Files | Refs | sfeed.txt

SDL_x11video.h (3192B)


      1/*
      2  Simple DirectMedia Layer
      3  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
      4
      5  This software is provided 'as-is', without any express or implied
      6  warranty.  In no event will the authors be held liable for any damages
      7  arising from the use of this software.
      8
      9  Permission is granted to anyone to use this software for any purpose,
     10  including commercial applications, and to alter it and redistribute it
     11  freely, subject to the following restrictions:
     12
     13  1. The origin of this software must not be misrepresented; you must not
     14     claim that you wrote the original software. If you use this software
     15     in a product, an acknowledgment in the product documentation would be
     16     appreciated but is not required.
     17  2. Altered source versions must be plainly marked as such, and must not be
     18     misrepresented as being the original software.
     19  3. This notice may not be removed or altered from any source distribution.
     20*/
     21#include "../../SDL_internal.h"
     22
     23#ifndef _SDL_x11video_h
     24#define _SDL_x11video_h
     25
     26#include "SDL_keycode.h"
     27
     28#include "../SDL_sysvideo.h"
     29
     30#include <X11/Xlib.h>
     31#include <X11/Xutil.h>
     32#include <X11/Xatom.h>
     33
     34#if SDL_VIDEO_DRIVER_X11_XCURSOR
     35#include <X11/Xcursor/Xcursor.h>
     36#endif
     37#if SDL_VIDEO_DRIVER_X11_XINERAMA
     38#include <X11/extensions/Xinerama.h>
     39#endif
     40#if SDL_VIDEO_DRIVER_X11_XINPUT2
     41#include <X11/extensions/XInput2.h>
     42#endif
     43#if SDL_VIDEO_DRIVER_X11_XRANDR
     44#include <X11/extensions/Xrandr.h>
     45#endif
     46#if SDL_VIDEO_DRIVER_X11_XSCRNSAVER
     47#include <X11/extensions/scrnsaver.h>
     48#endif
     49#if SDL_VIDEO_DRIVER_X11_XSHAPE
     50#include <X11/extensions/shape.h>
     51#endif
     52#if SDL_VIDEO_DRIVER_X11_XVIDMODE
     53#include <X11/extensions/xf86vmode.h>
     54#endif
     55
     56#include "../../core/linux/SDL_dbus.h"
     57#include "../../core/linux/SDL_ibus.h"
     58
     59#include "SDL_x11dyn.h"
     60
     61#include "SDL_x11clipboard.h"
     62#include "SDL_x11events.h"
     63#include "SDL_x11keyboard.h"
     64#include "SDL_x11modes.h"
     65#include "SDL_x11mouse.h"
     66#include "SDL_x11opengl.h"
     67#include "SDL_x11window.h"
     68
     69/* Private display data */
     70
     71typedef struct SDL_VideoData
     72{
     73    Display *display;
     74    char *classname;
     75    pid_t pid;
     76    XIM im;
     77    Uint32 screensaver_activity;
     78    int numwindows;
     79    SDL_WindowData **windowlist;
     80    int windowlistlength;
     81
     82    /* This is true for ICCCM2.0-compliant window managers */
     83    SDL_bool net_wm;
     84
     85    /* Useful atoms */
     86    Atom WM_PROTOCOLS;
     87    Atom WM_DELETE_WINDOW;
     88    Atom _NET_WM_STATE;
     89    Atom _NET_WM_STATE_HIDDEN;
     90    Atom _NET_WM_STATE_FOCUSED;
     91    Atom _NET_WM_STATE_MAXIMIZED_VERT;
     92    Atom _NET_WM_STATE_MAXIMIZED_HORZ;
     93    Atom _NET_WM_STATE_FULLSCREEN;
     94    Atom _NET_WM_ALLOWED_ACTIONS;
     95    Atom _NET_WM_ACTION_FULLSCREEN;
     96    Atom _NET_WM_NAME;
     97    Atom _NET_WM_ICON_NAME;
     98    Atom _NET_WM_ICON;
     99    Atom _NET_WM_PING;
    100    Atom _NET_ACTIVE_WINDOW;
    101    Atom UTF8_STRING;
    102    Atom PRIMARY;
    103    Atom XdndEnter;
    104    Atom XdndPosition;
    105    Atom XdndStatus;
    106    Atom XdndTypeList;
    107    Atom XdndActionCopy;
    108    Atom XdndDrop;
    109    Atom XdndFinished;
    110    Atom XdndSelection;
    111
    112    SDL_Scancode key_layout[256];
    113    SDL_bool selection_waiting;
    114
    115} SDL_VideoData;
    116
    117extern SDL_bool X11_UseDirectColorVisuals(void);
    118
    119#endif /* _SDL_x11video_h */
    120
    121/* vi: set ts=4 sw=4 expandtab: */