6 APTR
__stdcall (*CreateDC
)(STRPTR lpszDriver
, STRPTR lpszDevice
, STRPTR lpszOutput
, APTR lpInitData
);
7 APTR
__stdcall (*CreateCompatibleDC
)(APTR hdc
);
8 LONG
__stdcall (*DeleteDC
)(APTR hdc
);
9 LONG
__stdcall (*GetDeviceCaps
)(APTR hdc
, LONG nIndex
);
10 APTR
__stdcall (*CreateBitmapIndirect
)(CONST BITMAP
*lpbm
);
11 APTR
__stdcall (*CreateCompatibleBitmap
)(APTR hdc
, ULONG nWidth
, ULONG nHeight
);
12 APTR
__stdcall (*CreateSolidBrush
)(ULONG crColor
);
13 LONG
__stdcall (*DeleteObject
)(APTR hObject
);
14 APTR
__stdcall (*SelectObject
)(APTR hdc
, APTR hgdiobj
);
15 ULONG
__stdcall (*SetBkColor
)(APTR hdc
, ULONG crColor
);
16 ULONG
__stdcall (*SetTextColor
)(APTR hdc
, ULONG crColor
);
17 ULONG
__stdcall (*SetROP2
)(APTR hdc
, ULONG fnDrawMode
);
18 LONG
__stdcall (*BitBlt
)(APTR hdcDest
, LONG nXDest
, LONG nYDest
, LONG nWidth
, LONG nHeight
, APTR hdcSrc
,
19 LONG nXSrc
, LONG nYSrc
, ULONG dwRop
);
20 LONG
__stdcall (*PatBlt
)(APTR hdc
, LONG nXLeft
, LONG nYLeft
, LONG nWidth
, LONG nHeight
, ULONG dwRop
);
21 ULONG
__stdcall (*GetPixel
)(APTR hdc
, LONG nXPos
, LONG nYPos
);
22 ULONG
__stdcall (*SetPixel
)(APTR hdc
, LONG X
, LONG Y
, ULONG crColor
);
23 LONG
__stdcall (*GetDIBits
)(APTR hdc
, APTR hbmp
, ULONG uStartScan
, ULONG cScanLines
,
24 void *lpvBits
, BITMAPINFO
*lpbi
, ULONG uUsage
);
25 LONG
__stdcall (*StretchDIBits
)(APTR hdc
, LONG XDest
, LONG YDest
, LONG nDestWidth
, LONG nDestHeight
,
26 LONG XSrc
, LONG YSrc
, LONG nSrcWidth
, LONG nSrcHeight
,
27 const void *lpBits
, const BITMAPINFO
*lpBitsInfo
, ULONG iUsage
, ULONG dwRop
);
32 APTR
__stdcall (*CreateIconIndirect
)(ICONINFO
*piconinfo
);
33 ULONG
__stdcall (*DestroyIcon
)(APTR hIcon
);
34 APTR
__stdcall (*SetCursor
)(APTR hCursor
);
35 ULONG
__stdcall (*SetWindowPos
)(APTR hWnd
, APTR hWndInsertAfter
, LONG X
, LONG Y
, LONG cx
, LONG cy
, ULONG uFlags
);
36 ULONG
__stdcall (*RedrawWindow
)(APTR hWnd
, CONST RECT
* lpRect
, APTR hrgnUpdate
, ULONG flags
);
41 struct GDI_Control
*(*GDI_Init
)(void);
42 void (*GDI_Shutdown
)(struct GDI_Control
*ctl
);
43 ULONG (*GDI_PutMsg
)(void *win
, ULONG msg
, IPTR wp
, IPTR lp
);
44 void (*GDI_KbdAck
)(void);
45 void (*GDI_MouseAck
)(void);
48 extern void *gdi_handle
;
49 extern struct gdi_func
*gdi_func
;
51 extern void *user_handle
;
52 extern struct user_func
*user_func
;
54 extern void *native_handle
;
55 extern struct native_func
*native_func
;
57 #define GDI_SOFILE "Gdi32.dll"
58 #define USER_SOFILE "User32.dll"
59 #define NATIVE_SOFILE "Libs\\Host\\wingdi.dll"
61 #define GDICALL(func,...) (gdi_func->func(__VA_ARGS__))
62 #define USERCALL(func,...) (user_func->func(__VA_ARGS__))
63 #define NATIVECALL(func,...) (native_func->func(__VA_ARGS__))