Alexandre Julliard | 75a839a | 1993-07-15 11:13:45 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Window definitions |
| 3 | * |
| 4 | * Copyright 1993 Alexandre Julliard |
| 5 | */ |
| 6 | |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 7 | #ifndef __WINE_WIN_H |
| 8 | #define __WINE_WIN_H |
Alexandre Julliard | 75a839a | 1993-07-15 11:13:45 +0000 | [diff] [blame] | 9 | |
Marcus Meissner | 623c0d6 | 1999-07-03 16:01:42 +0000 | [diff] [blame] | 10 | #include "winuser.h" |
Noel Borthwick | b427856 | 1999-02-05 10:37:53 +0000 | [diff] [blame] | 11 | #include "queue.h" |
Marcus Meissner | 317af32 | 1999-02-17 13:51:06 +0000 | [diff] [blame] | 12 | #include "class.h" |
Alexandre Julliard | 75a839a | 1993-07-15 11:13:45 +0000 | [diff] [blame] | 13 | |
| 14 | #define WND_MAGIC 0x444e4957 /* 'WIND' */ |
| 15 | |
Alexandre Julliard | fb9a919 | 1994-03-01 19:48:04 +0000 | [diff] [blame] | 16 | /* Built-in class names (see _Undocumented_Windows_ p.418) */ |
| 17 | #define POPUPMENU_CLASS_NAME "#32768" /* PopupMenu */ |
| 18 | #define DESKTOP_CLASS_NAME "#32769" /* Desktop */ |
| 19 | #define DIALOG_CLASS_NAME "#32770" /* Dialog */ |
| 20 | #define WINSWITCH_CLASS_NAME "#32771" /* WinSwitch */ |
| 21 | #define ICONTITLE_CLASS_NAME "#32772" /* IconTitle */ |
Alexandre Julliard | 75a839a | 1993-07-15 11:13:45 +0000 | [diff] [blame] | 22 | |
Alexandre Julliard | 808cb04 | 1995-08-17 17:11:36 +0000 | [diff] [blame] | 23 | #define POPUPMENU_CLASS_ATOM MAKEINTATOM(32768) /* PopupMenu */ |
Alexandre Julliard | e2bfa4c | 1996-05-16 18:21:06 +0000 | [diff] [blame] | 24 | #define DESKTOP_CLASS_ATOM ((ATOM)32769) /* Desktop */ |
Alexandre Julliard | 808cb04 | 1995-08-17 17:11:36 +0000 | [diff] [blame] | 25 | #define DIALOG_CLASS_ATOM MAKEINTATOM(32770) /* Dialog */ |
| 26 | #define WINSWITCH_CLASS_ATOM MAKEINTATOM(32771) /* WinSwitch */ |
| 27 | #define ICONTITLE_CLASS_ATOM MAKEINTATOM(32772) /* IconTitle */ |
| 28 | |
Alexandre Julliard | df2673b | 1997-03-29 17:20:20 +0000 | [diff] [blame] | 29 | /* Built-in 32-bit classes */ |
| 30 | typedef enum |
| 31 | { |
| 32 | BIC32_BUTTON, |
| 33 | BIC32_EDIT, |
| 34 | BIC32_LISTBOX, |
| 35 | BIC32_COMBO, |
| 36 | BIC32_COMBOLB, |
| 37 | BIC32_POPUPMENU, |
Alexandre Julliard | d37eb36 | 1997-07-20 16:23:21 +0000 | [diff] [blame] | 38 | BIC32_STATIC, |
Alexandre Julliard | df2673b | 1997-03-29 17:20:20 +0000 | [diff] [blame] | 39 | BIC32_SCROLL, |
Alexandre Julliard | a0b2b1d | 1997-11-16 17:38:29 +0000 | [diff] [blame] | 40 | BIC32_MDICLIENT, |
Alexandre Julliard | df2673b | 1997-03-29 17:20:20 +0000 | [diff] [blame] | 41 | BIC32_DESKTOP, |
| 42 | BIC32_DIALOG, |
Alexandre Julliard | 23946ad | 1997-06-16 17:43:53 +0000 | [diff] [blame] | 43 | BIC32_ICONTITLE, |
Alexandre Julliard | df2673b | 1997-03-29 17:20:20 +0000 | [diff] [blame] | 44 | BIC32_NB_CLASSES |
| 45 | } BUILTIN_CLASS32; |
| 46 | |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 47 | /* PAINT_RedrawWindow() control flags */ |
Alex Korobka | 4f1ac05 | 1999-03-28 09:37:57 +0000 | [diff] [blame] | 48 | #define RDW_EX_USEHRGN 0x0001 |
| 49 | #define RDW_EX_DELETEHRGN 0x0002 |
| 50 | #define RDW_EX_XYWINDOW 0x0004 |
| 51 | #define RDW_EX_TOPFRAME 0x0010 |
Francis Beaudet | c37dd06 | 1999-07-18 15:38:29 +0000 | [diff] [blame] | 52 | #define RDW_EX_DELAY_NCPAINT 0x0020 |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 53 | |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 54 | struct tagCLASS; |
Alexandre Julliard | 2c69f6d | 1996-09-28 18:11:01 +0000 | [diff] [blame] | 55 | struct tagDCE; |
Patrik Stridvall | 151170c | 1998-12-26 12:00:43 +0000 | [diff] [blame] | 56 | struct tagDC; |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 57 | struct tagWND_DRIVER; |
Alexandre Julliard | 2c69f6d | 1996-09-28 18:11:01 +0000 | [diff] [blame] | 58 | |
Alexandre Julliard | 75a839a | 1993-07-15 11:13:45 +0000 | [diff] [blame] | 59 | typedef struct tagWND |
| 60 | { |
Alexandre Julliard | 2ace16a | 1996-04-28 15:09:19 +0000 | [diff] [blame] | 61 | struct tagWND *next; /* Next sibling */ |
| 62 | struct tagWND *child; /* First child */ |
| 63 | struct tagWND *parent; /* Window parent (from CreateWindow) */ |
| 64 | struct tagWND *owner; /* Window owner */ |
Patrik Stridvall | 8d8703c | 1999-02-04 14:05:38 +0000 | [diff] [blame] | 65 | struct tagCLASS *class; /* Window class */ |
Alexandre Julliard | 3051b64 | 1996-07-05 17:14:13 +0000 | [diff] [blame] | 66 | HWINDOWPROC winproc; /* Window procedure */ |
Alexandre Julliard | 2ace16a | 1996-04-28 15:09:19 +0000 | [diff] [blame] | 67 | DWORD dwMagic; /* Magic number (must be WND_MAGIC) */ |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 68 | HWND hwndSelf; /* Handle of this window */ |
| 69 | HINSTANCE hInstance; /* Window hInstance (from CreateWindow) */ |
| 70 | RECT rectClient; /* Client area rel. to parent client area */ |
| 71 | RECT rectWindow; /* Whole window rel. to parent client area */ |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 72 | LPSTR text; /* Window text */ |
Alexandre Julliard | ca22b33 | 1996-07-12 19:02:39 +0000 | [diff] [blame] | 73 | void *pVScroll; /* Vertical scroll-bar info */ |
| 74 | void *pHScroll; /* Horizontal scroll-bar info */ |
Alexandre Julliard | ac9c9b0 | 1996-07-28 18:50:11 +0000 | [diff] [blame] | 75 | void *pProp; /* Pointer to properties list */ |
Alexandre Julliard | 2c69f6d | 1996-09-28 18:11:01 +0000 | [diff] [blame] | 76 | struct tagDCE *dce; /* Window DCE (if CS_OWNDC or CS_CLASSDC) */ |
Alexandre Julliard | ac9c9b0 | 1996-07-28 18:50:11 +0000 | [diff] [blame] | 77 | HGLOBAL16 hmemTaskQ; /* Task queue global memory handle */ |
| 78 | HRGN16 hrgnUpdate; /* Update region */ |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 79 | HWND hwndLastActive;/* Last active popup hwnd */ |
Alexandre Julliard | 2ace16a | 1996-04-28 15:09:19 +0000 | [diff] [blame] | 80 | DWORD dwStyle; /* Window style (from CreateWindow) */ |
| 81 | DWORD dwExStyle; /* Extended style (from CreateWindowEx) */ |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 82 | UINT wIDmenu; /* ID or hmenu (from CreateWindow) */ |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 83 | DWORD helpContext; /* Help context ID */ |
Alexandre Julliard | 2ace16a | 1996-04-28 15:09:19 +0000 | [diff] [blame] | 84 | WORD flags; /* Misc. flags (see below) */ |
Alexandre Julliard | ac9c9b0 | 1996-07-28 18:50:11 +0000 | [diff] [blame] | 85 | HMENU16 hSysMenu; /* window's copy of System Menu */ |
Francois Boisvert | 93e3f90 | 1999-02-25 17:32:31 +0000 | [diff] [blame] | 86 | int irefCount; /* window's reference count*/ |
Alexandre Julliard | 1e9ac79 | 1996-06-06 18:38:27 +0000 | [diff] [blame] | 87 | DWORD userdata; /* User private data */ |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 88 | struct tagWND_DRIVER *pDriver; /* Window driver */ |
Patrik Stridvall | 151170c | 1998-12-26 12:00:43 +0000 | [diff] [blame] | 89 | void *pDriverData; /* Window driver data */ |
Alexandre Julliard | e2bfa4c | 1996-05-16 18:21:06 +0000 | [diff] [blame] | 90 | DWORD wExtra[1]; /* Window extra bytes */ |
Alexandre Julliard | 75a839a | 1993-07-15 11:13:45 +0000 | [diff] [blame] | 91 | } WND; |
| 92 | |
Alex Korobka | 4f1ac05 | 1999-03-28 09:37:57 +0000 | [diff] [blame] | 93 | /* Host attributes */ |
| 94 | |
| 95 | #define HAK_BITGRAVITY 1 |
| 96 | #define HAK_ACCEPTFOCUS 2 |
Alex Korobka | 44a1b59 | 1999-04-01 12:03:52 +0000 | [diff] [blame] | 97 | #define HAK_ICONICSTATE 3 |
Alex Korobka | 4f1ac05 | 1999-03-28 09:37:57 +0000 | [diff] [blame] | 98 | |
| 99 | /* Bit Gravity */ |
| 100 | |
| 101 | #define BGForget 0 |
| 102 | #define BGNorthWest 1 |
| 103 | #define BGNorth 2 |
| 104 | #define BGNorthEast 3 |
| 105 | #define BGWest 4 |
| 106 | #define BGCenter 5 |
| 107 | #define BGEast 6 |
| 108 | #define BGSouthWest 7 |
| 109 | #define BGSouth 8 |
| 110 | #define BGSouthEast 9 |
| 111 | #define BGStatic 10 |
| 112 | |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 113 | typedef struct tagWND_DRIVER |
Patrik Stridvall | ea58472 | 1998-11-01 16:22:07 +0000 | [diff] [blame] | 114 | { |
Patrik Stridvall | 151170c | 1998-12-26 12:00:43 +0000 | [diff] [blame] | 115 | void (*pInitialize)(WND *); |
| 116 | void (*pFinalize)(WND *); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 117 | BOOL (*pCreateDesktopWindow)(WND *, struct tagCLASS *, BOOL); |
| 118 | BOOL (*pCreateWindow)(WND *, struct tagCLASS *, CREATESTRUCTA *, BOOL); |
| 119 | BOOL (*pDestroyWindow)(WND *); |
Patrik Stridvall | ea58472 | 1998-11-01 16:22:07 +0000 | [diff] [blame] | 120 | WND* (*pSetParent)(WND *, WND *); |
Patrik Stridvall | e35d636 | 1998-12-07 09:13:40 +0000 | [diff] [blame] | 121 | void (*pForceWindowRaise)(WND *); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 122 | void (*pSetWindowPos)(WND *, const WINDOWPOS *, BOOL); |
Patrik Stridvall | e35d636 | 1998-12-07 09:13:40 +0000 | [diff] [blame] | 123 | void (*pSetText)(WND *, LPCSTR); |
| 124 | void (*pSetFocus)(WND *); |
| 125 | void (*pPreSizeMove)(WND *); |
| 126 | void (*pPostSizeMove)(WND *); |
Alex Korobka | 4f1ac05 | 1999-03-28 09:37:57 +0000 | [diff] [blame] | 127 | void (*pSurfaceCopy)(WND *, struct tagDC *, INT, INT, const RECT *, BOOL); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 128 | void (*pSetDrawable)(WND *, struct tagDC *, WORD, BOOL); |
Alex Korobka | 4f1ac05 | 1999-03-28 09:37:57 +0000 | [diff] [blame] | 129 | BOOL (*pSetHostAttr)(WND *, INT haKey, INT value); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 130 | BOOL (*pIsSelfClipping)(WND *); |
Patrik Stridvall | ea58472 | 1998-11-01 16:22:07 +0000 | [diff] [blame] | 131 | } WND_DRIVER; |
| 132 | |
Patrik Stridvall | b87fe2e | 1999-04-01 08:16:08 +0000 | [diff] [blame] | 133 | extern WND_DRIVER *WND_Driver; |
| 134 | |
Alexandre Julliard | 23946ad | 1997-06-16 17:43:53 +0000 | [diff] [blame] | 135 | typedef struct |
| 136 | { |
| 137 | RECT16 rectNormal; |
| 138 | POINT16 ptIconPos; |
| 139 | POINT16 ptMaxPos; |
| 140 | HWND16 hwndIconTitle; |
| 141 | } INTERNALPOS, *LPINTERNALPOS; |
| 142 | |
Alexandre Julliard | 401710d | 1993-09-04 10:09:32 +0000 | [diff] [blame] | 143 | /* WND flags values */ |
Alexandre Julliard | 0c126c7 | 1996-02-18 18:44:41 +0000 | [diff] [blame] | 144 | #define WIN_NEEDS_BEGINPAINT 0x0001 /* WM_PAINT sent to window */ |
| 145 | #define WIN_NEEDS_ERASEBKGND 0x0002 /* WM_ERASEBKGND must be sent to window*/ |
| 146 | #define WIN_NEEDS_NCPAINT 0x0004 /* WM_NCPAINT must be sent to window */ |
| 147 | #define WIN_RESTORE_MAX 0x0008 /* Maximize when restoring */ |
| 148 | #define WIN_INTERNAL_PAINT 0x0010 /* Internal WM_PAINT message pending */ |
Alex Korobka | 4f1ac05 | 1999-03-28 09:37:57 +0000 | [diff] [blame] | 149 | #define WIN_NATIVE 0x0020 /* Directly mapped to the window provided by the driver */ |
Alexandre Julliard | e2bfa4c | 1996-05-16 18:21:06 +0000 | [diff] [blame] | 150 | #define WIN_NEED_SIZE 0x0040 /* Internal WM_SIZE is needed */ |
Alexandre Julliard | 0c126c7 | 1996-02-18 18:44:41 +0000 | [diff] [blame] | 151 | #define WIN_NCACTIVATED 0x0080 /* last WM_NCACTIVATE was positive */ |
Alex Korobka | 4f1ac05 | 1999-03-28 09:37:57 +0000 | [diff] [blame] | 152 | #define WIN_MANAGED 0x0100 /* Window managed by the window system */ |
Alexandre Julliard | 3051b64 | 1996-07-05 17:14:13 +0000 | [diff] [blame] | 153 | #define WIN_ISDIALOG 0x0200 /* Window is a dialog */ |
Alexandre Julliard | f0cbfa0 | 1997-02-15 14:29:56 +0000 | [diff] [blame] | 154 | #define WIN_ISWIN32 0x0400 /* Understands Win32 messages */ |
Alexandre Julliard | aca0578 | 1994-10-17 18:12:41 +0000 | [diff] [blame] | 155 | |
Alexandre Julliard | 23946ad | 1997-06-16 17:43:53 +0000 | [diff] [blame] | 156 | /* BuildWinArray() flags */ |
| 157 | #define BWA_SKIPDISABLED 0x0001 |
| 158 | #define BWA_SKIPHIDDEN 0x0002 |
| 159 | #define BWA_SKIPOWNED 0x0004 |
| 160 | #define BWA_SKIPICONIC 0x0008 |
| 161 | |
Alex Korobka | 9844749 | 1999-05-08 17:57:09 +0000 | [diff] [blame] | 162 | /* WIN_UpdateNCRgn() flags */ |
| 163 | #define UNC_CHECK 0x0001 |
| 164 | #define UNC_ENTIRE 0x0002 |
| 165 | #define UNC_REGION 0x0004 |
| 166 | #define UNC_UPDATE 0x0008 |
Francis Beaudet | c37dd06 | 1999-07-18 15:38:29 +0000 | [diff] [blame] | 167 | #define UNC_DELAY_NCPAINT 0x0010 |
| 168 | #define UNC_IN_BEGINPAINT 0x0020 |
Alex Korobka | 9844749 | 1999-05-08 17:57:09 +0000 | [diff] [blame] | 169 | |
Alexandre Julliard | f0b2354 | 1993-09-29 12:21:49 +0000 | [diff] [blame] | 170 | /* Window functions */ |
Ulrich Weigand | ef61c0b | 1999-05-08 09:45:50 +0000 | [diff] [blame] | 171 | extern void WIN_Init( void ); |
Patrik Stridvall | 1ed4ecf | 1999-06-26 14:58:24 +0000 | [diff] [blame] | 172 | extern void WIN_LockWnds( void ); |
| 173 | extern void WIN_UnlockWnds( void ); |
| 174 | extern int WIN_SuspendWndsLock( void ); |
Francois Boisvert | 93e3f90 | 1999-02-25 17:32:31 +0000 | [diff] [blame] | 175 | extern void WIN_RestoreWndsLock(int ipreviousLock); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 176 | extern WND* WIN_FindWndPtr( HWND hwnd ); |
Francois Boisvert | 6b1b41c | 1999-03-14 17:25:32 +0000 | [diff] [blame] | 177 | extern WND* WIN_LockWndPtr(WND *wndPtr); |
Francois Boisvert | 93e3f90 | 1999-02-25 17:32:31 +0000 | [diff] [blame] | 178 | extern void WIN_ReleaseWndPtr(WND *wndPtr); |
Francois Boisvert | 6b1b41c | 1999-03-14 17:25:32 +0000 | [diff] [blame] | 179 | extern void WIN_UpdateWndPtr(WND **oldPtr,WND *newPtr); |
Alexandre Julliard | 23946ad | 1997-06-16 17:43:53 +0000 | [diff] [blame] | 180 | extern WND* WIN_GetDesktop(void); |
Francois Boisvert | 6b1b41c | 1999-03-14 17:25:32 +0000 | [diff] [blame] | 181 | extern void WIN_ReleaseDesktop(void); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 182 | extern void WIN_DumpWindow( HWND hwnd ); |
| 183 | extern void WIN_WalkWindows( HWND hwnd, int indent ); |
| 184 | extern BOOL WIN_UnlinkWindow( HWND hwnd ); |
| 185 | extern BOOL WIN_LinkWindow( HWND hwnd, HWND hwndInsertAfter ); |
| 186 | extern HWND WIN_FindWinToRepaint( HWND hwnd, HQUEUE16 hQueue ); |
| 187 | extern BOOL WIN_ResetQueueWindows( WND* wnd, HQUEUE16 hQueue, HQUEUE16 hNew); |
| 188 | extern BOOL WIN_CreateDesktopWindow(void); |
| 189 | extern HWND WIN_GetTopParent( HWND hwnd ); |
Alexandre Julliard | 670cdc4 | 1997-08-24 16:00:30 +0000 | [diff] [blame] | 190 | extern WND* WIN_GetTopParentPtr( WND* pWnd ); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 191 | extern BOOL WIN_IsWindowDrawable(WND*, BOOL ); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 192 | extern WND** WIN_BuildWinArray( WND *wndPtr, UINT bwa, UINT* pnum ); |
Francois Boisvert | 6b1b41c | 1999-03-14 17:25:32 +0000 | [diff] [blame] | 193 | extern void WIN_ReleaseWinArray(WND **wndArray); |
Alexandre Julliard | 75a839a | 1993-07-15 11:13:45 +0000 | [diff] [blame] | 194 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 195 | extern HWND CARET_GetHwnd(void); |
| 196 | extern void CARET_GetRect(LPRECT lprc); /* windows/caret.c */ |
Alexandre Julliard | a845b88 | 1998-06-01 10:44:35 +0000 | [diff] [blame] | 197 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 198 | extern BOOL16 DRAG_QueryUpdate( HWND, SEGPTR, BOOL ); |
Alexandre Julliard | a0b2b1d | 1997-11-16 17:38:29 +0000 | [diff] [blame] | 199 | extern void DEFWND_SetText( WND *wndPtr, LPCSTR text ); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 200 | extern HBRUSH DEFWND_ControlColor( HDC hDC, UINT16 ctlType ); /* windows/defwnd.c */ |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 201 | |
Alexandre Julliard | 23946ad | 1997-06-16 17:43:53 +0000 | [diff] [blame] | 202 | extern void PROPERTY_RemoveWindowProps( WND *pWnd ); /* windows/property.c */ |
Alexandre Julliard | ac9c9b0 | 1996-07-28 18:50:11 +0000 | [diff] [blame] | 203 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 204 | extern BOOL PAINT_RedrawWindow( HWND hwnd, const RECT *rectUpdate, |
| 205 | HRGN hrgnUpdate, UINT flags, |
| 206 | UINT control ); /* windows/painting.c */ |
Alex Korobka | 9844749 | 1999-05-08 17:57:09 +0000 | [diff] [blame] | 207 | extern HRGN WIN_UpdateNCRgn(WND* wnd, HRGN hRgn, UINT flags); /* windows/painting.c */ |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 208 | |
Alexandre Julliard | a845b88 | 1998-06-01 10:44:35 +0000 | [diff] [blame] | 209 | /* controls/widgets.c */ |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 210 | extern BOOL WIDGETS_Init( void ); |
| 211 | extern BOOL WIDGETS_IsControl( WND* pWnd, BUILTIN_CLASS32 cls ); |
Alexandre Julliard | df2673b | 1997-03-29 17:20:20 +0000 | [diff] [blame] | 212 | |
Alexandre Julliard | a845b88 | 1998-06-01 10:44:35 +0000 | [diff] [blame] | 213 | /* controls/icontitle.c */ |
Patrik Stridvall | 1ed4ecf | 1999-06-26 14:58:24 +0000 | [diff] [blame] | 214 | extern LRESULT WINAPI IconTitleWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ); |
| 215 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 216 | extern HWND ICONTITLE_Create( WND* ); |
| 217 | extern BOOL ICONTITLE_Init( void ); |
Alexandre Julliard | a845b88 | 1998-06-01 10:44:35 +0000 | [diff] [blame] | 218 | |
| 219 | /* windows/focus.c */ |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 220 | extern void FOCUS_SwitchFocus( MESSAGEQUEUE *pMsgQ, HWND , HWND ); |
Alexandre Julliard | 23946ad | 1997-06-16 17:43:53 +0000 | [diff] [blame] | 221 | |
Patrik Stridvall | 1ed4ecf | 1999-06-26 14:58:24 +0000 | [diff] [blame] | 222 | /* windows/edit.c */ |
| 223 | extern LRESULT WINAPI EditWndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); |
| 224 | |
| 225 | /* windows/listbox.c */ |
| 226 | extern LRESULT WINAPI ListBoxWndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); |
| 227 | extern LRESULT WINAPI ComboLBWndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); |
| 228 | |
Sylvain St-Germain | 00bf381 | 1999-07-24 12:11:22 +0000 | [diff] [blame] | 229 | /* generic method that returns TRUE if the window properties ask for a |
| 230 | window manager type of border */ |
| 231 | extern BOOL WIN_WindowNeedsWMBorder( DWORD style, DWORD exStyle ); |
| 232 | |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 233 | #endif /* __WINE_WIN_H */ |