| /* |
| Copyright (c) 1999 XFree86 Inc |
| */ |
| /* $XFree86: xc/include/extensions/xf86dga.h,v 3.21 2001/08/01 00:44:36 tsi Exp $ */ |
| |
| #ifndef _XF86DGA_H_ |
| #define _XF86DGA_H_ |
| |
| #include <X11/Xfuncproto.h> |
| #include "xf86dga1.h" |
| #include "SDL_name.h" |
| |
| #define X_XDGAQueryVersion 0 |
| |
| /* 1 through 9 are in xf86dga1.h */ |
| |
| /* 10 and 11 are reserved to avoid conflicts with rogue DGA extensions */ |
| |
| #define X_XDGAQueryModes 12 |
| #define X_XDGASetMode 13 |
| #define X_XDGASetViewport 14 |
| #define X_XDGAInstallColormap 15 |
| #define X_XDGASelectInput 16 |
| #define X_XDGAFillRectangle 17 |
| #define X_XDGACopyArea 18 |
| #define X_XDGACopyTransparentArea 19 |
| #define X_XDGAGetViewportStatus 20 |
| #define X_XDGASync 21 |
| #define X_XDGAOpenFramebuffer 22 |
| #define X_XDGACloseFramebuffer 23 |
| #define X_XDGASetClientVersion 24 |
| #define X_XDGAChangePixmapMode 25 |
| #define X_XDGACreateColormap 26 |
| |
| |
| #define XDGAConcurrentAccess 0x00000001 |
| #define XDGASolidFillRect 0x00000002 |
| #define XDGABlitRect 0x00000004 |
| #define XDGABlitTransRect 0x00000008 |
| #define XDGAPixmap 0x00000010 |
| |
| #define XDGAInterlaced 0x00010000 |
| #define XDGADoublescan 0x00020000 |
| |
| #define XDGAFlipImmediate 0x00000001 |
| #define XDGAFlipRetrace 0x00000002 |
| |
| #define XDGANeedRoot 0x00000001 |
| |
| #define XF86DGANumberEvents 7 |
| |
| #define XDGAPixmapModeLarge 0 |
| #define XDGAPixmapModeSmall 1 |
| |
| #define XF86DGAClientNotLocal 0 |
| #define XF86DGANoDirectVideoMode 1 |
| #define XF86DGAScreenNotActive 2 |
| #define XF86DGADirectNotActivated 3 |
| #define XF86DGAOperationNotSupported 4 |
| #define XF86DGANumberErrors (XF86DGAOperationNotSupported + 1) |
| |
| |
| typedef struct { |
| int num; /* A unique identifier for the mode (num > 0) */ |
| char *name; /* name of mode given in the XF86Config */ |
| float verticalRefresh; |
| int flags; /* DGA_CONCURRENT_ACCESS, etc... */ |
| int imageWidth; /* linear accessible portion (pixels) */ |
| int imageHeight; |
| int pixmapWidth; /* Xlib accessible portion (pixels) */ |
| int pixmapHeight; /* both fields ignored if no concurrent access */ |
| int bytesPerScanline; |
| int byteOrder; /* MSBFirst, LSBFirst */ |
| int depth; |
| int bitsPerPixel; |
| unsigned long redMask; |
| unsigned long greenMask; |
| unsigned long blueMask; |
| short visualClass; |
| int viewportWidth; |
| int viewportHeight; |
| int xViewportStep; /* viewport position granularity */ |
| int yViewportStep; |
| int maxViewportX; /* max viewport origin */ |
| int maxViewportY; |
| int viewportFlags; /* types of page flipping possible */ |
| int reserved1; |
| int reserved2; |
| } SDL_NAME(XDGAMode); |
| |
| |
| typedef struct { |
| SDL_NAME(XDGAMode) mode; |
| unsigned char *data; |
| Pixmap pixmap; |
| } SDL_NAME(XDGADevice); |
| |
| |
| #ifndef _XF86DGA_SERVER_ |
| _XFUNCPROTOBEGIN |
| |
| typedef struct { |
| int type; |
| unsigned long serial; |
| Display *display; |
| int screen; |
| Time time; |
| unsigned int state; |
| unsigned int button; |
| } SDL_NAME(XDGAButtonEvent); |
| |
| typedef struct { |
| int type; |
| unsigned long serial; |
| Display *display; |
| int screen; |
| Time time; |
| unsigned int state; |
| unsigned int keycode; |
| } SDL_NAME(XDGAKeyEvent); |
| |
| typedef struct { |
| int type; |
| unsigned long serial; |
| Display *display; |
| int screen; |
| Time time; |
| unsigned int state; |
| int dx; |
| int dy; |
| } SDL_NAME(XDGAMotionEvent); |
| |
| typedef union { |
| int type; |
| SDL_NAME(XDGAButtonEvent) xbutton; |
| SDL_NAME(XDGAKeyEvent) xkey; |
| SDL_NAME(XDGAMotionEvent) xmotion; |
| long pad[24]; |
| } SDL_NAME(XDGAEvent); |
| |
| Bool SDL_NAME(XDGAQueryExtension)( |
| Display *dpy, |
| int *eventBase, |
| int *erroBase |
| ); |
| |
| Bool SDL_NAME(XDGAQueryVersion)( |
| Display *dpy, |
| int *majorVersion, |
| int *minorVersion |
| ); |
| |
| SDL_NAME(XDGAMode)* SDL_NAME(XDGAQueryModes)( |
| Display *dpy, |
| int screen, |
| int *num |
| ); |
| |
| SDL_NAME(XDGADevice)* SDL_NAME(XDGASetMode)( |
| Display *dpy, |
| int screen, |
| int mode |
| ); |
| |
| Bool SDL_NAME(XDGAOpenFramebuffer)( |
| Display *dpy, |
| int screen |
| ); |
| |
| void SDL_NAME(XDGACloseFramebuffer)( |
| Display *dpy, |
| int screen |
| ); |
| |
| void SDL_NAME(XDGASetViewport)( |
| Display *dpy, |
| int screen, |
| int x, |
| int y, |
| int flags |
| ); |
| |
| void SDL_NAME(XDGAInstallColormap)( |
| Display *dpy, |
| int screen, |
| Colormap cmap |
| ); |
| |
| Colormap SDL_NAME(XDGACreateColormap)( |
| Display *dpy, |
| int screen, |
| SDL_NAME(XDGADevice) *device, |
| int alloc |
| ); |
| |
| void SDL_NAME(XDGASelectInput)( |
| Display *dpy, |
| int screen, |
| long event_mask |
| ); |
| |
| void SDL_NAME(XDGAFillRectangle)( |
| Display *dpy, |
| int screen, |
| int x, |
| int y, |
| unsigned int width, |
| unsigned int height, |
| unsigned long color |
| ); |
| |
| |
| void SDL_NAME(XDGACopyArea)( |
| Display *dpy, |
| int screen, |
| int srcx, |
| int srcy, |
| unsigned int width, |
| unsigned int height, |
| int dstx, |
| int dsty |
| ); |
| |
| |
| void SDL_NAME(XDGACopyTransparentArea)( |
| Display *dpy, |
| int screen, |
| int srcx, |
| int srcy, |
| unsigned int width, |
| unsigned int height, |
| int dstx, |
| int dsty, |
| unsigned long key |
| ); |
| |
| int SDL_NAME(XDGAGetViewportStatus)( |
| Display *dpy, |
| int screen |
| ); |
| |
| void SDL_NAME(XDGASync)( |
| Display *dpy, |
| int screen |
| ); |
| |
| Bool SDL_NAME(XDGASetClientVersion)( |
| Display *dpy |
| ); |
| |
| void SDL_NAME(XDGAChangePixmapMode)( |
| Display *dpy, |
| int screen, |
| int *x, |
| int *y, |
| int mode |
| ); |
| |
| |
| void SDL_NAME(XDGAKeyEventToXKeyEvent)(SDL_NAME(XDGAKeyEvent)* dk, XKeyEvent* xk); |
| |
| |
| _XFUNCPROTOEND |
| #endif /* _XF86DGA_SERVER_ */ |
| #endif /* _XF86DGA_H_ */ |