Release 961117
[wine] / include / x11drv.h
1 /*
2  * X11 display driver definitions
3  */
4
5 #ifndef __WINE_X11DRV_H
6 #define __WINE_X11DRV_H
7
8 #include <X11/Xlib.h>
9 #include <X11/Xutil.h>
10
11 #include "windows.h"
12
13   /* X physical pen */
14 typedef struct
15 {
16     int          style;
17     int          pixel;
18     int          width;
19     char *       dashes;
20     int          dash_len;
21 } X_PHYSPEN;
22
23   /* X physical brush */
24 typedef struct
25 {
26     int          style;
27     int          fillStyle;
28     int          pixel;
29     Pixmap       pixmap;
30 } X_PHYSBRUSH;
31
32   /* X physical font */
33 typedef struct
34 {
35     XFontStruct * fstruct;
36     TEXTMETRIC16  metrics;
37 } X_PHYSFONT;
38
39   /* X physical device */
40 typedef struct
41 {
42     GC            gc;          /* X Window GC */
43     Drawable      drawable;
44     X_PHYSFONT    font;
45     X_PHYSPEN     pen;
46     X_PHYSBRUSH   brush;
47 } X11DRV_PDEVICE;
48
49 /* Wine driver X11 functions */
50
51 struct tagDC;
52
53 extern BOOL32 X11DRV_BitBlt( struct tagDC *dcDst, INT32 xDst, INT32 yDst,
54                              INT32 width, INT32 height, struct tagDC *dcSrc,
55                              INT32 xSrc, INT32 ySrc, DWORD rop );
56 extern BOOL32 X11DRV_GetTextExtentPoint( struct tagDC *dc, LPCSTR str,
57                                          INT32 count, LPSIZE32 size );
58 extern BOOL32 X11DRV_PatBlt( struct tagDC *dc, INT32 left, INT32 top,
59                              INT32 width, INT32 height, DWORD rop );
60 extern VOID X11DRV_SetDeviceClipping(struct tagDC *dc);
61 extern BOOL32 X11DRV_StretchBlt( struct tagDC *dcDst, INT32 xDst, INT32 yDst,
62                                  INT32 widthDst, INT32 heightDst,
63                                  struct tagDC *dcSrc, INT32 xSrc, INT32 ySrc,
64                                  INT32 widthSrc, INT32 heightSrc, DWORD rop );
65
66 #endif  /* __WINE_X11DRV_H */