59 BitCount = BitmapInfoHeader->biBitCount;
60 ClrUsed = BitmapInfoHeader->biClrUsed;
61 Compression = BitmapInfoHeader->biCompression;
70 if (BitCount != 16 && BitCount != 32)
90 *ColorTableSize = ClrUsed ?
min(ClrUsed, 2) : 2;
94 *ColorTableSize = ClrUsed ?
min(ClrUsed, 16) : 16;
98 *ColorTableSize = ClrUsed ?
min(ClrUsed, 256) : 256;
104 if (BitCount != 16 && BitCount != 24 && BitCount != 32)
106 *ColorTableSize = ClrUsed;
113 *ColorTableSize = ClrUsed ?
min(ClrUsed, 16) : 16;
121 *ColorTableSize = ClrUsed ?
min(ClrUsed, 256) : 256;
128 *ColorTableSize = ClrUsed;
181 UINT *BitmapInfoSize,
188 UINT PaletteEntryCount = 0;
200 BitmapInfo->bmiHeader.biSize >
sizeof(BITMAPV5HEADER))))
241 if (NewBitmapInfo ==
NULL)
258 if (PaletteEntryCount != 0)
279 PaletteEntryCount *
sizeof(
USHORT));
297 PaletteEntryCount *
sizeof(
USHORT);
299 PaletteEntryCount *
sizeof(
USHORT);
308 switch (BitmapInfo->bmiHeader.biCompression)
311 if (BitmapInfo->bmiHeader.biBitCount != 8)
313 if (BitmapInfo->bmiHeader.biHeight < 0)
317 if (BitmapInfo->bmiHeader.biBitCount != 4)
319 if (BitmapInfo->bmiHeader.biHeight < 0)
327 if ((BitmapInfo->bmiHeader.biCompression !=
BI_RGB) &&
330 if (BitmapInfo->bmiHeader.biSizeImage == 0)
341 *BitmapInfoSize =
Size;
343 return NewBitmapInfo;
350#define COPYS(f,len) MultiByteToWideChar ( CP_THREAD_ACP, 0, pA->f, len, pW->f, len )
351#define COPYN(f) pW->f = pA->f
356 COPYN(lfOrientation);
362 COPYN(lfOutPrecision);
363 COPYN(lfClipPrecision);
365 COPYN(lfPitchAndFamily);
377#define COPYS(f,len) WideCharToMultiByte ( CP_THREAD_ACP, 0, pW->f, len, pA->f, len, NULL, NULL )
378#define COPYN(f) pA->f = pW->f
383 COPYN(lfOrientation);
389 COPYN(lfOutPrecision);
390 COPYN(lfClipPrecision);
392 COPYN(lfPitchAndFamily);
430 switch (LpkFunctionID)
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
#define GetProcAddress(x, y)
#define WideCharToMultiByte
static const WCHAR fontW[]
BOOL(WINAPI * LPKETO)(HDC hdc, int x, int y, UINT fuOptions, const RECT *lprc, LPCWSTR lpString, UINT uCount, const INT *lpDx, INT unknown)
int WINAPI GdiGetBitmapBitsSize(BITMAPINFO *lpbmi)
BOOL(WINAPI * LPKGTEP)(HDC hdc, LPCWSTR lpString, INT cString, INT nMaxExtent, LPINT lpnFit, LPINT lpnDx, LPSIZE lpSize, DWORD dwUnused, int unknown)
DWORD(WINAPI * LPKGCP)(HDC hdc, LPCWSTR lpString, INT uCount, INT nMaxExtent, LPGCP_RESULTSW lpResults, DWORD dwFlags, DWORD dwUnused)
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
BITMAPCOREHEADER bmciHeader
BITMAPINFOHEADER bmiHeader
BYTE elfFullName[LF_FULLFACESIZE]
BYTE elfScript[LF_FACESIZE]
BYTE elfStyle[LF_FACESIZE]
CHAR lfFaceName[LF_FACESIZE]
WCHAR lfFaceName[LF_FACESIZE]
#define RtlCopyMemory(Destination, Source, Length)
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
VOID WINAPI EnumLogFontExW2A(LPENUMLOGFONTEXA fontA, CONST ENUMLOGFONTEXW *fontW)
BOOL WINAPI CalculateColorTableSize(CONST BITMAPINFOHEADER *BitmapInfoHeader, UINT *ColorSpec, UINT *ColorTableSize)
LPKGCP LpkGetCharacterPlacement
VOID WINAPI LogFontW2A(LPLOGFONTA pA, CONST LOGFONTW *pW)
BOOL WINAPI LoadLPK(INT LpkFunctionID)
LPBITMAPINFO WINAPI ConvertBitmapInfo(CONST BITMAPINFO *BitmapInfo, UINT ColorSpec, UINT *BitmapInfoSize, BOOL FollowedByData)
LPKGTEP LpkGetTextExtentExPoint
VOID WINAPI LogFontA2W(LPLOGFONTW pW, CONST LOGFONTA *pA)
struct _BITMAPCOREINFO * LPBITMAPCOREINFO
struct tagBITMAPINFO * LPBITMAPINFO
struct tagBITMAPCOREHEADER * LPBITMAPCOREHEADER