diff options
Diffstat (limited to 'print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.cpp')
| -rw-r--r-- | print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.cpp | 1503 |
1 files changed, 0 insertions, 1503 deletions
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.cpp deleted file mode 100644 index f1807066..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.cpp +++ /dev/null @@ -1,1503 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.cpp -// -// PURPOSE: Implementation of the debug functions. -// -// -// History: -// 06/28/03 xxx created. -// -// - -#include "precomp.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -//////////////////////////////////////////////////////// -// INTERNAL DEFINES -//////////////////////////////////////////////////////// - -#define DEBUG_BUFFER_SIZE 1024 -#define PATH_SEPARATOR '\\' - -//////////////////////////////////////////////////////// -// EXTERNAL GLOBALS -//////////////////////////////////////////////////////// - -#ifdef DBG - -INT giDebugLevel = DEBUG_LEVEL; - - -PCWSTR -EnsureLabel( - _In_opt_ PCWSTR pszInLabel, - _In_ PCWSTR pszDefLabel - ) - -/*++ - -Routine Description: - - This function checks if pszInLabel is valid. If not, it returns - pszDefLabel else pszInLabel is returned. - -Arguments: - - pszInLabel - custom label string passed in with the call to the dump function - pszDefLabel - default label string in case custom label string is not valid - -Return Value: - - pszInLabel if it is valid, else pszDefLabel - ---*/ - -{ - // By design, pszDefLabel is assumed to be a valid, non-empty - // string (since it is supplied internally). - // - if (!pszInLabel || !*pszInLabel) - { - // The caller supplied a NULL string or empty string; - // supply the internal default. - // - return pszDefLabel; - } - - return pszInLabel; -} - -BOOL OEMDebugMessage( - LPCWSTR lpszMessage, - ... - ) - -/*++ - -Routine Description: - - Outputs variable argument debug string. - -Arguments: - - dwSize - size of temp buffer to hold formatted string - lpszMessage - format string - arglist - Variable argument list... - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - va_list VAList; - HRESULT hResult; - - // Parameter checking. - if( NULL == lpszMessage) - { - return FALSE; - } - - LPWSTR lpszMsgBuf = new WCHAR[DEBUG_BUFFER_SIZE]; - if(NULL == lpszMsgBuf) - return FALSE; - - va_start(VAList, lpszMessage); - // Pass the variable parameters to wvsprintf to be formatted. - hResult = StringCchVPrintfW(lpszMsgBuf, DEBUG_BUFFER_SIZE, lpszMessage, VAList); - va_end(VAList); - - // Dump string to debug output. - OutputDebugStringW(lpszMsgBuf); - - // Clean up. - delete[] lpszMsgBuf; - - return SUCCEEDED(hResult); -} - -PCSTR -StripDirPrefixA( - IN PCSTR pstrFilename - ) - -/*++ - -Routine Description: - - Strip the directory prefix off a filename (ANSI version) - -Arguments: - - pstrFilename - Pointer to filename string - -Return Value: - - Pointer to the last component of a filename (without directory prefix) - ---*/ - -{ - PCSTR pstr; - - pstr = strrchr(pstrFilename, PATH_SEPARATOR); - if (pstr) - return pstr + 1; - - return pstrFilename; -} - -void -vDumpFlags( - DWORD dwFlags, - PDBG_FLAGS pDebugFlags - ) - -/*++ - -Routine Description: - - Dumps the combination of flags in members such as - pso->fjBitmap, pstro->flAccel, pfo->flFontType etc. - -Arguments: - - dwFlags - combined value of the relevant member - Example values are pso->fjBitmap, pstro->flAccel - pDebugFlags - structure containing the different possible values - that can be combined in dwFlags - -Return Value: - - NONE - ---*/ - -{ - DWORD dwFound = 0; - BOOL bFirstFlag = FALSE; - - OEMDebugMessage(L"%#x [", dwFlags); - - // Traverse through the list of flags to see if any match - // - for ( ; pDebugFlags->dwFlag; ++pDebugFlags) - { - if(dwFlags & pDebugFlags->dwFlag) - { - if (!bFirstFlag) - { - OEMDebugMessage(L"%s", pDebugFlags->pszFlag); - bFirstFlag = TRUE; - } - else - { - OEMDebugMessage(L" | %s", pDebugFlags->pszFlag); - } - dwFound |= pDebugFlags->dwFlag; - } - } - - OEMDebugMessage(L"]"); - - // - // Check if there are extra bits set that we don't understand. - // - if(dwFound != dwFlags) - { - OEMDebugMessage(L" <ExtraBits: %x>", dwFlags & ~dwFound); - } - - OEMDebugMessage(L"\r\n"); -} - -void -vDumpOemDMParam( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - POEMDMPARAM pOemDMParam - ) - -/*++ - -Routine Description: - - Dumps the members of a OEMDMPARAM structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pOemDMParam - pointer to the OEMDMPARAM strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pOemDMParam"); - - // Return if strct to be dumped is invalid - // - if (!pOemDMParam) - { - OEMDebugMessage(L"\npOemDMParam [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\npOemDMParam [%s]: %#x\r\n", pszLabel, pOemDMParam); - OEMDebugMessage(L"\tcbSize = %d\r\n", pOemDMParam->cbSize); - OEMDebugMessage(L"\tpdriverobj = %#x\r\n", pOemDMParam->pdriverobj); - OEMDebugMessage(L"\thPrinter = %#x\r\n", pOemDMParam->hPrinter); - OEMDebugMessage(L"\thModule = %#x\r\n", pOemDMParam->hModule); - OEMDebugMessage(L"\tpPublicDMIn = %#x\r\n", pOemDMParam->pPublicDMIn); - OEMDebugMessage(L"\tpPublicDMOut = %#x\r\n", pOemDMParam->pPublicDMOut); - OEMDebugMessage(L"\tpOEMDMIn = %#x\r\n", pOemDMParam->pOEMDMIn); - OEMDebugMessage(L"\tpOEMDMOut = %#x\r\n", pOemDMParam->pOEMDMOut); - OEMDebugMessage(L"\tcbBufSize = %d\r\n", pOemDMParam->cbBufSize); - - OEMDebugMessage(L"\n"); - -} - -#if DBG - DBG_FLAGS gafdSURFOBJ_fjBitmap[] = { - { L"BMF_TOPDOWN", BMF_TOPDOWN}, - { L"BMF_NOZEROINIT", BMF_NOZEROINIT}, - { L"BMF_DONTCACHE", BMF_DONTCACHE}, - { L"BMF_USERMEM", BMF_USERMEM}, - { L"BMF_KMSECTION", BMF_KMSECTION}, - { L"BMF_NOTSYSMEM", BMF_NOTSYSMEM}, - { L"BMF_WINDOW_BLT", BMF_WINDOW_BLT}, - {NULL, 0} // The NULL entry is important -// { L"BMF_UMPDMEM", BMF_UMPDMEM}, -// { L"BMF_RESERVED", BMF_RESERVED}, - }; -#else - DBG_FLAGS gafdSURFOBJ_fjBitmap[] = { - {NULL, 0} - }; -#endif - -void -vDumpSURFOBJ( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - SURFOBJ *pso - ) - -/*++ - -Routine Description: - - Dumps the members of a SURFOBJ structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pso - pointer to the SURFOBJ strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pso"); - - // Return if strct to be dumped is invalid - // - if (!pso) - { - OEMDebugMessage(L"\nSURFOBJ [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nSURFOBJ [%s]: %#x\r\n", pszLabel, pso); - OEMDebugMessage(L"\tdhSurf: %#x\r\n", pso->dhsurf); - OEMDebugMessage(L"\thSurf: %#x\r\n", pso->hsurf); - OEMDebugMessage(L"\tdhpdev: %#x\r\n", pso->dhpdev); - OEMDebugMessage(L"\thdev: %#x\r\n", pso->hdev); - OEMDebugMessage(L"\tsizlBitmap: [%ld x %ld]\r\n", pso->sizlBitmap.cx, pso->sizlBitmap.cy); - OEMDebugMessage(L"\tcjBits: %ld\r\n", pso->cjBits); - OEMDebugMessage(L"\tpvBits: %#x\r\n", pso->pvBits); - OEMDebugMessage(L"\tpvScan0: %#x\r\n", pso->pvScan0); - OEMDebugMessage(L"\tlDelta: %ld\r\n", pso->lDelta); - OEMDebugMessage(L"\tiUniq: %ld\r\n", pso->iUniq); - - PWSTR psziBitmapFormat = L"0"; - switch (pso->iBitmapFormat) - { - case BMF_1BPP : psziBitmapFormat = L"BMF_1BPP" ; break; - case BMF_4BPP : psziBitmapFormat = L"BMF_4BPP" ; break; - case BMF_8BPP : psziBitmapFormat = L"BMF_8BPP" ; break; - case BMF_16BPP: psziBitmapFormat = L"BMF_16BPP"; break; - case BMF_24BPP: psziBitmapFormat = L"BMF_24BPP"; break; - case BMF_32BPP: psziBitmapFormat = L"BMF_32BPP"; break; - case BMF_4RLE : psziBitmapFormat = L"BMF_4RLE" ; break; - case BMF_8RLE : psziBitmapFormat = L"BMF_8RLE" ; break; - case BMF_JPEG : psziBitmapFormat = L"BMF_JPEG" ; break; - case BMF_PNG : psziBitmapFormat = L"BMF_PNG " ; break; - } - OEMDebugMessage(L"\tiBitmapFormat: %s\r\n", psziBitmapFormat); - - PWSTR psziType = L"0"; - switch (pso->iType) - { - case STYPE_BITMAP : psziType = L"STYPE_BITMAP" ; break; - case STYPE_DEVBITMAP: psziType = L"STYPE_DEVBITMAP"; break; - case STYPE_DEVICE : psziType = L"STYPE_DEVICE" ; break; - } - OEMDebugMessage(L"\tiType: %s\r\n", psziType); - - OEMDebugMessage(L"\tfjBitmap: "); - if (STYPE_BITMAP == pso->iType) - vDumpFlags(pso->fjBitmap, gafdSURFOBJ_fjBitmap); - else - OEMDebugMessage(L"IGNORE\r\n"); - - OEMDebugMessage(L"\n"); - -} - -#if DBG - DBG_FLAGS gafdSTROBJ_flAccel[] = { - { L"SO_FLAG_DEFAULT_PLACEMENT", SO_FLAG_DEFAULT_PLACEMENT}, - { L"SO_HORIZONTAL", SO_HORIZONTAL}, - { L"SO_VERTICAL", SO_VERTICAL}, - { L"SO_REVERSED", SO_REVERSED}, - { L"SO_ZERO_BEARINGS", SO_ZERO_BEARINGS}, - { L"SO_CHAR_INC_EQUAL_BM_BASE", SO_CHAR_INC_EQUAL_BM_BASE}, - { L"SO_MAXEXT_EQUAL_BM_SIDE", SO_MAXEXT_EQUAL_BM_SIDE}, - { L"SO_DO_NOT_SUBSTITUTE_DEVICE_FONT", SO_DO_NOT_SUBSTITUTE_DEVICE_FONT}, - { L"SO_GLYPHINDEX_TEXTOUT", SO_GLYPHINDEX_TEXTOUT}, - { L"SO_ESC_NOT_ORIENT", SO_ESC_NOT_ORIENT}, - { L"SO_DXDY", SO_DXDY}, - { L"SO_CHARACTER_EXTRA", SO_CHARACTER_EXTRA}, - { L"SO_BREAK_EXTRA", SO_BREAK_EXTRA}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdSTROBJ_flAccel[] = { - {NULL, 0} - }; -#endif - -void -vDumpSTROBJ( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - STROBJ *pstro - ) - -/*++ - -Routine Description: - - Dumps the members of a STROBJ structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pstro - pointer to the STROBJ strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pstro"); - - // Return if strct to be dumped is invalid - // - if (!pstro) - { - OEMDebugMessage(L"\nSTROBJ [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nSTROBJ [%s]: %#x\r\n", pszLabel, pstro); - OEMDebugMessage(L"\tcGlyphs: %ld\r\n", pstro->cGlyphs); - OEMDebugMessage(L"\tflAccel: "); - vDumpFlags(pstro->flAccel, gafdSTROBJ_flAccel); - OEMDebugMessage(L"\tulCharInc: %ld\r\n", pstro->ulCharInc); - OEMDebugMessage(L"\trclBkGround: (%ld, %ld) (%ld, %ld)\r\n", pstro->rclBkGround.left, pstro->rclBkGround.top, pstro->rclBkGround.right, pstro->rclBkGround.bottom); - if (!pstro->pgp) - OEMDebugMessage(L"\tpgp: NULL\r\n"); - else - OEMDebugMessage(L"\tpgp: %#x\r\n", pstro->pgp); - OEMDebugMessage(L"\tpwszOrg: \"%s\"\r\n", pstro->pwszOrg); - - OEMDebugMessage(L"\n"); - -} - -#if DBG - DBG_FLAGS gafdFONTOBJ_flFontType[] = { - { L"FO_TYPE_RASTER", FO_TYPE_RASTER}, - { L"FO_TYPE_DEVICE", FO_TYPE_DEVICE}, - { L"FO_TYPE_TRUETYPE", FO_TYPE_TRUETYPE}, - { L"FO_TYPE_OPENTYPE", 0x8}, - { L"FO_SIM_BOLD", FO_SIM_BOLD}, - { L"FO_SIM_ITALIC", FO_SIM_ITALIC}, - { L"FO_EM_HEIGHT", FO_EM_HEIGHT}, - { L"FO_GRAY16", FO_GRAY16}, - { L"FO_NOGRAY16", FO_NOGRAY16}, - { L"FO_CFF", FO_CFF}, - { L"FO_POSTSCRIPT", FO_POSTSCRIPT}, - { L"FO_MULTIPLEMASTER", FO_MULTIPLEMASTER}, - { L"FO_VERT_FACE", FO_VERT_FACE}, - { L"FO_DBCS_FONT", FO_DBCS_FONT}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdFONTOBJ_flFontType[] = { - {NULL, 0} - }; -#endif - -void -vDumpFONTOBJ( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - FONTOBJ *pfo - ) - -/*++ - -Routine Description: - - Dumps the members of a FONTOBJ structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pfo - pointer to the FONTOBJ strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pfo"); - - // Return if strct to be dumped is invalid - // - if (!pfo) - { - OEMDebugMessage(L"\nFONTOBJ [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nFONTOBJ [%s]: %#x\r\n", pszLabel, pfo); - OEMDebugMessage(L"\tiUniq: %ld\r\n", pfo->iUniq); - OEMDebugMessage(L"\tiFace: %ld\r\n", pfo->iFace); - OEMDebugMessage(L"\tcxMax: %ld\r\n", pfo->cxMax); - OEMDebugMessage(L"\tflFontType: "); - vDumpFlags(pfo->flFontType, gafdFONTOBJ_flFontType); - OEMDebugMessage(L"\tiTTUniq: %#x\r\n", pfo->iTTUniq); - OEMDebugMessage(L"\tiFile: %#x\r\n", pfo->iFile); - OEMDebugMessage(L"\tsizLogResPpi: [%ld x %ld]\r\n", pfo->sizLogResPpi.cx, pfo->sizLogResPpi.cy); - OEMDebugMessage(L"\tulStyleSize: %ld\r\n", pfo->ulStyleSize); - if (!pfo->pvConsumer) - OEMDebugMessage(L"\tpvConsumer: NULL\r\n"); - else - OEMDebugMessage(L"\tpvConsumer: %#x\r\n", pfo->pvConsumer); - if (!pfo->pvProducer) - OEMDebugMessage(L"\tpvProducer: NULL\r\n"); - else - OEMDebugMessage(L"\tpvProducer: %#x\r\n", pfo->pvProducer); - - OEMDebugMessage(L"\n"); - -} - -void -vDumpCLIPOBJ( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - CLIPOBJ *pco - ) - -/*++ - -Routine Description: - - Dumps the members of a CLIPOBJ structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pco - pointer to the CLIPOBJ strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pco"); - - // Return if strct to be dumped is invalid - // - if (!pco) - { - OEMDebugMessage(L"\nCLIPOBJ [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nCLIPOBJ [%s]: %#x\r\n", pszLabel, pco); - OEMDebugMessage(L"\tiUniq: %ld\r\n", pco->iUniq); - OEMDebugMessage(L"\trclBounds: (%ld, %ld) (%ld, %ld)\r\n", pco->rclBounds.left, pco->rclBounds.top, pco->rclBounds.right, pco->rclBounds.bottom); - - PWSTR psziDComplexity = L"Unknown iDComplexity."; - switch (pco->iDComplexity ) - { - case DC_COMPLEX: psziDComplexity = L"DC_COMPLEX"; break; - case DC_RECT: psziDComplexity = L"DC_RECT"; break; - case DC_TRIVIAL: psziDComplexity = L"DC_TRIVIAL"; break; - } - OEMDebugMessage(L"\tiDComplexity: %s\r\n", psziDComplexity); - - PWSTR psziFComplexity = L"0"; - switch (pco->iFComplexity) - { - case FC_COMPLEX: psziFComplexity = L"FC_COMPLEX"; break; - case FC_RECT: psziFComplexity = L"FC_RECT"; break; - case FC_RECT4: psziFComplexity = L"FC_RECT4"; break; - } - OEMDebugMessage(L"\tiFComplexity: %s\r\n", psziFComplexity); - - PWSTR psziMode = L"0"; - switch (pco->iMode) - { - case TC_PATHOBJ: psziMode = L"TC_PATHOBJ"; break; - case TC_RECTANGLES: psziMode = L"TC_RECTANGLES"; break; - } - OEMDebugMessage(L"\tiMode: %s\r\n", psziMode); - - PWSTR pszfjOptions = L"0"; - switch (pco->fjOptions) - { - case OC_BANK_CLIP: pszfjOptions = L"TC_PATHOBJ"; break; - } - OEMDebugMessage(L"\tfjOptions: %s\r\n", pszfjOptions); - - OEMDebugMessage(L"\n"); -} - -#if DBG - DBG_FLAGS gafdBRUSHOBJ_flColorType[] = { - { L"BR_CMYKCOLOR", BR_CMYKCOLOR}, - { L"BR_DEVICE_ICM", BR_DEVICE_ICM}, - { L"BR_HOST_ICM", BR_HOST_ICM}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdBRUSHOBJ_flColorType[] = { - {NULL, 0} - }; -#endif - -void -vDumpBRUSHOBJ( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - BRUSHOBJ *pbo - ) - -/*++ - -Routine Description: - - Dumps the members of a BRUSHOBJ structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pbo - pointer to the BRUSHOBJ strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pbo"); - - // Return if strct to be dumped is invalid - // - if (!pbo) - { - OEMDebugMessage(L"\nBRUSHOBJ [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nBRUSHOBJ [%s]: %#x\r\n", pszLabel, pbo); - OEMDebugMessage(L"\tiSolidColor: %#x\r\n", pbo->iSolidColor); - OEMDebugMessage(L"\tpvRbrush: %#x\r\n", pbo->pvRbrush); - OEMDebugMessage(L"\tflColorType: "); - vDumpFlags(pbo->flColorType, gafdBRUSHOBJ_flColorType); - - OEMDebugMessage(L"\n"); -} - -#if DBG - DBG_FLAGS gafdGDIINFO_flHTFlags[] = { - { L"HT_FLAG_8BPP_CMY332_MASK", HT_FLAG_8BPP_CMY332_MASK}, - { L"HT_FLAG_ADDITIVE_PRIMS", HT_FLAG_ADDITIVE_PRIMS}, - { L"HT_FLAG_DO_DEVCLR_XFORM", HT_FLAG_DO_DEVCLR_XFORM}, - { L"HT_FLAG_HAS_BLACK_DYE", HT_FLAG_HAS_BLACK_DYE}, - { L"HT_FLAG_HIGH_INK_ABSORPTION", HT_FLAG_HIGH_INK_ABSORPTION}, - { L"HT_FLAG_HIGHER_INK_ABSORPTION", HT_FLAG_HIGHER_INK_ABSORPTION}, - { L"HT_FLAG_HIGHEST_INK_ABSORPTION", HT_FLAG_HIGHEST_INK_ABSORPTION}, - { L"HT_FLAG_INK_ABSORPTION_IDX0", HT_FLAG_INK_ABSORPTION_IDX0}, - { L"HT_FLAG_INK_ABSORPTION_IDX1", HT_FLAG_INK_ABSORPTION_IDX1}, - { L"HT_FLAG_INK_ABSORPTION_IDX2", HT_FLAG_INK_ABSORPTION_IDX2}, - { L"HT_FLAG_INK_ABSORPTION_IDX3", HT_FLAG_INK_ABSORPTION_IDX3}, - { L"HT_FLAG_INK_HIGH_ABSORPTION", HT_FLAG_INK_HIGH_ABSORPTION}, - { L"HT_FLAG_LOW_INK_ABSORPTION", HT_FLAG_LOW_INK_ABSORPTION}, - { L"HT_FLAG_LOWER_INK_ABSORPTION", HT_FLAG_LOWER_INK_ABSORPTION}, - { L"HT_FLAG_LOWEST_INK_ABSORPTION", HT_FLAG_LOWEST_INK_ABSORPTION}, - { L"HT_FLAG_OUTPUT_CMY", HT_FLAG_OUTPUT_CMY}, - { L"HT_FLAG_PRINT_DRAFT_MODE", HT_FLAG_PRINT_DRAFT_MODE}, - { L"HT_FLAG_SQUARE_DEVICE_PEL", HT_FLAG_SQUARE_DEVICE_PEL}, - { L"HT_FLAG_USE_8BPP_BITMASK", HT_FLAG_USE_8BPP_BITMASK}, - { L"HT_FLAG_NORMAL_INK_ABSORPTION", HT_FLAG_NORMAL_INK_ABSORPTION}, -// { L"HT_FLAG_INVERT_8BPP_BITMASK_IDX", HT_FLAG_INVERT_8BPP_BITMASK_IDX}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdGDIINFO_flHTFlags[] = { - {NULL, 0} - }; -#endif - -void -vDumpGDIINFO( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - GDIINFO *pGdiInfo - ) - -/*++ - -Routine Description: - - Dumps the members of a GDIINFO structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pGdiInfo - pointer to the GDIINFO strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pGdiInfo"); - - // Return if strct to be dumped is invalid - // - if (!pGdiInfo) - { - OEMDebugMessage(L"\nGDIINFO [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nGDIINFO [%s]: %#x\r\n", pszLabel, pGdiInfo); - OEMDebugMessage(L"\tulVersion: %#x\r\n", pGdiInfo->ulVersion); - - PWSTR pszulTechnology = L"???"; - switch (pGdiInfo->ulTechnology) - { - case DT_PLOTTER: pszulTechnology = L"DT_PLOTTER"; break; - case DT_RASDISPLAY: pszulTechnology = L"DT_RASDISPLAY"; break; - case DT_RASPRINTER: pszulTechnology = L"DT_RASPRINTER"; break; - case DT_RASCAMERA: pszulTechnology = L"DT_RASCAMERA"; break; - case DT_CHARSTREAM: pszulTechnology = L"DT_CHARSTREAM"; break; - } - OEMDebugMessage(L"\tulTechnology: %ld [%s]\r\n", pGdiInfo->ulTechnology, pszulTechnology); - - OEMDebugMessage(L"\tulHorzSize: %ld\r\n", pGdiInfo->ulHorzSize); - OEMDebugMessage(L"\tulVertSize: %ld\r\n", pGdiInfo->ulVertSize); - OEMDebugMessage(L"\tulHorzRes: %ld\r\n", pGdiInfo->ulHorzRes); - OEMDebugMessage(L"\tulVertRes: %ld\r\n", pGdiInfo->ulVertRes); - OEMDebugMessage(L"\tcBitsPixel: %ld\r\n", pGdiInfo->cBitsPixel); - OEMDebugMessage(L"\tcPlanes: %ld\r\n", pGdiInfo->cPlanes); - OEMDebugMessage(L"\tulNumColors: %ld\r\n", pGdiInfo->ulNumColors); - OEMDebugMessage(L"\tflRaster: %#x\r\n", pGdiInfo->flRaster); - OEMDebugMessage(L"\tulLogPixelsX: %ld\r\n", pGdiInfo->ulLogPixelsX); - OEMDebugMessage(L"\tulLogPixelsY: %ld\r\n", pGdiInfo->ulLogPixelsY); - - PWSTR pszTextCaps = L"Text scrolling through DrvBitBlt/DrvCopyBits"; - if (TC_SCROLLBLT == (pGdiInfo->flTextCaps & TC_SCROLLBLT)) - { - pszTextCaps = L"Text scrolling through DrvTextOut"; - } - OEMDebugMessage(L"\tflTextCaps: %s\n", pszTextCaps); - - OEMDebugMessage(L"\tulDACRed: %#x\r\n", pGdiInfo->ulDACRed); - OEMDebugMessage(L"\tulDACGreen: %#x\r\n", pGdiInfo->ulDACGreen); - OEMDebugMessage(L"\tulDACBlue: %#x\r\n", pGdiInfo->ulDACBlue); - OEMDebugMessage(L"\tulAspectX: %ld\r\n", pGdiInfo->ulAspectX); - OEMDebugMessage(L"\tulAspectY: %ld\r\n", pGdiInfo->ulAspectY); - OEMDebugMessage(L"\tulAspectXY: %ld\r\n", pGdiInfo->ulAspectXY); - OEMDebugMessage(L"\txStyleStep: %ld\r\n", pGdiInfo->xStyleStep); - OEMDebugMessage(L"\tyStyleStep: %ld\r\n", pGdiInfo->yStyleStep); - OEMDebugMessage(L"\tdenStyleStep: %ld\r\n", pGdiInfo->denStyleStep); - OEMDebugMessage(L"\tptlPhysOffset: (%ld, %ld)\r\n", pGdiInfo->ptlPhysOffset.x, pGdiInfo->ptlPhysOffset.y); - OEMDebugMessage(L"\tszlPhysSize: (%ld, %ld)\r\n", pGdiInfo->szlPhysSize.cx, pGdiInfo->szlPhysSize.cy); - OEMDebugMessage(L"\tulNumPalReg: %ld\r\n", pGdiInfo->ulNumPalReg); - OEMDebugMessage(L"\tulDevicePelsDPI: %ld\r\n", pGdiInfo->ulDevicePelsDPI); - - PWSTR pszPrimaryOrder = L"???"; - switch(pGdiInfo->ulPrimaryOrder) - { - case PRIMARY_ORDER_ABC: pszPrimaryOrder = L"PRIMARY_ORDER_ABC [RGB/CMY]"; break; - case PRIMARY_ORDER_ACB: pszPrimaryOrder = L"PRIMARY_ORDER_ACB [RBG/CYM]"; break; - case PRIMARY_ORDER_BAC: pszPrimaryOrder = L"PRIMARY_ORDER_BAC [GRB/MCY]"; break; - case PRIMARY_ORDER_BCA: pszPrimaryOrder = L"PRIMARY_ORDER_BCA [GBR/MYC]"; break; - case PRIMARY_ORDER_CBA: pszPrimaryOrder = L"PRIMARY_ORDER_CBA [BGR/YMC]"; break; - case PRIMARY_ORDER_CAB: pszPrimaryOrder = L"PRIMARY_ORDER_CAB [BRG/YCM]"; break; - } - OEMDebugMessage(L"\tulPrimaryOrder: %s\n", pszPrimaryOrder); - - PWSTR pszHTPat = L"???"; - switch(pGdiInfo->ulHTPatternSize) - { - case HT_PATSIZE_2x2 : pszHTPat = L"HT_PATSIZE_2x2 "; break; - case HT_PATSIZE_2x2_M : pszHTPat = L"HT_PATSIZE_2x2_M"; break; - case HT_PATSIZE_4x4 : pszHTPat = L"HT_PATSIZE_4x4"; break; - case HT_PATSIZE_4x4_M : pszHTPat = L"HT_PATSIZE_4x4_M"; break; - case HT_PATSIZE_6x6 : pszHTPat = L"HT_PATSIZE_6x6"; break; - case HT_PATSIZE_6x6_M : pszHTPat = L"HT_PATSIZE_6x6_M"; break; - case HT_PATSIZE_8x8 : pszHTPat = L"HT_PATSIZE_8x8"; break; - case HT_PATSIZE_8x8_M : pszHTPat = L"HT_PATSIZE_8x8_M"; break; - case HT_PATSIZE_10x10 : pszHTPat = L"HT_PATSIZE_10x10"; break; - case HT_PATSIZE_10x10_M : pszHTPat = L"HT_PATSIZE_10x10_M"; break; - case HT_PATSIZE_12x12 : pszHTPat = L"HT_PATSIZE_12x12"; break; - case HT_PATSIZE_12x12_M : pszHTPat = L"HT_PATSIZE_12x12_M"; break; - case HT_PATSIZE_14x14 : pszHTPat = L"HT_PATSIZE_14x14"; break; - case HT_PATSIZE_14x14_M : pszHTPat = L"HT_PATSIZE_14x14_M"; break; - case HT_PATSIZE_16x16 : pszHTPat = L"HT_PATSIZE_16x16"; break; - case HT_PATSIZE_16x16_M : pszHTPat = L"HT_PATSIZE_16x16_M"; break; - case HT_PATSIZE_SUPERCELL : pszHTPat = L"HT_PATSIZE_SUPERCELL"; break; - case HT_PATSIZE_SUPERCELL_M : pszHTPat = L"HT_PATSIZE_SUPERCELL_M"; break; - case HT_PATSIZE_USER : pszHTPat = L"HT_PATSIZE_USER"; break; -// case HT_PATSIZE_MAX_INDEX : pszHTPat = L"HT_PATSIZE_MAX_INDEX"; break; -// case HT_PATSIZE_DEFAULT : pszHTPat = L"HT_PATSIZE_DEFAULT"; break; - } - OEMDebugMessage(L"\tulHTPatternSize: %s\n", pszHTPat); - - PWSTR pszHTOutputFormat = L"???"; - switch(pGdiInfo->ulHTOutputFormat) - { - case HT_FORMAT_1BPP : pszHTOutputFormat = L"HT_FORMAT_1BPP"; break; - case HT_FORMAT_4BPP : pszHTOutputFormat = L"HT_FORMAT_4BPP"; break; - case HT_FORMAT_4BPP_IRGB : pszHTOutputFormat = L"HT_FORMAT_4BPP_IRGB"; break; - case HT_FORMAT_8BPP : pszHTOutputFormat = L"HT_FORMAT_8BPP"; break; - case HT_FORMAT_16BPP : pszHTOutputFormat = L"HT_FORMAT_16BPP"; break; - case HT_FORMAT_24BPP : pszHTOutputFormat = L"HT_FORMAT_24BPP"; break; - case HT_FORMAT_32BPP : pszHTOutputFormat = L"HT_FORMAT_32BPP"; break; - } - OEMDebugMessage(L"\tulHTOutputFormat: %s\n", pszHTOutputFormat); - - OEMDebugMessage(L"\tflHTFlags: "); - vDumpFlags(pGdiInfo->flHTFlags, gafdGDIINFO_flHTFlags); - OEMDebugMessage(L"\tulVRefresh: %ld\r\n", pGdiInfo->ulVRefresh); - OEMDebugMessage(L"\tulBltAlignment: %ld\r\n", pGdiInfo->ulBltAlignment); - OEMDebugMessage(L"\tulPanningHorzRes: %ld\r\n", pGdiInfo->ulPanningHorzRes); - OEMDebugMessage(L"\tulPanningVertRes: %ld\r\n", pGdiInfo->ulPanningVertRes); - OEMDebugMessage(L"\txPanningAlignment: %ld\r\n", pGdiInfo->xPanningAlignment); - OEMDebugMessage(L"\tyPanningAlignment: %ld\r\n", pGdiInfo->yPanningAlignment); - OEMDebugMessage(L"\tcxHTPat: %ld\r\n", pGdiInfo->cxHTPat); - OEMDebugMessage(L"\tcyHTPat: %ld\r\n", pGdiInfo->cyHTPat); - OEMDebugMessage(L"\tpHTPatA: %#x\r\n", pGdiInfo->pHTPatA); - OEMDebugMessage(L"\tpHTPatB: %#x\r\n", pGdiInfo->pHTPatB); - OEMDebugMessage(L"\tpHTPatC: %#x\r\n", pGdiInfo->pHTPatC); - OEMDebugMessage(L"\tflShadeBlend: %#x\r\n", pGdiInfo->flShadeBlend); - - PWSTR pszPhysPixChars = L"???"; - switch(pGdiInfo->ulPhysicalPixelCharacteristics) - { - case PPC_DEFAULT: pszPhysPixChars = L"PPC_DEFAULT"; break; - case PPC_BGR_ORDER_HORIZONTAL_STRIPES: pszPhysPixChars = L"PPC_BGR_ORDER_HORIZONTAL_STRIPES"; break; - case PPC_BGR_ORDER_VERTICAL_STRIPES: pszPhysPixChars = L"PPC_BGR_ORDER_VERTICAL_STRIPES"; break; - case PPC_RGB_ORDER_HORIZONTAL_STRIPES: pszPhysPixChars = L"PPC_RGB_ORDER_HORIZONTAL_STRIPES"; break; - case PPC_RGB_ORDER_VERTICAL_STRIPES: pszPhysPixChars = L"PPC_RGB_ORDER_VERTICAL_STRIPES"; break; - case PPC_UNDEFINED: pszPhysPixChars = L"PPC_UNDEFINED"; break; - } - OEMDebugMessage(L"\tulPhysicalPixelCharacteristics: %s\n", pszPhysPixChars); - - PWSTR pszPhysPixGamma = L"???"; - switch(pGdiInfo->ulPhysicalPixelGamma) - { - case PPG_DEFAULT: pszPhysPixGamma = L"PPG_DEFAULT"; break; - case PPG_SRGB : pszPhysPixGamma = L"PPG_SRGB"; break; - } - OEMDebugMessage(L"\tulPhysicalPixelGamma: %s\n", pszPhysPixGamma); - - OEMDebugMessage(L"\n"); -} - -#if DBG - DBG_FLAGS gafdDEVINFO_flGraphicsCaps[] = { - { L"GCAPS_BEZIERS", GCAPS_BEZIERS}, - { L"GCAPS_GEOMETRICWIDE", GCAPS_GEOMETRICWIDE}, - { L"GCAPS_ALTERNATEFILL", GCAPS_ALTERNATEFILL}, - { L"GCAPS_WINDINGFILL", GCAPS_WINDINGFILL}, - { L"GCAPS_HALFTONE", GCAPS_HALFTONE}, - { L"GCAPS_COLOR_DITHER", GCAPS_COLOR_DITHER}, - { L"GCAPS_HORIZSTRIKE", GCAPS_HORIZSTRIKE}, - { L"GCAPS_VERTSTRIKE", GCAPS_VERTSTRIKE}, - { L"GCAPS_OPAQUERECT", GCAPS_OPAQUERECT}, - { L"GCAPS_VECTORFONT", GCAPS_VECTORFONT}, - { L"GCAPS_MONO_DITHER", GCAPS_MONO_DITHER}, - { L"GCAPS_ASYNCCHANGE", GCAPS_ASYNCCHANGE}, - { L"GCAPS_ASYNCMOVE", GCAPS_ASYNCMOVE}, - { L"GCAPS_DONTJOURNAL", GCAPS_DONTJOURNAL}, - { L"GCAPS_DIRECTDRAW", GCAPS_DIRECTDRAW}, - { L"GCAPS_ARBRUSHOPAQUE", GCAPS_ARBRUSHOPAQUE}, - { L"GCAPS_PANNING", GCAPS_PANNING}, - { L"GCAPS_PALMANAGED", GCAPS_PALMANAGED}, - { L"GCAPS_DITHERONREALIZE", GCAPS_DITHERONREALIZE}, - { L"GCAPS_NO64BITMEMACCESS", GCAPS_NO64BITMEMACCESS}, - { L"GCAPS_FORCEDITHER", GCAPS_FORCEDITHER}, - { L"GCAPS_GRAY16", GCAPS_GRAY16}, - { L"GCAPS_ICM", GCAPS_ICM}, - { L"GCAPS_CMYKCOLOR", GCAPS_CMYKCOLOR}, - { L"GCAPS_LAYERED", GCAPS_LAYERED}, - { L"GCAPS_ARBRUSHTEXT", GCAPS_ARBRUSHTEXT}, - { L"GCAPS_SCREENPRECISION", GCAPS_SCREENPRECISION}, - { L"GCAPS_FONT_RASTERIZER", GCAPS_FONT_RASTERIZER}, - { L"GCAPS_NUP", GCAPS_NUP}, - {NULL, 0} // The NULL entry is important - }; - - DBG_FLAGS gafdDEVINFO_flGraphicsCaps2[] = { - { L"GCAPS2_JPEGSRC", GCAPS2_JPEGSRC}, - { L"GCAPS2_xxxx", GCAPS2_xxxx}, - { L"GCAPS2_PNGSRC", GCAPS2_PNGSRC}, - { L"GCAPS2_CHANGEGAMMARAMP", GCAPS2_CHANGEGAMMARAMP}, - { L"GCAPS2_ALPHACURSOR", GCAPS2_ALPHACURSOR}, - { L"GCAPS2_SYNCFLUSH", GCAPS2_SYNCFLUSH}, - { L"GCAPS2_SYNCTIMER", GCAPS2_SYNCTIMER}, - { L"GCAPS2_ICD_MULTIMON", GCAPS2_ICD_MULTIMON}, - { L"GCAPS2_MOUSETRAILS", GCAPS2_MOUSETRAILS}, - { L"GCAPS2_REMOTEDRIVER", GCAPS2_REMOTEDRIVER}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdDEVINFO_flGraphicsCaps[] = { - {NULL, 0} - }; - - DBG_FLAGS gafdDEVINFO_flGraphicsCaps2[] = { - {NULL, 0} - }; -#endif - -void -vDumpDEVINFO( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - DEVINFO *pDevInfo - ) - -/*++ - -Routine Description: - - Dumps the members of a DEVINFO structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pDevInfo - pointer to the DEVINFO strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pDevInfo"); - - // Return if strct to be dumped is invalid - // - if (!pDevInfo) - { - OEMDebugMessage(L"\nDEVINFO [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nDEVINFO [%s]: %#x\r\n", pszLabel, pDevInfo); - OEMDebugMessage(L"\tflGraphicsCaps: "); - vDumpFlags(pDevInfo->flGraphicsCaps, gafdDEVINFO_flGraphicsCaps); - OEMDebugMessage(L"\tcFonts: %ld\r\n", pDevInfo->cFonts); - - PWSTR psziDitherFormat = L"0"; - switch (pDevInfo->iDitherFormat) - { - case BMF_1BPP : psziDitherFormat = L"BMF_1BPP" ; break; - case BMF_4BPP : psziDitherFormat = L"BMF_4BPP" ; break; - case BMF_8BPP : psziDitherFormat = L"BMF_8BPP" ; break; - case BMF_16BPP: psziDitherFormat = L"BMF_16BPP"; break; - case BMF_24BPP: psziDitherFormat = L"BMF_24BPP"; break; - case BMF_32BPP: psziDitherFormat = L"BMF_32BPP"; break; - case BMF_4RLE : psziDitherFormat = L"BMF_4RLE" ; break; - case BMF_8RLE : psziDitherFormat = L"BMF_8RLE" ; break; - case BMF_JPEG : psziDitherFormat = L"BMF_JPEG" ; break; - case BMF_PNG : psziDitherFormat = L"BMF_PNG " ; break; - } - OEMDebugMessage(L"\tiDitherFormat: %s\r\n", psziDitherFormat); - - OEMDebugMessage(L"\tcxDither: %ld\r\n", pDevInfo->cxDither); - OEMDebugMessage(L"\tcyDither: %ld\r\n", pDevInfo->cyDither); - OEMDebugMessage(L"\thpalDefault: %#x\r\n", pDevInfo->hpalDefault); - OEMDebugMessage(L"\tflGraphicsCaps2: "); - vDumpFlags(pDevInfo->flGraphicsCaps2, gafdDEVINFO_flGraphicsCaps2); - - OEMDebugMessage(L"\n"); -} - -void -vDumpBitmapInfoHeader( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - BITMAPINFOHEADER *pBitmapInfoHeader - ) - -/*++ - -Routine Description: - - Dumps the members of a BITMAPINFOHEADER structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pBitmapInfoHeader - pointer to the BITMAPINFOHEADER strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pBitmapInfoHeader"); - - // Return if strct to be dumped is invalid - // - if (!pBitmapInfoHeader) - { - OEMDebugMessage(L"\nBITMAPINFOHEADER [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nBITMAPINFOHEADER [%s]: %#x\r\n", pszLabel, pBitmapInfoHeader); - OEMDebugMessage(L"\tbiSize: %ld\r\n", pBitmapInfoHeader->biSize); - OEMDebugMessage(L"\tbiWidth: %ld\r\n", pBitmapInfoHeader->biWidth); - OEMDebugMessage(L"\tbiHeight: %ld\r\n", pBitmapInfoHeader->biHeight); - OEMDebugMessage(L"\tbiPlanes: %ld\r\n", pBitmapInfoHeader->biPlanes); - OEMDebugMessage(L"\tbiBitCount: %ld\r\n", pBitmapInfoHeader->biBitCount); - - PWSTR pszbiCompression = L"0"; - switch (pBitmapInfoHeader->biCompression) - { - case BI_RGB : pszbiCompression = L"BI_RGB" ; break; - case BI_RLE8 : pszbiCompression = L"BI_RLE8" ; break; - case BI_RLE4 : pszbiCompression = L"BI_RLE4" ; break; - case BI_BITFIELDS: pszbiCompression = L"BI_BITFIELDS"; break; - case BI_JPEG : pszbiCompression = L"BI_JPEG" ; break; - case BI_PNG : pszbiCompression = L"BI_PNG " ; break; - } - OEMDebugMessage(L"\tbiCompression: %s\r\n", pszbiCompression); - - OEMDebugMessage(L"\tbiSizeImage: %ld\r\n", pBitmapInfoHeader->biSizeImage); - OEMDebugMessage(L"\tbiXPelsPerMeter: %ld\r\n", pBitmapInfoHeader->biXPelsPerMeter); - OEMDebugMessage(L"\tbiYPelsPerMeter: %ld\r\n", pBitmapInfoHeader->biYPelsPerMeter); - OEMDebugMessage(L"\tbiClrUsed: %ld\r\n", pBitmapInfoHeader->biClrUsed); - OEMDebugMessage(L"\tbiClrImportant: %ld\r\n", pBitmapInfoHeader->biClrImportant); - - OEMDebugMessage(L"\n"); -} - -void -vDumpPOINTL( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - POINTL *pptl - ) - -/*++ - -Routine Description: - - Dumps the members of a POINTL structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pptl - pointer to the POINTL strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pptl"); - - // Return if strct to be dumped is invalid - // - if (!pptl) - { - OEMDebugMessage(L"\nPOINTL [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nPOINTL [%s]: %#x (%ld, %ld)\r\n", pszLabel, pptl, pptl->x, pptl->y); - - OEMDebugMessage(L"\n"); -} - -void -vDumpRECTL( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - RECTL *prcl - ) - -/*++ - -Routine Description: - - Dumps the members of a RECTL structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - prcl - pointer to the RECTL strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"prcl"); - - // Return if strct to be dumped is invalid - // - if (!prcl) - { - OEMDebugMessage(L"\nRECTL [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nRECTL [%s]: %#x (%ld, %ld) (%ld, %ld)\r\n", pszLabel, prcl, prcl->left, prcl->top, prcl->right, prcl->bottom); - - OEMDebugMessage(L"\n"); -} - -#if DBG - DBG_FLAGS gafdXLATEOBJ_flXlate[] = { - { L"XO_DEVICE_ICM", XO_DEVICE_ICM}, - { L"XO_FROM_CMYK", XO_FROM_CMYK}, - { L"XO_HOST_ICM", XO_HOST_ICM}, - { L"XO_TABLE", XO_TABLE}, - { L"XO_TO_MONO", XO_TO_MONO}, - { L"XO_TRIVIAL", XO_TRIVIAL}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdXLATEOBJ_flXlate[] = { - {NULL, 0} - }; -#endif - -void -vDumpXLATEOBJ( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - XLATEOBJ *pxlo - ) - -/*++ - -Routine Description: - - Dumps the members of a XLATEOBJ structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pxlo - pointer to the XLATEOBJ strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pxlo"); - - // Return if strct to be dumped is invalid - // - if (!pxlo) - { - OEMDebugMessage(L"\nXLATEOBJ [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nXLATEOBJ [%s]: %#x\r\n", pszLabel, pxlo); - OEMDebugMessage(L"\tiUniq: %ld\r\n", pxlo->iUniq); - OEMDebugMessage(L"\tflXlate: "); - vDumpFlags(pxlo->flXlate, gafdXLATEOBJ_flXlate); - OEMDebugMessage(L"\tiSrcType: %ld [obsolete]\r\n", pxlo->iSrcType); - OEMDebugMessage(L"\tiDstType: %ld [obsolete]\r\n", pxlo->iDstType); - OEMDebugMessage(L"\tcEntries: %ld\r\n", pxlo->cEntries); - if (pxlo->pulXlate) - OEMDebugMessage(L"\tpulXlate: %#x [%ld]\r\n", pxlo->pulXlate, *pxlo->pulXlate); - else - OEMDebugMessage(L"\tpulXlate: %#x\r\n", pxlo->pulXlate); - - OEMDebugMessage(L"\n"); -} - -#if DBG - DBG_FLAGS gafdCOLORADJUSTMENT_caFlags[] = { - { L"CA_NEGATIVE", CA_NEGATIVE}, - { L"CA_LOG_FILTER", CA_LOG_FILTER}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdCOLORADJUSTMENT_caFlags[] = { - {NULL, 0} - }; -#endif - -void -vDumpCOLORADJUSTMENT( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - COLORADJUSTMENT *pca - ) - -/*++ - -Routine Description: - - Dumps the members of a COLORADJUSTMENT structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pca - pointer to the COLORADJUSTMENT strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pca"); - - // Return if strct to be dumped is invalid - // - if (!pca) - { - OEMDebugMessage(L"\nCOLORADJUSTMENT [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nCOLORADJUSTMENT [%s]: %#x\r\n", pszLabel, pca); - OEMDebugMessage(L"\tcaSize: %#x\r\n", pca->caSize); - OEMDebugMessage(L"\tcaFlags: "); - if (pca->caFlags) - vDumpFlags(pca->caFlags, gafdCOLORADJUSTMENT_caFlags); - else - OEMDebugMessage(L"NULL\r\n"); - - PWSTR pszcaIlluminantIndex = L"0"; - switch (pca->caIlluminantIndex) - { - case ILLUMINANT_DEVICE_DEFAULT: pszcaIlluminantIndex = L"ILLUMINANT_DEVICE_DEFAULT" ; break; - case ILLUMINANT_A: pszcaIlluminantIndex = L"ILLUMINANT_A [Tungsten lamp]" ; break; - case ILLUMINANT_B: pszcaIlluminantIndex = L"ILLUMINANT_B [Noon sunlight]" ; break; - case ILLUMINANT_C: pszcaIlluminantIndex = L"ILLUMINANT_C [NTSC daylight]" ; break; - case ILLUMINANT_D50: pszcaIlluminantIndex = L"ILLUMINANT_D50 [Normal print]" ; break; - case ILLUMINANT_D55: pszcaIlluminantIndex = L"ILLUMINANT_D55 [Bond paper print]" ; break; - case ILLUMINANT_D65: pszcaIlluminantIndex = L"ILLUMINANT_D65 [Standard daylight]" ; break; - case ILLUMINANT_D75: pszcaIlluminantIndex = L"ILLUMINANT_D75 [Northern daylight]" ; break; - case ILLUMINANT_F2: pszcaIlluminantIndex = L"ILLUMINANT_F2 [Cool white lamp]" ; break; - } - OEMDebugMessage(L"\tcaIlluminantIndex: %s\r\n", pszcaIlluminantIndex); - - OEMDebugMessage(L"\tcaRedGamma: %d\r\n", (int)pca->caRedGamma); - OEMDebugMessage(L"\tcaGreenGamma: %d\r\n", (int)pca->caGreenGamma); - OEMDebugMessage(L"\tcaBlueGamma: %d\r\n", (int)pca->caBlueGamma); - OEMDebugMessage(L"\tcaReferenceBlack: %d\r\n", (int)pca->caReferenceBlack); - OEMDebugMessage(L"\tcaReferenceWhite: %d\r\n", (int)pca->caReferenceWhite); - OEMDebugMessage(L"\tcaContrast: %d\r\n", (int)pca->caContrast); - OEMDebugMessage(L"\tcaBrightness: %d\r\n", (int)pca->caBrightness); - OEMDebugMessage(L"\tcaColorfulness: %d\r\n", (int)pca->caColorfulness); - OEMDebugMessage(L"\tcaRedGreenTint: %d\r\n", (int)pca->caRedGreenTint); - - OEMDebugMessage(L"\n"); -} - -#endif - |
