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 HANDLE hProcessHeap
;
14 extern HANDLE CurrentProcessId
;
15 extern DWORD GDI_BatchLimit
;
18 (CALLBACK
* EMFPLAYPROC
)(
24 /* DEFINES *******************************************************************/
26 #define HANDLE_LIST_INC 20
28 #define METAFILE_MEMORY 1
29 #define METAFILE_DISK 2
31 #define DEFAULT_BITMAP (STOCK_LAST+1)
32 #define NB_STOCK_OBJECTS (STOCK_LAST+2)
34 /* TYPES *********************************************************************/
36 // Based on wmfapi.h and Wine.
37 typedef struct tagMETAFILEDC
{
42 UINT handles_size
, cur_handles
;
45 // more DC object stuff.
51 WCHAR Filename
[MAX_PATH
+2];
53 } METAFILEDC
,*PMETAFILEDC
;
55 // Metafile Entry handle
56 typedef struct tagMF_ENTRY
{
58 HGDIOBJ hmDC
; // Handle return from NtGdiCreateClientObj.
60 } MF_ENTRY
, *PMF_ENTRY
;
62 typedef struct tagENHMETAFILE
{
64 HANDLE hFile
; /* Handle for disk based MetaFile */
68 UINT handles_size
, cur_handles
;
71 INT horzsize
, vertsize
;
72 INT logpixelsx
, logpixelsy
;
78 } ENHMETAFILE
,*PENHMETAFILE
;
80 /* FUNCTIONS *****************************************************************/
83 HEAP_alloc(DWORD len
);
92 HEAP_free(LPVOID memory
);
111 NEWTEXTMETRICEXA
*tma
,
112 NEWTEXTMETRICEXW
*tmw
117 DeleteRegion( HRGN
);
120 GdiIsHandleValid(HGDIOBJ hGdiObj
);
123 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
);