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 #define DEFAULT_BITMAP (STOCK_LAST+1)
34 #define NB_STOCK_OBJECTS (STOCK_LAST+2)
36 /* TYPES *********************************************************************/
38 // Based on wmfapi.h and Wine.
39 typedef struct tagMETAFILEDC
{
44 UINT handles_size
, cur_handles
;
47 // more DC object stuff.
53 WCHAR Filename
[MAX_PATH
+2];
55 } METAFILEDC
,*PMETAFILEDC
;
57 // Metafile Entry handle
58 typedef struct tagMF_ENTRY
{
60 HGDIOBJ hmDC
; // Handle return from NtGdiCreateClientObj.
62 } MF_ENTRY
, *PMF_ENTRY
;
64 typedef struct tagENHMETAFILE
{
66 HANDLE hFile
; /* Handle for disk based MetaFile */
70 UINT handles_size
, cur_handles
;
73 INT horzsize
, vertsize
;
74 INT logpixelsx
, logpixelsy
;
80 } ENHMETAFILE
,*PENHMETAFILE
;
82 /* FUNCTIONS *****************************************************************/
85 HEAP_alloc(DWORD len
);
94 HEAP_free(LPVOID memory
);
113 NEWTEXTMETRICEXA
*tma
,
114 NEWTEXTMETRICEXW
*tmw
119 DeleteRegion( HRGN
);
122 GdiIsHandleValid(HGDIOBJ hGdiObj
);
125 GdiGetHandleUserData(
136 GdiFixUpHandle(HGDIOBJ hGO
);
140 CalculateColorTableSize(
141 CONST BITMAPINFOHEADER
*BitmapInfoHeader
,
149 CONST BITMAPINFO
*BitmapInfo
,
151 UINT
*BitmapInfoSize
,
157 GdiConvertToDevmodeW(DEVMODEA
*dm
);
161 GetAndSetDCDWord( HDC
, INT
, DWORD
, DWORD
, DWORD
, DWORD
);
165 GetDCDWord( HDC
, INT
, DWORD
);
169 GetDCObject( HDC
, INT
);
188 LPENUMLOGFONTEXA fontA
,
189 CONST ENUMLOGFONTEXW
*fontW
);
191 /* FIXME: Put in some public header */
194 UserRealizePalette(HDC hDC
);
198 GdiAddFontResourceW(LPCWSTR lpszFilename
,FLONG fl
,DESIGNVECTOR
*pdv
);
202 GdiSetLastError( DWORD dwErrCode
);