Logo Search packages:      
Sourcecode: x11proto-xf86dga version File versions  Download package

xf86dga.h

/*
   Copyright (c) 1999  XFree86 Inc
*/
/* $XFree86: xc/include/extensions/xf86dga.h,v 3.20 1999/10/13 04:20:48 dawes Exp $ */

#ifndef _XF86DGA_H_
#define _XF86DGA_H_

#include <X11/Xfuncproto.h>
#include <X11/extensions/xf86dga1.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;
} XDGAMode;


typedef struct {
   XDGAMode mode;
   unsigned char *data;
   Pixmap pixmap;
} XDGADevice;


#ifndef _XF86DGA_SERVER_
_XFUNCPROTOBEGIN

typedef struct {
   int type;
   unsigned long serial;
   Display *display;
   int screen;
   Time time;
   unsigned int state;
   unsigned int button;
} XDGAButtonEvent;

typedef struct {
   int type;
   unsigned long serial;
   Display *display;
   int screen;
   Time time;
   unsigned int state;
   unsigned int keycode;
} XDGAKeyEvent;

typedef struct {
   int type;
   unsigned long serial;
   Display *display;
   int screen;
   Time time;
   unsigned int state;
   int dx;
   int dy;
} XDGAMotionEvent;

typedef union {
  int type;
  XDGAButtonEvent xbutton;
  XDGAKeyEvent      xkey;
  XDGAMotionEvent xmotion;
  long              pad[24];
} XDGAEvent;

Bool XDGAQueryExtension(
    Display       *dpy,
    int     *eventBase,
    int     *erroBase
);

Bool XDGAQueryVersion(
    Display       *dpy,
    int     *majorVersion,
    int     *minorVersion
);

XDGAMode* XDGAQueryModes(
    Display *dpy,
    int     screen,
    int           *num
);

XDGADevice* XDGASetMode(
    Display *dpy,
    int           screen,
    int           mode
);

Bool XDGAOpenFramebuffer(
    Display *dpy,
    int     screen
);

void XDGACloseFramebuffer(
    Display *dpy,
    int           screen
);

void XDGASetViewport(
    Display *dpy,
    int           screen,
    int           x,
    int           y,
    int           flags
);

void XDGAInstallColormap(
    Display *dpy,
    int           screen,
    Colormap      cmap
);

Colormap XDGACreateColormap(
    Display *dpy,
    int     screen,
    XDGADevice  *device,
    int     alloc
);

void XDGASelectInput(
    Display *dpy,
    int           screen,
    long    event_mask
);

void XDGAFillRectangle(
    Display *dpy,
    int           screen,
    int           x,
    int           y,
    unsigned int  width,
    unsigned int  height,
    unsigned long color
);


void XDGACopyArea(
    Display *dpy,
    int           screen,
    int           srcx,
    int           srcy,
    unsigned int  width,
    unsigned int  height,
    int           dstx,
    int           dsty
);


void XDGACopyTransparentArea(
    Display *dpy,
    int           screen,
    int           srcx,
    int           srcy,
    unsigned int  width,
    unsigned int  height,
    int           dstx,
    int           dsty,
    unsigned long key
);

int XDGAGetViewportStatus(
    Display *dpy,
    int           screen
);
   
void XDGASync(
    Display *dpy,
    int           screen
);

Bool XDGASetClientVersion(
    Display *dpy
);

void XDGAChangePixmapMode(
    Display       *dpy,
    int           screen,
    int           *x,
    int           *y,
    int           mode
);


void XDGAKeyEventToXKeyEvent(XDGAKeyEvent* dk, XKeyEvent* xk);


_XFUNCPROTOEND
#endif /* _XF86DGA_SERVER_ */
#endif /* _XF86DGA_H_ */

Generated by  Doxygen 1.6.0   Back to index