ReactOS  0.4.13-dev-92-gf251225
engobjects.h
Go to the documentation of this file.
1 /*
2  * ReactOS kernel
3  * Copyright (C) 1998, 1999, 2000, 2001 ReactOS Team
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19  /*
20  * COPYRIGHT: See COPYING in the top level directory
21  * PROJECT: ReactOS kernel
22  * PURPOSE: GDI Internal Objects
23  * FILE: win32ss/gdi/eng/engobjects.h
24  * PROGRAMER: Jason Filby
25  * REVISION HISTORY:
26  * 21/8/1999: Created
27  */
28 
29 #pragma once
30 
31 /* Structure of internal gdi objects that win32k manages for ddi engine:
32  |---------------------------------|
33  | Public part |
34  | accessed from engine |
35  |---------------------------------|
36  | Private part |
37  | managed by gdi |
38  |_________________________________|
39 
40 ---------------------------------------------------------------------------*/
41 
42 typedef struct _RWNDOBJ {
46 } RWNDOBJ;
47 
48 /* EXtended CLip and Window Region Objects */
49 #ifdef __cplusplus
50 typedef struct _XCLIPOBJ : _CLIPOBJ, _RWNDOBJ
51 {
52 #else
53 typedef struct _XCLIPOBJ
54 {
57 #endif
58  struct _REGION *pClipRgn; /* prgnRao_ or (prgnVis_ if (prgnRao_ == z)) */
59  //
61  //PVOID pscanClipRgn; /* Ptr to regions rect buffer based on iDirection. */
74  //
75  DWORD RectCount; /* count/mode based on # of rect in regions scan. */
76  PVOID pDDA; /* Pointer to a large drawing structure. */
78 
79 /*
80  EngCreateClip allocates XCLIPOBJ and REGION, pco->co.pClipRgn = &pco->ro.
81  {
82  XCLIPOBJ co;
83  REGION ro;
84  }
85  */
86 
87 extern XCLIPOBJ gxcoTrivial;
88 
89 #ifdef __cplusplus
90 typedef struct _EWNDOBJ : _XCLIPOBJ
91 {
92 #else
93 typedef struct _EWNDOBJ
94 {
96 #endif
97  /* Extended WNDOBJ part */
99  WNDOBJCHANGEPROC ChangeProc;
102 } EWNDOBJ, *PEWNDOBJ;
103 
104 
105 /*ei What is this for? */
106 typedef struct _DRVFUNCTIONSGDI {
107  HDEV hdev;
108  DRVFN Functions[INDEX_LAST];
110 
111 typedef struct _FLOATGDI {
113 } FLOATGDI;
114 
115 typedef struct _SHARED_MEM {
121 
122 typedef struct _SHARED_FACE_CACHE {
127 
128 typedef struct _SHARED_FACE {
135 
136 typedef struct _FONTGDI {
140 
143 
147 
156 
157  /* Precomputed font metrics (supplements FreeType metrics) */
164 } FONTGDI, *PFONTGDI;
165 
166 /* The initialized 'Magic' value in FONTGDI */
167 #define FONTGDI_MAGIC 0x20110311
168 
169 typedef struct _PATHGDI {
171 } PATHGDI;
172 
173 typedef struct _XFORMGDI {
175  /* XFORMOBJ has no public members */
176 } XFORMGDI;
177 
178 /* As the *OBJ structures are located at the beginning of the *GDI structures
179  we can simply typecast the pointer */
180 #define ObjToGDI(ClipObj, Type) (Type##GDI *)(ClipObj)
181 #define GDIToObj(ClipGDI, Type) (Type##OBJ *)(ClipGDI)
SHARED_FACE_CACHE EnglishUS
Definition: engobjects.h:132
struct _SHARED_MEM * PSHARED_MEM
HWND Hwnd
Definition: engobjects.h:98
LONG tmAscent
Definition: engobjects.h:159
DWORD reserved1
Definition: engobjects.h:70
struct _PATHGDI PATHGDI
DWORD reserved2
Definition: engobjects.h:72
typedef DHPDEV(APIENTRY FN_DrvEnablePDEV)(_In_ DEVMODEW *pdm
ULONG BufferSize
Definition: engobjects.h:117
struct _SHARED_FACE * PSHARED_FACE
ULONG iDirection
Definition: engobjects.h:68
ULONG Dummy
Definition: engobjects.h:174
LONG lMinWidthD
Definition: engobjects.h:146
struct _EWNDOBJ EWNDOBJ
struct _SHARED_FACE_CACHE SHARED_FACE_CACHE
LONG lscnSize
Definition: engobjects.h:66
PVOID Buffer
Definition: engobjects.h:116
struct _SHARED_FACE SHARED_FACE
struct _XCLIPOBJ * PXCLIPOBJ
struct _DRVFUNCTIONSGDI DRVFUNCTIONSGDI
struct _SHARED_FACE_CACHE * PSHARED_FACE_CACHE
FLONG flType
Definition: engobjects.h:139
LONG lMaxNegC
Definition: engobjects.h:145
BYTE RequestStrikeOut
Definition: engobjects.h:150
SHARED_FACE_CACHE UserLanguage
Definition: engobjects.h:133
LONG tmDescent
Definition: engobjects.h:160
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
LPWSTR Filename
Definition: engobjects.h:148
struct _FLOATGDI FLOATGDI
struct _RWNDOBJ RWNDOBJ
LONG lUpDown
Definition: engobjects.h:71
BYTE OriginalItalic
Definition: engobjects.h:153
RECTL rclClipRgn
Definition: engobjects.h:60
Definition: region.h:7
WNDOBJCHANGEPROC ChangeProc
Definition: engobjects.h:99
unsigned long FLONG
Definition: ntbasedef.h:373
LONG RefCount
Definition: engobjects.h:119
FLONG Flags
Definition: engobjects.h:100
ULONG EnumMax
Definition: engobjects.h:67
LONG EmHeight
Definition: engobjects.h:162
DWORD cScan
Definition: engobjects.h:63
ULONG EnumPos
Definition: engobjects.h:65
struct _FONTGDI * PFONTGDI
LONG OriginalWeight
Definition: engobjects.h:154
LONG tmInternalLeading
Definition: engobjects.h:161
unsigned long DWORD
Definition: ntddk_ex.h:95
struct _XCLIPOBJ XCLIPOBJ
BOOL bAll
Definition: engobjects.h:73
PVOID pvConsumer
Definition: engobjects.h:43
FT_Face Face
Definition: engobjects.h:129
#define INDEX_LAST
Definition: winddi.h:521
ULONG iUnique
Definition: engobjects.h:138
PSHARED_MEM Memory
Definition: engobjects.h:131
LONG tmHeight
Definition: engobjects.h:158
unsigned char BYTE
Definition: mem.h:68
XCLIPOBJ gxcoTrivial
Definition: bitblt.c:15
PATHOBJ PathObj
Definition: engobjects.h:170
BYTE RequestUnderline
Definition: engobjects.h:149
DWORD RectCount
Definition: engobjects.h:75
LONG lMaxNegA
Definition: engobjects.h:144
struct _FONTGDI FONTGDI
struct _EWNDOBJ * PEWNDOBJ
PSHARED_FACE SharedFace
Definition: engobjects.h:142
RECTL * Rects
Definition: engobjects.h:62
struct _SHARED_MEM SHARED_MEM
struct _XFORMGDI XFORMGDI
struct _REGION * pClipRgn
Definition: engobjects.h:58
LONG RequestWeight
Definition: engobjects.h:152
unsigned int UINT
Definition: ndis.h:50
RECTL rclClient
Definition: engobjects.h:44
SURFOBJ * psoOwner
Definition: engobjects.h:45
PVOID pDDA
Definition: engobjects.h:76
BYTE RequestItalic
Definition: engobjects.h:151
LONG Magic
Definition: engobjects.h:163
unsigned int ULONG
Definition: retypes.h:1
DWORD reserved
Definition: engobjects.h:64
ULONG Dummy
Definition: engobjects.h:112
WCHAR * LPWSTR
Definition: xmlstorage.h:184
BOOL IsMapping
Definition: engobjects.h:118
FONTOBJ FontObj
Definition: engobjects.h:137
int PixelFormat
Definition: engobjects.h:101
BYTE CharSet
Definition: engobjects.h:155
Definition: winddi.h:529
ULONG iType
Definition: engobjects.h:69
UNICODE_STRING FullName
Definition: engobjects.h:125
UNICODE_STRING FontFamily
Definition: engobjects.h:124
DHPDEV dhpdev
Definition: engobjects.h:141