Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenengobjects.h
Go to the documentation of this file.
00001 /* 00002 * ReactOS kernel 00003 * Copyright (C) 1998, 1999, 2000, 2001 ReactOS Team 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation; either version 2 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License along 00016 * with this program; if not, write to the Free Software Foundation, Inc., 00017 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00018 */ 00019 /* 00020 * COPYRIGHT: See COPYING in the top level directory 00021 * PROJECT: ReactOS kernel 00022 * PURPOSE: GDI Internal Objects 00023 * FILE: subsystem/win32/win32k/eng/objects.h 00024 * PROGRAMER: Jason Filby 00025 * REVISION HISTORY: 00026 * 21/8/1999: Created 00027 */ 00028 00029 #pragma once 00030 00031 /* Structure of internal gdi objects that win32k manages for ddi engine: 00032 |---------------------------------| 00033 | Public part | 00034 | accessed from engine | 00035 |---------------------------------| 00036 | Private part | 00037 | managed by gdi | 00038 |_________________________________| 00039 00040 ---------------------------------------------------------------------------*/ 00041 00042 /* EXtended CLip and Window Region Object */ 00043 typedef struct _XCLIPOBJ 00044 { 00045 WNDOBJ; 00046 PVOID pClipRgn; /* prgnRao_ or (prgnVis_ if (prgnRao_ == z)) */ 00047 RECTL rclClipRgn; 00048 PVOID pscanClipRgn; /* Ptr to regions rect buffer based on iDirection. */ 00049 DWORD cScan; 00050 DWORD reserved; 00051 ULONG ulBSize; 00052 LONG lscnSize; 00053 ULONG ulObjSize; 00054 ULONG iDirection; 00055 ULONG ulClipType; 00056 DWORD reserved1; 00057 LONG lUpDown; 00058 DWORD reserved2; 00059 BOOL bShouldDoAll; 00060 DWORD nComplexity; /* count/mode based on # of rect in regions scan. */ 00061 PVOID pDDA; /* Pointer to a large drawing structure. */ 00062 } XCLIPOBJ, *PXCLIPOBJ; 00063 /* 00064 EngCreateClip allocates XCLIPOBJ and RGNOBJ, pco->co.pClipRgn = &pco->ro. 00065 { 00066 XCLIPOBJ co; 00067 RGNOBJ ro; 00068 } 00069 */ 00070 typedef struct _CLIPGDI { 00071 CLIPOBJ ClipObj; 00072 ULONG EnumPos; 00073 ULONG EnumOrder; 00074 ULONG EnumMax; 00075 ENUMRECTS EnumRects; 00076 } CLIPGDI, *PCLIPGDI; 00077 00078 /*ei What is this for? */ 00079 typedef struct _DRVFUNCTIONSGDI { 00080 HDEV hdev; 00081 DRVFN Functions[INDEX_LAST]; 00082 } DRVFUNCTIONSGDI; 00083 00084 typedef struct _FLOATGDI { 00085 ULONG Dummy; 00086 } FLOATGDI; 00087 00088 typedef struct _FONTGDI { 00089 FONTOBJ FontObj; 00090 ULONG iUnique; 00091 FLONG flType; 00092 union{ 00093 DHPDEV dhpdev; 00094 FT_Face face; 00095 }; 00096 00097 LONG lMaxNegA; 00098 LONG lMaxNegC; 00099 LONG lMinWidthD; 00100 00101 LPWSTR Filename; 00102 BYTE Underline; 00103 BYTE StrikeOut; 00104 } FONTGDI, *PFONTGDI; 00105 00106 typedef struct _PATHGDI { 00107 PATHOBJ PathObj; 00108 } PATHGDI; 00109 00110 typedef struct _WNDGDI { 00111 WNDOBJ WndObj; 00112 HWND Hwnd; 00113 CLIPOBJ *ClientClipObj; 00114 WNDOBJCHANGEPROC ChangeProc; 00115 FLONG Flags; 00116 int PixelFormat; 00117 } WNDGDI, *PWNDGDI; 00118 00119 typedef struct _XFORMGDI { 00120 ULONG Dummy; 00121 /* XFORMOBJ has no public members */ 00122 } XFORMGDI; 00123 00124 /* As the *OBJ structures are located at the beginning of the *GDI structures 00125 we can simply typecast the pointer */ 00126 #define ObjToGDI(ClipObj, Type) (Type##GDI *)(ClipObj) 00127 #define GDIToObj(ClipGDI, Type) (Type##OBJ *)(ClipGDI) Generated on Sat May 26 2012 04:37:08 for ReactOS by
1.7.6.1
|