5 typedef struct _WINDOW_OBJECT
*PWINDOW_OBJECT
;
7 #include <include/object.h>
8 #include <include/class.h>
9 #include <include/msgqueue.h>
10 #include <include/winsta.h>
11 #include <include/dce.h>
12 #include <include/prop.h>
13 #include <include/scroll.h>
15 extern ATOM AtomMessage
;
16 extern ATOM AtomWndObj
; /* WNDOBJ list */
18 BOOL FASTCALL
UserUpdateUiState(PWND Wnd
, WPARAM wParam
);
20 #define HAS_DLGFRAME(Style, ExStyle) \
21 (((ExStyle) & WS_EX_DLGMODALFRAME) || \
22 (((Style) & WS_DLGFRAME) && (!((Style) & WS_THICKFRAME))))
24 #define HAS_THICKFRAME(Style, ExStyle) \
25 (((Style) & WS_THICKFRAME) && \
26 (!(((Style) & (WS_DLGFRAME | WS_BORDER)) == WS_DLGFRAME)))
28 #define HAS_THINFRAME(Style, ExStyle) \
29 (((Style) & WS_BORDER) || (!((Style) & (WS_CHILD | WS_POPUP))))
31 #define IntIsDesktopWindow(WndObj) \
32 (WndObj->spwndParent == NULL)
34 #define IntIsBroadcastHwnd(hWnd) \
35 (hWnd == HWND_BROADCAST || hWnd == HWND_TOPMOST)
38 #define IntWndBelongsToThread(WndObj, W32Thread) \
39 ((WndObj->head.pti) && (WndObj->head.pti == W32Thread))
41 #define IntGetWndThreadId(WndObj) \
42 WndObj->head.pti->pEThread->Cid.UniqueThread
44 #define IntGetWndProcessId(WndObj) \
45 WndObj->head.pti->pEThread->ThreadsProcess->UniqueProcessId
48 IntIsWindow(HWND hWnd
);
51 IntWinListChildren(PWND Window
);
54 InitWindowImpl (VOID
);
57 CleanupWindowImpl (VOID
);
60 IntGetClientRect (PWND WindowObject
, RECTL
*Rect
);
63 IntGetActiveWindow (VOID
);
66 IntIsWindowVisible (PWND Window
);
69 IntIsChildWindow (PWND Parent
, PWND Child
);
72 IntUnlinkWindow(PWND Wnd
);
75 IntLinkWindow(PWND Wnd
, PWND WndPrevSibling
);
78 IntLinkHwnd(PWND Wnd
, HWND hWndPrev
);
81 IntGetAncestor(PWND Wnd
, UINT Type
);
84 IntGetParent(PWND Wnd
);
87 IntGetWindowRgn(PWND Window
, HRGN hRgn
);
90 IntGetWindowRgnBox(PWND Window
, RECTL
*Rect
);
93 IntGetWindowInfo(PWND WindowObject
, PWINDOWINFO pwi
);
96 IntGetWindowBorderMeasures(PWND WindowObject
, UINT
*cx
, UINT
*cy
);
99 IntIsWindowInDestroy(PWND Window
);
102 IntShowOwnedPopups( PWND owner
, BOOL fShow
);
105 IntDefWindowProc( PWND Window
, UINT Msg
, WPARAM wParam
, LPARAM lParam
, BOOL Ansi
);
107 VOID FASTCALL
IntNotifyWinEvent(DWORD
, PWND
, LONG
, LONG
, DWORD
);
109 PWND FASTCALL
co_UserCreateWindowEx(CREATESTRUCTW
*, PUNICODE_STRING
, PLARGE_STRING
);
110 WNDPROC FASTCALL
IntGetWindowProc(PWND
,BOOL
);