2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS System Libraries
4 * FILE: lib/gdi32/include/gdi32p.h
5 * PURPOSE: User-Mode Win32 GDI Library Private Header
6 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
10 /* DATA **********************************************************************/
12 extern PGDI_TABLE_ENTRY GdiHandleTable
;
13 extern PGDI_SHARED_HANDLE_TABLE GdiSharedHandleTable
;
14 extern HANDLE hProcessHeap
;
15 extern HANDLE CurrentProcessId
;
16 extern DWORD GDI_BatchLimit
;
17 extern PDEVCAPS GdiDevCaps
;
20 (CALLBACK
* EMFPLAYPROC
)(
26 /* DEFINES *******************************************************************/
28 #define HANDLE_LIST_INC 20
30 #define METAFILE_MEMORY 1
31 #define METAFILE_DISK 2
33 /* TYPES *********************************************************************/
35 // Based on wmfapi.h and Wine.
36 typedef struct tagMETAFILEDC
{
41 UINT handles_size
, cur_handles
;
44 // more DC object stuff.
50 WCHAR Filename
[MAX_PATH
+2];
52 } METAFILEDC
,*PMETAFILEDC
;
54 // Metafile Entry handle
55 typedef struct tagMF_ENTRY
{
57 HGDIOBJ hmDC
; // Handle return from NtGdiCreateClientObj.
59 } MF_ENTRY
, *PMF_ENTRY
;
61 typedef struct tagENHMETAFILE
{
63 HANDLE hFile
; /* Handle for disk based MetaFile */
67 UINT handles_size
, cur_handles
;
70 INT horzsize
, vertsize
;
71 INT logpixelsx
, logpixelsy
;
77 } ENHMETAFILE
,*PENHMETAFILE
;
79 /* FUNCTIONS *****************************************************************/
82 HEAP_alloc(DWORD len
);
91 HEAP_free(LPVOID memory
);
110 NEWTEXTMETRICEXA
*tma
,
111 NEWTEXTMETRICEXW
*tmw
116 DeleteRegion( HRGN
);
119 GdiIsHandleValid(HGDIOBJ hGdiObj
);
122 GdiGetHandleUserData(
133 GdiFixUpHandle(HGDIOBJ hGO
);
137 CalculateColorTableSize(
138 CONST BITMAPINFOHEADER
*BitmapInfoHeader
,
146 CONST BITMAPINFO
*BitmapInfo
,
148 UINT
*BitmapInfoSize
,
154 GdiConvertToDevmodeW(DEVMODEA
*dm
);
158 GetAndSetDCDWord( HDC
, INT
, DWORD
, DWORD
, DWORD
, DWORD
);
162 GetDCDWord( HDC
, INT
, DWORD
);
166 GetDCObject( HDC
, INT
);
185 LPENUMLOGFONTEXA fontA
,
186 CONST ENUMLOGFONTEXW
*fontW
);
188 /* FIXME: Put in some public header */
191 UserRealizePalette(HDC hDC
);
195 GdiAddFontResourceW(LPCWSTR lpszFilename
,FLONG fl
,DESIGNVECTOR
*pdv
);
199 GdiSetLastError( DWORD dwErrCode
);