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

📄 win32_x11.h

📁 mesa-6.5-minigui源码
💻 H
字号:
#ifndef __win32_x11_h__#define __win32_x11_h__/* Copyright (c) Nate Robins, 1997. *//* 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. */#include <stdlib.h>#include <windows.h>/* These definitions are missing from windows.h */WINGDIAPI int WINAPI wglChoosePixelFormat(HDC, PIXELFORMATDESCRIPTOR *);WINGDIAPI int WINAPI wglDescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);WINGDIAPI int WINAPI wglGetPixelFormat(HDC);WINGDIAPI BOOL WINAPI wglSetPixelFormat(HDC, int, PIXELFORMATDESCRIPTOR *);WINGDIAPI BOOL WINAPI wglSwapBuffers(HDC);/* Type definitions (conversions) */typedef int Visual;			/* Win32 equivalent of X11 type */typedef HWND Window;typedef HPALETTE Colormap;typedef PIXELFORMATDESCRIPTOR XVisualInfo;typedef BOOL Bool;typedef MSG XEvent;typedef HDC Display;typedef HCURSOR Cursor;typedef int Atom;			/* dummies */typedef int XDevice;typedef int Status;#define True  TRUE			/* Win32 equivalents of X11 booleans */#define False FALSE#define None                 0L	/* universal null resource or null atom *//* Input Event Masks. Used as event-mask window attribute and as arguments   to Grab requests.  Not to be confused with event names.  */#define NoEventMask			0L#define KeyPressMask			(1L<<0)  #define KeyReleaseMask			(1L<<1)  #define ButtonPressMask			(1L<<2)  #define ButtonReleaseMask		(1L<<3)  #define EnterWindowMask			(1L<<4)  #define LeaveWindowMask			(1L<<5)  #define PointerMotionMask		(1L<<6)  #define PointerMotionHintMask		(1L<<7)  #define Button1MotionMask		(1L<<8)  #define Button2MotionMask		(1L<<9)  #define Button3MotionMask		(1L<<10) #define Button4MotionMask		(1L<<11) #define Button5MotionMask		(1L<<12) #define ButtonMotionMask		(1L<<13) #define KeymapStateMask			(1L<<14)#define ExposureMask			(1L<<15) #define VisibilityChangeMask		(1L<<16) #define StructureNotifyMask		(1L<<17) #define ResizeRedirectMask		(1L<<18) #define SubstructureNotifyMask		(1L<<19) #define SubstructureRedirectMask	(1L<<20) #define FocusChangeMask			(1L<<21) #define PropertyChangeMask		(1L<<22) #define ColormapChangeMask		(1L<<23) #define OwnerGrabButtonMask		(1L<<24) /* Key masks. Used as modifiers to GrabButton and GrabKey, results of   QueryPointer, state in various key-, mouse-, and button-related   events. */#define ShiftMask		(1<<0)#define LockMask		(1<<1)#define ControlMask		(1<<2)#define Mod1Mask		(1<<3)#define Mod2Mask		(1<<4)#define Mod3Mask		(1<<5)#define Mod4Mask		(1<<6)#define Mod5Mask		(1<<7)/* Window classes used by CreateWindow *//* Note that CopyFromParent is already defined as 0 above */#define InputOutput		1#define InputOnly		2/* Window attributes for CreateWindow and ChangeWindowAttributes */#define CWBackPixmap		(1L<<0)#define CWBackPixel		(1L<<1)#define CWBorderPixmap		(1L<<2)#define CWBorderPixel           (1L<<3)#define CWBitGravity		(1L<<4)#define CWWinGravity		(1L<<5)#define CWBackingStore          (1L<<6)#define CWBackingPlanes	        (1L<<7)#define CWBackingPixel	        (1L<<8)#define CWOverrideRedirect	(1L<<9)#define CWSaveUnder		(1L<<10)#define CWEventMask		(1L<<11)#define CWDontPropagate	        (1L<<12)#define CWColormap		(1L<<13)#define CWCursor	        (1L<<14)/* ConfigureWindow structure */#define CWX			(1<<0)#define CWY			(1<<1)#define CWWidth			(1<<2)#define CWHeight		(1<<3)#define CWBorderWidth		(1<<4)#define CWSibling		(1<<5)#define CWStackMode		(1<<6)/* Used in GetWindowAttributes reply */#define IsUnmapped		0#define IsUnviewable		1#define IsViewable		2/* Window stacking method (in configureWindow) */#define Above                   0#define Below                   1#define TopIf                   2#define BottomIf                3#define Opposite                4/* For CreateColormap */#define AllocNone		0	/* create map with no entries */#define AllocAll		1	/* allocate entire map writeable *//* Flags used in StoreNamedColor, StoreColors */#define DoRed			(1<<0)#define DoGreen			(1<<1)#define DoBlue			(1<<2)/*  * Bitmask returned by XParseGeometry().  Each bit tells if the corresponding * value (x, y, width, height) was found in the parsed string. */#define NoValue		0x0000#define XValue  	0x0001#define YValue		0x0002#define WidthValue  	0x0004#define HeightValue  	0x0008#define AllValues 	0x000F#define XNegative 	0x0010#define YNegative 	0x0020/* flags argument in size hints */#define USPosition	(1L << 0) /* user specified x, y */#define USSize		(1L << 1) /* user specified width, height *//* definitions for initial window state */#define WithdrawnState 0	/* for windows that are not mapped */#define NormalState 1	/* most applications want to start this way */#define IconicState 3	/* application wants to start as an icon */#define GameModeState 4  /* Win32 GLUT only (not in Xlib!). *//* Type definitions */typedef struct {    unsigned int background_pixmap;	/* background pixmap */    unsigned long background_pixel;	/* background pixel */    unsigned long border_pixel;	/* border pixel value */    long event_mask;		/* set of events that should be saved */    long do_not_propagate_mask;	/* set of events that should not propagate */    Bool override_redirect;	   /* boolean value for override-redirect */    Colormap colormap;		   /* color map to be associated with window */} XSetWindowAttributes;typedef struct {  unsigned long pixel;  unsigned short red, green, blue;  char flags;  /* do_red, do_green, do_blue */} XColor;typedef struct {  unsigned char *value;	   /* same as Property routines */  Atom encoding;	   /* prop type */  int format;		   /* prop data format: 8, 16, or 32 */  unsigned long nitems;	   /* number of data items in value */} XTextProperty;typedef struct {  long flags;	        /* marks which fields in this structure are defined */  int x, y;		/* obsolete for new window mgrs, but clients */  int width, height;	/* should set so old wm's don't mess up */} XSizeHints;/* Functions emulated by macros. */#define XFreeColormap(display, colormap) \  DeleteObject(colormap)#define XCreateFontCursor(display, shape) \  LoadCursor(NULL, shape)#define XDefineCursor(display, window, cursor) \  SetCursor(cursor)#define XFlush(display) \  /* Nothing. */#define DisplayWidth(display, screen) \  GetSystemMetrics(SM_CXSCREEN)#define DisplayHeight(display, screen) \  GetSystemMetrics(SM_CYSCREEN)#define XMapWindow(display, window) \  ShowWindow(window, SW_SHOWNORMAL)#define XUnmapWindow(display, window) \  ShowWindow(window, SW_HIDE)#define XIconifyWindow(display, window, screen) \  ShowWindow(window, SW_MINIMIZE)#define XWithdrawWindow(display, window, screen) \  ShowWindow(window, SW_HIDE)#define XLowerWindow(display, window) \  SetWindowPos(window, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE)#define XSetWMName(display, window, tp) \  SetWindowText(window, (tp)->value)/* There really isn't a way to set the icon name separate from the   windows name in Win32, so, just set the windows name. */#define XSetWMIconName(display, window, tp) \  XSetWMName(display, window, tp)#define XDestroyWindow(display, window) \  DestroyWindow(window)/* Anything that needs to be freed was allocated with malloc in our   fake X windows library for Win32, so free it with plain old   free(). */#define XFree(data) \  free(data)/* Nothing to be done for this...the pointer is always 'ungrabbed'   in Win32. */#define XUngrabPointer(display, time) \  /* Nothing. *//* Function prototypes. */extern XVisualInfo* XGetVisualInfo(  Display* display,  long mask,  XVisualInfo* ttemplate,  /* Avoid class with C++ keyword. */  int*nitems);extern Colormap XCreateColormap(  Display* display,  Window root,  Visual* visual,  int alloc);extern void XAllocColorCells(  Display* display,  Colormap colormap,  Bool contig,   unsigned long plane_masks_return[],  unsigned int nplanes,  unsigned long pixels_return[],  unsigned int npixels);extern void XStoreColor(  Display* display,  Colormap colormap,  XColor* color);extern void XSetWindowColormap(  Display* display,  Window window,  Colormap colormap);extern Bool XTranslateCoordinates(  Display *display,  Window src, Window dst,   int src_x, int src_y,   int* dest_x_return, int* dest_y_return,  Window* child_return);extern Status XGetGeometry(  Display* display,  Window window,  Window* root_return,   int* x_return, int* y_return,   unsigned int* width_return, unsigned int* height_return,  unsigned int *border_width_return,  unsigned int* depth_return);extern int DisplayWidthMM(  Display* display,  int screen);extern int DisplayHeightMM(  Display* display,  int screen);extern void XWarpPointer(  Display* display,  Window src, Window dst,   int src_x, int src_y,  int src_width, int src_height,   int dst_x, int dst_y);extern int XParseGeometry(  char* string,  int* x, int* y,   unsigned int* width, unsigned int* height);extern int XPending(  Display* display);#endif /* __win32_x11_h__ */

⌨️ 快捷键说明

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