#include <win32k.h>
#include <debug.h>
Go to the source code of this file.
|
| DBG_DEFAULT_CHANNEL (EngWnd) |
|
VOID FASTCALL | IntEngWndCallChangeProc (_In_ EWNDOBJ *Clip, _In_ FLONG flChanged) |
|
BOOLEAN FASTCALL | IntEngWndUpdateClipObj (EWNDOBJ *Clip, PWND Window) |
|
VOID FASTCALL | IntEngWindowChanged (_In_ PWND Window, _In_ FLONG flChanged) |
|
WNDOBJ *APIENTRY | EngCreateWnd (SURFOBJ *pso, HWND hWnd, WNDOBJCHANGEPROC pfn, FLONG fl, int iPixelFormat) |
|
VOID APIENTRY | EngDeleteWnd (IN WNDOBJ *pwo) |
|
BOOL APIENTRY | WNDOBJ_bEnum (IN WNDOBJ *pwo, IN ULONG cj, OUT ULONG *pul) |
|
ULONG APIENTRY | WNDOBJ_cEnumStart (IN WNDOBJ *pwo, IN ULONG iType, IN ULONG iDirection, IN ULONG cLimit) |
|
VOID APIENTRY | WNDOBJ_vSetConsumer (IN WNDOBJ *pwo, IN PVOID pvConsumer) |
|
◆ DBG_DEFAULT_CHANNEL()
DBG_DEFAULT_CHANNEL |
( |
EngWnd |
| ) |
|
◆ EngCreateWnd()
Definition at line 145 of file engwindow.c.
151{
155
156 TRACE(
"EngCreateWnd: pso = 0x%p, hwnd = 0x%p, pfn = 0x%p, fl = 0x%lx, pixfmt = %d\n",
158
160
162 {
164 }
165
166
169 {
171 }
172
173
176 {
177 ERR(
"Failed to allocate memory for a WND structure!\n");
179 }
181
182
184 {
187 }
188
189
190 WndObjUser = (
WNDOBJ *)Clip;
193
194
197
201
204
205
208
209 TRACE(
"EngCreateWnd: SUCCESS: %p!\n", WndObjUser);
210
213 return WndObjUser;
214}
BOOLEAN FASTCALL IntEngWndUpdateClipObj(EWNDOBJ *Clip, PWND Window)
VOID FASTCALL UserLeave(VOID)
VOID FASTCALL UserEnterExclusive(VOID)
void * EngAllocMem(int zero, unsigned long size, int tag=0)
WNDOBJCHANGEPROC ChangeProc
PWND FASTCALL UserGetWindowObject(HWND hWnd)
VOID FASTCALL IntEngInitClipObj(XCLIPOBJ *Clip)
#define WOC_SPRITE_OVERLAP
_In_ HANDLE _In_ SURFOBJ * pso
#define WO_RGN_DESKTOP_COORD
#define WOC_SPRITE_NO_OVERLAP
#define WO_RGN_SURFACE_DELTA
#define WO_RGN_UPDATE_ALL
#define WO_RGN_CLIENT_DELTA
◆ EngDeleteWnd()
Definition at line 222 of file engwindow.c.
224{
227
228 TRACE(
"EngDeleteWnd: pwo = 0x%p\n",
pwo);
229
231
232
235 {
236 ERR(
"Couldnt get window object for WndObjInt->Hwnd!!!\n");
237 }
238 else
239 {
240
242 }
244
246
247
250}
HANDLE FASTCALL UserRemoveProp(_In_ PWND Window, _In_ ATOM Atom, _In_ BOOLEAN SystemProp)
VOID FASTCALL IntEngFreeClipResources(XCLIPOBJ *Clip)
◆ IntEngWindowChanged()
Definition at line 99 of file engwindow.c.
102{
104
106
108 if (!Clip)
109 {
110 return;
111 }
112
114
115 {
116
117 switch (flChanged)
118 {
120
122 break;
123
125
126 break;
127 }
128
129
131
132
134 {
136 }
137 }
138}
VOID FASTCALL IntEngWndCallChangeProc(_In_ EWNDOBJ *Clip, _In_ FLONG flChanged)
#define ASSERT_IRQL_LESS_OR_EQUAL(x)
HANDLE FASTCALL UserGetProp(_In_ PWND Window, _In_ ATOM Atom, _In_ BOOLEAN SystemProp)
◆ IntEngWndCallChangeProc()
Definition at line 20 of file engwindow.c.
23{
24 if (Clip->ChangeProc ==
NULL)
25 {
26 return;
27 }
28
29
30 flChanged &= Clip->Flags;
31 if (flChanged == 0)
32 {
33 return;
34 }
35
36 TRACE(
"Calling WNDOBJCHANGEPROC (0x%p), Changed = 0x%x\n",
37 Clip->ChangeProc, flChanged);
38
39
41 Clip->ChangeProc(
NULL, flChanged);
42 else
43 Clip->ChangeProc((
WNDOBJ *)Clip, flChanged);
44}
Referenced by IntEngWindowChanged(), and WNDOBJ_vSetConsumer().
◆ IntEngWndUpdateClipObj()
Definition at line 51 of file engwindow.c.
54{
56
57 TRACE(
"IntEngWndUpdateClipObj\n");
58
61 {
63 {
65 TRACE(
"Created visible region with %lu rects\n", visRgn->
rdh.
nCount);
66 TRACE(
" BoundingRect: %d, %d %d, %d\n",
69 {
72 {
73 TRACE(
" Rect #%lu: %ld,%ld %ld,%ld\n",
i+1,
76 }
77 }
78 }
80 }
81 else
82 {
83
85 }
86
87
88 Clip->rclClient =
Window->rcClient;
89 Clip->iUniq++;
90
92}
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
PREGION FASTCALL VIS_ComputeVisibleRegion(PWND Wnd, BOOLEAN ClientArea, BOOLEAN ClipChildren, BOOLEAN ClipSiblings)
VOID FASTCALL IntEngUpdateClipRegion(XCLIPOBJ *Clip, ULONG count, const RECTL *pRect, const RECTL *rcBounds)
VOID FASTCALL REGION_Delete(PREGION pRgn)
Referenced by EngCreateWnd(), and IntEngWindowChanged().
◆ WNDOBJ_bEnum()
Definition at line 258 of file engwindow.c.
262{
263
265}
ENGAPI BOOL APIENTRY CLIPOBJ_bEnum(_In_ CLIPOBJ *pco, _In_ ULONG cj, _Out_bytecap_(cj) ULONG *pul)
◆ WNDOBJ_cEnumStart()
Definition at line 273 of file engwindow.c.
278{
279
280
282}
ENGAPI ULONG APIENTRY CLIPOBJ_cEnumStart(_Inout_ CLIPOBJ *pco, _In_ BOOL bAll, _In_ ULONG iType, _In_ ULONG iDirection, _In_ ULONG cLimit)
◆ WNDOBJ_vSetConsumer()
Definition at line 290 of file engwindow.c.
293{
296
297 TRACE(
"WNDOBJ_vSetConsumer: pwo = 0x%p, pvConsumer = 0x%p\n",
pwo, pvConsumer);
298
299 Hack = (
pwo->pvConsumer ==
NULL);
300 pwo->pvConsumer = pvConsumer;
301
302
303
304
305
306
307
308
309
310 if (Hack)
311 {
312 FIXME(
"Is this hack really needed?\n");
316 }
317}
◆ gcountPWO