⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdl_x11video.h

📁 SDL库 在进行视频显示程序spcaview安装时必须的库文件
💻 H
字号:
/*    SDL - Simple DirectMedia Layer    Copyright (C) 1997-2006 Sam Lantinga    This library is free software; you can redistribute it and/or    modify it under the terms of the GNU Lesser General Public    License as published by the Free Software Foundation; either    version 2.1 of the License, or (at your option) any later version.    This library 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    Lesser General Public License for more details.    You should have received a copy of the GNU Lesser General Public    License along with this library; if not, write to the Free Software    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA    Sam Lantinga    slouken@libsdl.org*/#include "SDL_config.h"#ifndef _SDL_x11video_h#define _SDL_x11video_h#include <X11/Xlib.h>#include <X11/Xutil.h>#include <X11/Xatom.h>#include "SDL_mouse.h"#include "../SDL_sysvideo.h"#if SDL_VIDEO_DRIVER_X11_DGAMOUSE#include "../Xext/extensions/xf86dga.h"#endif#if SDL_VIDEO_DRIVER_X11_XINERAMA#include "../Xext/extensions/Xinerama.h"#endif #if SDL_VIDEO_DRIVER_X11_XRANDR#include <X11/extensions/Xrandr.h>#endif#if SDL_VIDEO_DRIVER_X11_VIDMODE#include "../Xext/extensions/xf86vmode.h"#endif#if SDL_VIDEO_DRIVER_X11_XME#include "../Xext/extensions/xme.h"#endif#if SDL_VIDEO_DRIVER_X11_DPMS#include <X11/extensions/dpms.h>#endif#include "SDL_x11dyn.h"/* Hidden "this" pointer for the video functions */#define _THIS	SDL_VideoDevice *this/* Private display data */struct SDL_PrivateVideoData {    int local_X11;		/* Flag: true if local display */    Display *X11_Display;	/* Used for events and window management */    Display *GFX_Display;	/* Used for graphics and colormap stuff */    Visual *SDL_Visual;		/* The visual used by our window */    Window WMwindow;		/* Input window, managed by window manager */    Window FSwindow;		/* Fullscreen window, completely unmanaged */    Window SDL_Window;		/* Shared by both displays (no X security?) */    Atom WM_DELETE_WINDOW;	/* "close-window" protocol atom */    WMcursor *BlankCursor;	/* The invisible cursor */    XIM X11_IM;		/* Used to communicate with the input method (IM) server */    XIC X11_IC;		/* Used for retaining the state, properties, and semantics of communication with                                                  the input method (IM) server */    char *SDL_windowid;		/* Flag: true if we have been passed a window */    /* Direct Graphics Access extension information */    int using_dga;#ifndef NO_SHARED_MEMORY    /* MIT shared memory extension information */    int use_mitshm;    XShmSegmentInfo shminfo;#endif    /* The variables used for displaying graphics */    XImage *Ximage;		/* The X image for our window */    GC	gc;			/* The graphic context for drawing */    /* The current width and height of the fullscreen mode */    int window_w;    int window_h;    /* Support for internal mouse warping */    struct {        int x;        int y;    } mouse_last;    struct {        int numerator;        int denominator;        int threshold;    } mouse_accel;    int mouse_relative;    /* The current list of available video modes */    SDL_Rect **modelist;    /* available visuals of interest to us, sorted deepest first */    struct {	Visual *visual;	int depth;		/* number of significant bits/pixel */	int bpp;		/* pixel quantum in bits */    } visuals[2*5];		/* at most 2 entries for 8, 15, 16, 24, 32 */    int nvisuals;    Visual *vis;		/* current visual in use */    int depth;			/* current visual depth (not bpp) */    /* Variables used by the X11 video mode code */#if SDL_VIDEO_DRIVER_X11_XINERAMA    SDL_NAME(XineramaScreenInfo) xinerama_info;#endif#if SDL_VIDEO_DRIVER_X11_XRANDR    XRRScreenConfiguration* screen_config;    int saved_size_id;    Rotation saved_rotation;#endif#if SDL_VIDEO_DRIVER_X11_VIDMODE    SDL_NAME(XF86VidModeModeInfo) saved_mode;    struct {        int x, y;    } saved_view;#endif#if SDL_VIDEO_DRIVER_X11_XME /* XiG XME fullscreen */    XiGMiscResolutionInfo saved_res;#endif    int use_xinerama;    int use_xrandr;    int use_vidmode;    int use_xme;    int currently_fullscreen;    int allow_screensaver;    /* Automatic mode switching support (entering/leaving fullscreen) */    Uint32 switch_waiting;    Uint32 switch_time;    /* Prevent too many XSync() calls */    int blit_queued;    /* Colormap handling */    Colormap DisplayColormap;	/* The default display colormap */    Colormap XColorMap;		/* The current window colormap */    int *XPixels;		/* pixels value allocation counts */    float gamma_saved[3];	/* Saved gamma values for VidMode gamma */    int gamma_changed;		/* flag: has VidMode gamma been modified? */    short *iconcolors;		/* List of colors used by the icon */    /* Screensaver settings */    int screensaver_timeout;    BOOL dpms_enabled;};/* Old variable names */#define local_X11		(this->hidden->local_X11)#define SDL_Display		(this->hidden->X11_Display)#define GFX_Display		(this->hidden->GFX_Display)#define SDL_Screen		DefaultScreen(this->hidden->X11_Display)#define SDL_Visual		(this->hidden->vis)#define SDL_Root		RootWindow(SDL_Display, SDL_Screen)#define WMwindow		(this->hidden->WMwindow)#define FSwindow		(this->hidden->FSwindow)#define SDL_Window		(this->hidden->SDL_Window)#define WM_DELETE_WINDOW	(this->hidden->WM_DELETE_WINDOW)#define SDL_BlankCursor		(this->hidden->BlankCursor)#define SDL_IM			(this->hidden->X11_IM)#define SDL_IC			(this->hidden->X11_IC)#define SDL_windowid		(this->hidden->SDL_windowid)#define using_dga		(this->hidden->using_dga)#define use_mitshm		(this->hidden->use_mitshm)#define shminfo			(this->hidden->shminfo)#define SDL_Ximage		(this->hidden->Ximage)#define SDL_GC			(this->hidden->gc)#define window_w		(this->hidden->window_w)#define window_h		(this->hidden->window_h)#define mouse_last		(this->hidden->mouse_last)#define mouse_accel		(this->hidden->mouse_accel)#define mouse_relative		(this->hidden->mouse_relative)#define SDL_modelist		(this->hidden->modelist)#define xinerama_info		(this->hidden->xinerama_info)#define saved_mode		(this->hidden->saved_mode)#define saved_view		(this->hidden->saved_view)#define saved_res		(this->hidden->saved_res)#define screen_config		(this->hidden->screen_config)#define saved_size_id		(this->hidden->saved_size_id)#define saved_rotation		(this->hidden->saved_rotation)#define use_xinerama		(this->hidden->use_xinerama)#define use_vidmode		(this->hidden->use_vidmode)#define use_xrandr		(this->hidden->use_xrandr)#define use_xme			(this->hidden->use_xme)#define currently_fullscreen	(this->hidden->currently_fullscreen)#define switch_waiting		(this->hidden->switch_waiting)#define switch_time		(this->hidden->switch_time)#define blit_queued		(this->hidden->blit_queued)#define SDL_DisplayColormap	(this->hidden->DisplayColormap)#define SDL_PrivateColormap	(this->hidden->PrivateColormap)#define SDL_XColorMap		(this->hidden->XColorMap)#define SDL_XPixels		(this->hidden->XPixels)#define gamma_saved		(this->hidden->gamma_saved)#define gamma_changed		(this->hidden->gamma_changed)#define SDL_iconcolors		(this->hidden->iconcolors)#define screensaver_timeout	(this->hidden->screensaver_timeout)#define dpms_enabled		(this->hidden->dpms_enabled)/* Some versions of XFree86 have bugs - detect if this is one of them */#define BUGGY_XFREE86(condition, buggy_version) \((SDL_strcmp(ServerVendor(SDL_Display), "The XFree86 Project, Inc") == 0) && \ (VendorRelease(SDL_Display) condition buggy_version))#endif /* _SDL_x11video_h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -