Patrik Stridvall | f638aef | 1998-12-07 09:36:13 +0000 | [diff] [blame] | 1 | /* |
| 2 | * TTY driver definitions |
| 3 | */ |
| 4 | |
| 5 | #ifndef __WINE_TTYDRV_H |
| 6 | #define __WINE_TTYDRV_H |
| 7 | |
Patrik Stridvall | 4d715fd | 1999-11-23 23:43:29 +0000 | [diff] [blame] | 8 | #include "config.h" |
| 9 | |
| 10 | #undef ERR |
| 11 | #ifdef HAVE_NCURSES_H |
| 12 | # include <ncurses.h> |
| 13 | #elif defined(HAVE_CURSES_H) |
| 14 | # include <curses.h> |
| 15 | #endif |
| 16 | |
Jim Aston | 2e1cafa | 1999-03-14 16:35:05 +0000 | [diff] [blame] | 17 | #include "windef.h" |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 18 | #include "wingdi.h" |
Patrik Stridvall | d96e1f1 | 1999-07-04 13:31:03 +0000 | [diff] [blame] | 19 | #include "dinput.h" |
| 20 | #include "wine/winuser16.h" |
Michael Veksler | 9d14a00 | 1999-05-08 12:40:24 +0000 | [diff] [blame] | 21 | #include "wine/wingdi16.h" |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 22 | |
Lionel Ulmer | c9713e5 | 1999-12-05 02:20:46 +0000 | [diff] [blame] | 23 | #include "keyboard.h" |
| 24 | |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 25 | struct tagBITMAPOBJ; |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 26 | struct tagCLASS; |
| 27 | struct tagDC; |
| 28 | struct tagDESKTOP; |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 29 | struct tagPALETTEOBJ; |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 30 | struct tagWND; |
Michael Veksler | 9d14a00 | 1999-05-08 12:40:24 +0000 | [diff] [blame] | 31 | struct tagCURSORICONINFO; |
| 32 | struct tagCREATESTRUCTA; |
| 33 | struct tagWINDOWPOS; |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 34 | |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 35 | /************************************************************************** |
| 36 | * TTY GDI driver |
| 37 | */ |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 38 | |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 39 | extern struct tagGDI_DRIVER TTYDRV_GDI_Driver; |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 40 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 41 | extern BOOL TTYDRV_GDI_Initialize(void); |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 42 | extern void TTYDRV_GDI_Finalize(void); |
| 43 | |
| 44 | /* TTY GDI bitmap driver */ |
| 45 | |
| 46 | extern HBITMAP TTYDRV_BITMAP_CreateDIBSection(struct tagDC *dc, BITMAPINFO *bmi, UINT usage, LPVOID *bits, HANDLE section, DWORD offset); |
| 47 | extern HBITMAP16 TTYDRV_BITMAP_CreateDIBSection16(struct tagDC *dc, BITMAPINFO *bmi, UINT16 usage, SEGPTR *bits, HANDLE section, DWORD offset); |
| 48 | |
| 49 | extern INT TTYDRV_BITMAP_SetDIBits(struct tagBITMAPOBJ *bmp, struct tagDC *dc, UINT startscan, UINT lines, LPCVOID bits, const BITMAPINFO *info, UINT coloruse, HBITMAP hbitmap); |
| 50 | extern INT TTYDRV_BITMAP_GetDIBits(struct tagBITMAPOBJ *bmp, struct tagDC *dc, UINT startscan, UINT lines, LPVOID bits, BITMAPINFO *info, UINT coloruse, HBITMAP hbitmap); |
| 51 | extern void TTYDRV_BITMAP_DeleteDIBSection(struct tagBITMAPOBJ *bmp); |
| 52 | |
| 53 | typedef struct { |
Patrik Stridvall | 4d715fd | 1999-11-23 23:43:29 +0000 | [diff] [blame] | 54 | #ifdef HAVE_LIBCURSES |
| 55 | WINDOW *window; |
| 56 | #endif /* defined(HAVE_LIBCURSES) */ |
| 57 | int cellWidth; |
| 58 | int cellHeight; |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 59 | } TTYDRV_PDEVICE; |
| 60 | |
Patrik Stridvall | cf84434 | 1999-12-11 23:08:48 +0000 | [diff] [blame] | 61 | typedef struct { |
| 62 | int dummy; /* FIXME: Remove later */ |
| 63 | } TTYDRV_PHYSBITMAP; |
| 64 | |
| 65 | extern BOOL TTYDRV_DC_CreateBitmap(HBITMAP hbitmap); |
| 66 | |
Patrik Stridvall | 4d715fd | 1999-11-23 23:43:29 +0000 | [diff] [blame] | 67 | extern BOOL TTYDRV_DC_Arc(struct tagDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend); |
Patrik Stridvall | cf84434 | 1999-12-11 23:08:48 +0000 | [diff] [blame] | 68 | extern LONG TTYDRV_DC_BitmapBits(HBITMAP hbitmap, void *bits, LONG count, WORD flags); |
Patrik Stridvall | 4d715fd | 1999-11-23 23:43:29 +0000 | [diff] [blame] | 69 | extern BOOL TTYDRV_DC_CreateBitmap(HBITMAP hbitmap); |
Huw D M Davies | e39b676 | 1999-05-17 16:20:51 +0000 | [diff] [blame] | 70 | extern BOOL TTYDRV_DC_CreateDC(struct tagDC *dc, LPCSTR driver, LPCSTR device, LPCSTR output, const DEVMODEA *initData); |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 71 | extern BOOL TTYDRV_DC_DeleteDC(struct tagDC *dc); |
Patrik Stridvall | 4d715fd | 1999-11-23 23:43:29 +0000 | [diff] [blame] | 72 | extern BOOL TTYDRV_DC_DeleteObject(HGDIOBJ handle); |
| 73 | extern BOOL TTYDRV_DC_BitBlt(struct tagDC *dcDst, INT xDst, INT yDst, INT width, INT height, struct tagDC *dcSrc, INT xSrc, INT ySrc, DWORD rop); |
| 74 | extern BOOL TTYDRV_DC_Chord(struct tagDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend); |
| 75 | extern BOOL TTYDRV_DC_Ellipse(struct tagDC *dc, INT left, INT top, INT right, INT bottom); |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 76 | extern INT TTYDRV_DC_Escape(struct tagDC *dc, INT nEscape, INT cbInput, SEGPTR lpInData, SEGPTR lpOutData); |
Patrik Stridvall | 4d715fd | 1999-11-23 23:43:29 +0000 | [diff] [blame] | 77 | extern BOOL TTYDRV_DC_ExtFloodFill(struct tagDC *dc, INT x, INT y, COLORREF color, UINT fillType); |
| 78 | extern BOOL TTYDRV_DC_ExtTextOut(struct tagDC *dc, INT x, INT y, UINT flags, const RECT *lpRect, LPCSTR str, UINT count, const INT *lpDx); |
| 79 | extern BOOL TTYDRV_DC_GetCharWidth(struct tagDC *dc, UINT firstChar, UINT lastChar, LPINT buffer); |
| 80 | extern COLORREF TTYDRV_DC_GetPixel(struct tagDC *dc, INT x, INT y); |
| 81 | |
| 82 | extern BOOL TTYDRV_DC_GetTextExtentPoint(struct tagDC *dc, LPCSTR str, INT count, LPSIZE size); |
| 83 | extern BOOL TTYDRV_DC_GetTextMetrics(struct tagDC *dc, TEXTMETRICA *metrics); |
| 84 | extern BOOL TTYDRV_DC_LineTo(struct tagDC *dc, INT x, INT y); |
| 85 | extern HANDLE TTYDRV_DC_LoadOEMResource(WORD resid, WORD type); |
Patrik Stridvall | 4d715fd | 1999-11-23 23:43:29 +0000 | [diff] [blame] | 86 | extern BOOL TTYDRV_DC_PaintRgn(struct tagDC *dc, HRGN hrgn); |
| 87 | extern BOOL TTYDRV_DC_PatBlt(struct tagDC *dc, INT left, INT top, INT width, INT height, DWORD rop); |
| 88 | extern BOOL TTYDRV_DC_Pie(struct tagDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend); |
Huw D M Davies | f0f8da5 | 1999-12-05 23:54:02 +0000 | [diff] [blame] | 89 | extern BOOL TTYDRV_DC_PolyBezier(struct tagDC *dc, const POINT* BezierPoints, DWORD count); |
Patrik Stridvall | 4d715fd | 1999-11-23 23:43:29 +0000 | [diff] [blame] | 90 | extern BOOL TTYDRV_DC_Polygon(struct tagDC *dc, const POINT* pt, INT count); |
| 91 | extern BOOL TTYDRV_DC_Polyline(struct tagDC *dc, const POINT* pt, INT count); |
| 92 | extern BOOL TTYDRV_DC_PolyPolygon(struct tagDC *dc, const POINT* pt, const INT* counts, UINT polygons); |
| 93 | extern BOOL TTYDRV_DC_PolyPolyline(struct tagDC *dc, const POINT* pt, const DWORD* counts, DWORD polylines); |
| 94 | extern BOOL TTYDRV_DC_Rectangle(struct tagDC *dc, INT left, INT top, INT right, INT bottom); |
| 95 | extern BOOL TTYDRV_DC_RoundRect(struct tagDC *dc, INT left, INT top, INT right, INT bottom, INT ell_width, INT ell_height); |
| 96 | extern void TTYDRV_DC_SetDeviceClipping(struct tagDC *dc); |
| 97 | extern HGDIOBJ TTYDRV_DC_SelectObject(struct tagDC *dc, HGDIOBJ handle); |
| 98 | extern COLORREF TTYDRV_DC_SetBkColor(struct tagDC *dc, COLORREF color); |
| 99 | extern COLORREF TTYDRV_DC_SetPixel(struct tagDC *dc, INT x, INT y, COLORREF color); |
| 100 | extern COLORREF TTYDRV_DC_SetTextColor(struct tagDC *dc, COLORREF color); |
| 101 | extern BOOL TTYDRV_DC_StretchBlt(struct tagDC *dcDst, INT xDst, INT yDst, INT widthDst, INT heightDst, struct tagDC *dcSrc, INT xSrc, INT ySrc, INT widthSrc, INT heightSrc, DWORD rop); |
Patrik Stridvall | cf84434 | 1999-12-11 23:08:48 +0000 | [diff] [blame] | 102 | INT TTYDRV_DC_SetDIBitsToDevice(struct tagDC *dc, INT xDest, INT yDest, DWORD cx, DWORD cy, INT xSrc, INT ySrc, UINT startscan, UINT lines, LPCVOID bits, const BITMAPINFO *info, UINT coloruse); |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 103 | |
| 104 | /* TTY GDI palette driver */ |
| 105 | |
| 106 | extern struct tagPALETTE_DRIVER TTYDRV_PALETTE_Driver; |
| 107 | |
| 108 | extern BOOL TTYDRV_PALETTE_Initialize(void); |
| 109 | extern void TTYDRV_PALETTE_Finalize(void); |
| 110 | |
| 111 | extern int TTYDRV_PALETTE_SetMapping(struct tagPALETTEOBJ *palPtr, UINT uStart, UINT uNum, BOOL mapOnly); |
| 112 | extern int TTYDRV_PALETTE_UpdateMapping(struct tagPALETTEOBJ *palPtr); |
| 113 | extern BOOL TTYDRV_PALETTE_IsDark(int pixel); |
| 114 | |
| 115 | /************************************************************************** |
| 116 | * TTY USER driver |
| 117 | */ |
| 118 | |
| 119 | extern struct tagUSER_DRIVER TTYDRV_USER_Driver; |
| 120 | |
| 121 | extern BOOL TTYDRV_USER_Initialize(void); |
| 122 | extern void TTYDRV_USER_Finalize(void); |
| 123 | extern void TTYDRV_USER_BeginDebugging(void); |
| 124 | extern void TTYDRV_USER_EndDebugging(void); |
Patrik Stridvall | f638aef | 1998-12-07 09:36:13 +0000 | [diff] [blame] | 125 | |
| 126 | /* TTY clipboard driver */ |
| 127 | |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 128 | extern struct tagCLIPBOARD_DRIVER TTYDRV_CLIPBOARD_Driver; |
Patrik Stridvall | f638aef | 1998-12-07 09:36:13 +0000 | [diff] [blame] | 129 | |
Noel Borthwick | 2970067 | 1999-09-03 15:17:57 +0000 | [diff] [blame] | 130 | extern void TTYDRV_CLIPBOARD_Acquire(void); |
| 131 | extern void TTYDRV_CLIPBOARD_Release(void); |
Alex Korobka | 44a1b59 | 1999-04-01 12:03:52 +0000 | [diff] [blame] | 132 | extern void TTYDRV_CLIPBOARD_SetData(UINT wFormat); |
| 133 | extern BOOL TTYDRV_CLIPBOARD_GetData(UINT wFormat); |
Noel Borthwick | 2970067 | 1999-09-03 15:17:57 +0000 | [diff] [blame] | 134 | extern BOOL TTYDRV_CLIPBOARD_IsFormatAvailable(UINT wFormat); |
| 135 | extern BOOL TTYDRV_CLIPBOARD_RegisterFormat( LPCSTR FormatName ); |
| 136 | extern BOOL TTYDRV_CLIPBOARD_IsSelectionowner(); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 137 | extern void TTYDRV_CLIPBOARD_ResetOwner(struct tagWND *pWnd, BOOL bFooBar); |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 138 | |
| 139 | /* TTY desktop driver */ |
| 140 | |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 141 | extern struct tagDESKTOP_DRIVER TTYDRV_DESKTOP_Driver; |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 142 | |
Patrik Stridvall | 4d715fd | 1999-11-23 23:43:29 +0000 | [diff] [blame] | 143 | #ifdef HAVE_LIBCURSES |
| 144 | extern WINDOW *TTYDRV_DESKTOP_GetCursesRootWindow(struct tagDESKTOP *pDesktop); |
| 145 | #endif /* defined(HAVE_LIBCURSES) */ |
| 146 | |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 147 | extern void TTYDRV_DESKTOP_Initialize(struct tagDESKTOP *pDesktop); |
| 148 | extern void TTYDRV_DESKTOP_Finalize(struct tagDESKTOP *pDesktop); |
| 149 | extern int TTYDRV_DESKTOP_GetScreenWidth(struct tagDESKTOP *pDesktop); |
| 150 | extern int TTYDRV_DESKTOP_GetScreenHeight(struct tagDESKTOP *pDesktop); |
| 151 | extern int TTYDRV_DESKTOP_GetScreenDepth(struct tagDESKTOP *pDesktop); |
Patrik Stridvall | f638aef | 1998-12-07 09:36:13 +0000 | [diff] [blame] | 152 | |
| 153 | /* TTY event driver */ |
| 154 | |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 155 | extern struct tagEVENT_DRIVER TTYDRV_EVENT_Driver; |
Patrik Stridvall | f638aef | 1998-12-07 09:36:13 +0000 | [diff] [blame] | 156 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 157 | extern BOOL TTYDRV_EVENT_Init(void); |
Ulrich Weigand | 203780e | 1999-07-10 10:24:31 +0000 | [diff] [blame] | 158 | extern void TTYDRV_EVENT_Synchronize(void); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 159 | extern BOOL TTYDRV_EVENT_CheckFocus(void); |
Ulrich Weigand | 5c982c9 | 1999-05-22 18:59:15 +0000 | [diff] [blame] | 160 | extern void TTYDRV_EVENT_UserRepaintDisable(BOOL bDisable); |
Patrik Stridvall | f638aef | 1998-12-07 09:36:13 +0000 | [diff] [blame] | 161 | |
| 162 | /* TTY keyboard driver */ |
| 163 | |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 164 | extern struct tagKEYBOARD_DRIVER TTYDRV_KEYBOARD_Driver; |
Patrik Stridvall | f638aef | 1998-12-07 09:36:13 +0000 | [diff] [blame] | 165 | |
| 166 | extern void TTYDRV_KEYBOARD_Init(void); |
| 167 | extern WORD TTYDRV_KEYBOARD_VkKeyScan(CHAR cChar); |
| 168 | extern UINT16 TTYDRV_KEYBOARD_MapVirtualKey(UINT16 wCode, UINT16 wMapType); |
| 169 | extern INT16 TTYDRV_KEYBOARD_GetKeyNameText(LONG lParam, LPSTR lpBuffer, INT16 nSize); |
| 170 | extern INT16 TTYDRV_KEYBOARD_ToAscii(UINT16 virtKey, UINT16 scanCode, LPBYTE lpKeyState, LPVOID lpChar, UINT16 flags); |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 171 | extern BOOL TTYDRV_KEYBOARD_GetBeepActive(void); |
| 172 | extern void TTYDRV_KEYBOARD_SetBeepActive(BOOL bActivate); |
| 173 | extern void TTYDRV_KEYBOARD_Beep(void); |
Patrik Stridvall | d96e1f1 | 1999-07-04 13:31:03 +0000 | [diff] [blame] | 174 | extern BOOL TTYDRV_KEYBOARD_GetDIState(DWORD len, LPVOID ptr); |
| 175 | extern BOOL TTYDRV_KEYBOARD_GetDIData(BYTE *keystate, DWORD dodsize, LPDIDEVICEOBJECTDATA dod, LPDWORD entries, DWORD flags); |
Lionel Ulmer | c9713e5 | 1999-12-05 02:20:46 +0000 | [diff] [blame] | 176 | extern void TTYDRV_KEYBOARD_GetKeyboardConfig(KEYBOARD_CONFIG *cfg); |
| 177 | extern void TTYDRV_KEYBOARD_SetKeyboardConfig(KEYBOARD_CONFIG *cfg, DWORD mask); |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 178 | |
| 179 | /* TTY monitor driver */ |
| 180 | |
| 181 | extern struct tagMONITOR_DRIVER TTYDRV_MONITOR_Driver; |
| 182 | |
Patrik Stridvall | 4d715fd | 1999-11-23 23:43:29 +0000 | [diff] [blame] | 183 | typedef struct tagTTYDRV_MONITOR_DATA { |
| 184 | #ifdef HAVE_LIBCURSES |
| 185 | WINDOW *rootWindow; |
| 186 | #endif /* defined(HAVE_LIBCURSES) */ |
| 187 | int cellWidth; |
| 188 | int cellHeight; |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 189 | int width; |
| 190 | int height; |
| 191 | int depth; |
| 192 | } TTYDRV_MONITOR_DATA; |
| 193 | |
| 194 | struct tagMONITOR; |
| 195 | |
Patrik Stridvall | 4d715fd | 1999-11-23 23:43:29 +0000 | [diff] [blame] | 196 | #ifdef HAVE_LIBCURSES |
| 197 | extern WINDOW *TTYDRV_MONITOR_GetCursesRootWindow(struct tagMONITOR *pMonitor); |
| 198 | #endif /* defined(HAVE_LIBCURSES) */ |
| 199 | |
| 200 | extern INT TTYDRV_MONITOR_GetCellWidth(struct tagMONITOR *pMonitor); |
| 201 | extern INT TTYDRV_MONITOR_GetCellHeight(struct tagMONITOR *pMonitor); |
| 202 | |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 203 | extern void TTYDRV_MONITOR_Initialize(struct tagMONITOR *pMonitor); |
| 204 | extern void TTYDRV_MONITOR_Finalize(struct tagMONITOR *pMonitor); |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 205 | extern BOOL TTYDRV_MONITOR_IsSingleWindow(struct tagMONITOR *pMonitor); |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 206 | extern int TTYDRV_MONITOR_GetWidth(struct tagMONITOR *pMonitor); |
| 207 | extern int TTYDRV_MONITOR_GetHeight(struct tagMONITOR *pMonitor); |
| 208 | extern int TTYDRV_MONITOR_GetDepth(struct tagMONITOR *pMonitor); |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 209 | extern BOOL TTYDRV_MONITOR_GetScreenSaveActive(struct tagMONITOR *pMonitor); |
| 210 | extern void TTYDRV_MONITOR_SetScreenSaveActive(struct tagMONITOR *pMonitor, BOOL bActivate); |
| 211 | extern int TTYDRV_MONITOR_GetScreenSaveTimeout(struct tagMONITOR *pMonitor); |
| 212 | extern void TTYDRV_MONITOR_SetScreenSaveTimeout(struct tagMONITOR *pMonitor, int nTimeout); |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 213 | |
| 214 | /* TTY mouse driver */ |
| 215 | |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 216 | extern struct tagMOUSE_DRIVER TTYDRV_MOUSE_Driver; |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 217 | |
Lionel Ulmer | acc7467 | 1999-11-07 21:25:57 +0000 | [diff] [blame] | 218 | extern void TTYDRV_MOUSE_Init(); |
Michael Veksler | 9d14a00 | 1999-05-08 12:40:24 +0000 | [diff] [blame] | 219 | extern void TTYDRV_MOUSE_SetCursor(struct tagCURSORICONINFO *lpCursor); |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 220 | extern void TTYDRV_MOUSE_MoveCursor(WORD wAbsX, WORD wAbsY); |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 221 | extern BOOL TTYDRV_MOUSE_EnableWarpPointer(BOOL bEnable); |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 222 | |
| 223 | /* TTY windows driver */ |
| 224 | |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 225 | extern struct tagWND_DRIVER TTYDRV_WND_Driver; |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 226 | |
Patrik Stridvall | 4d715fd | 1999-11-23 23:43:29 +0000 | [diff] [blame] | 227 | typedef struct tagTTYDRV_WND_DATA { |
| 228 | #ifdef HAVE_LIBCURSES |
| 229 | WINDOW *window; |
| 230 | #else /* defined(HAVE_LIBCURSES) */ |
| 231 | int dummy; /* FIXME: Remove later */ |
| 232 | #endif /* defined(HAVE_LIBCURSES) */ |
| 233 | } TTYDRV_WND_DATA; |
| 234 | |
| 235 | #ifdef HAVE_LIBCURSES |
| 236 | WINDOW *TTYDRV_WND_GetCursesWindow(struct tagWND *wndPtr); |
| 237 | WINDOW *TTYDRV_WND_GetCursesRootWindow(struct tagWND *wndPtr); |
| 238 | #endif /* defined(HAVE_LIBCURSES) */ |
| 239 | |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 240 | extern void TTYDRV_WND_Initialize(struct tagWND *wndPtr); |
| 241 | extern void TTYDRV_WND_Finalize(struct tagWND *wndPtr); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 242 | extern BOOL TTYDRV_WND_CreateDesktopWindow(struct tagWND *wndPtr, struct tagCLASS *classPtr, BOOL bUnicode); |
Michael Veksler | 9d14a00 | 1999-05-08 12:40:24 +0000 | [diff] [blame] | 243 | extern BOOL TTYDRV_WND_CreateWindow(struct tagWND *wndPtr, struct tagCLASS *classPtr, struct tagCREATESTRUCTA *cs, BOOL bUnicode); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 244 | extern BOOL TTYDRV_WND_DestroyWindow(struct tagWND *pWnd); |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 245 | extern struct tagWND *TTYDRV_WND_SetParent(struct tagWND *wndPtr, struct tagWND *pWndParent); |
| 246 | extern void TTYDRV_WND_ForceWindowRaise(struct tagWND *pWnd); |
Michael Veksler | 9d14a00 | 1999-05-08 12:40:24 +0000 | [diff] [blame] | 247 | extern void TTYDRV_WND_SetWindowPos(struct tagWND *wndPtr, const struct tagWINDOWPOS *winpos, BOOL bSMC_SETXPOS); |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 248 | extern void TTYDRV_WND_SetText(struct tagWND *wndPtr, LPCSTR text); |
| 249 | extern void TTYDRV_WND_SetFocus(struct tagWND *wndPtr); |
| 250 | extern void TTYDRV_WND_PreSizeMove(struct tagWND *wndPtr); |
| 251 | extern void TTYDRV_WND_PostSizeMove(struct tagWND *wndPtr); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 252 | extern void TTYDRV_WND_ScrollWindow(struct tagWND *wndPtr, struct tagDC *dcPtr, INT dx, INT dy, const RECT *clipRect, BOOL bUpdate); |
| 253 | extern void TTYDRV_WND_SetDrawable(struct tagWND *wndPtr, struct tagDC *dc, WORD flags, BOOL bSetClipOrigin); |
Alex Korobka | 4f1ac05 | 1999-03-28 09:37:57 +0000 | [diff] [blame] | 254 | extern BOOL TTYDRV_WND_SetHostAttr(struct tagWND *wndPtr, INT haKey, INT value); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 255 | extern BOOL TTYDRV_WND_IsSelfClipping(struct tagWND *wndPtr); |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 256 | |
Patrik Stridvall | f638aef | 1998-12-07 09:36:13 +0000 | [diff] [blame] | 257 | #endif /* !defined(__WINE_TTYDRV_H) */ |