📄 debug.cpp
字号:
// Return if strct to be dumped is invalid
//
if (!pDevInfo)
{
OEMDebugMessage(TEXT("\nDEVINFO [%s]: NULL\r\n"), pszLabel);
// Nothing else to output
//
return;
}
// Format the data
//
OEMDebugMessage(TEXT("\nDEVINFO [%s]: %#x\r\n"), pszLabel, pDevInfo);
OEMDebugMessage(TEXT("\tflGraphicsCaps: "));
vDumpFlags(pDevInfo->flGraphicsCaps, gafdDEVINFO_flGraphicsCaps);
OEMDebugMessage(TEXT("\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(TEXT("\tiDitherFormat: %s\r\n"), psziDitherFormat);
OEMDebugMessage(TEXT("\tcxDither: %ld\r\n"), pDevInfo->cxDither);
OEMDebugMessage(TEXT("\tcyDither: %ld\r\n"), pDevInfo->cyDither);
OEMDebugMessage(TEXT("\thpalDefault: %#x\r\n"), pDevInfo->hpalDefault);
OEMDebugMessage(TEXT("\tflGraphicsCaps2: "));
vDumpFlags(pDevInfo->flGraphicsCaps2, gafdDEVINFO_flGraphicsCaps2);
OEMDebugMessage(TEXT("\n"));
}
void __stdcall
COemUniDbg::
vDumpBitmapInfoHeader(
INT iDebugLevel,
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(TEXT("\nBITMAPINFOHEADER [%s]: NULL\r\n"), pszLabel);
// Nothing else to output
//
return;
}
// Format the data
//
OEMDebugMessage(TEXT("\nBITMAPINFOHEADER [%s]: %#x\r\n"), pszLabel, pBitmapInfoHeader);
OEMDebugMessage(TEXT("\tbiSize: %ld\r\n"), pBitmapInfoHeader->biSize);
OEMDebugMessage(TEXT("\tbiWidth: %ld\r\n"), pBitmapInfoHeader->biWidth);
OEMDebugMessage(TEXT("\tbiHeight: %ld\r\n"), pBitmapInfoHeader->biHeight);
OEMDebugMessage(TEXT("\tbiPlanes: %ld\r\n"), pBitmapInfoHeader->biPlanes);
OEMDebugMessage(TEXT("\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(TEXT("\tbiCompression: %s\r\n"), pszbiCompression);
OEMDebugMessage(TEXT("\tbiSizeImage: %ld\r\n"), pBitmapInfoHeader->biSizeImage);
OEMDebugMessage(TEXT("\tbiXPelsPerMeter: %ld\r\n"), pBitmapInfoHeader->biXPelsPerMeter);
OEMDebugMessage(TEXT("\tbiYPelsPerMeter: %ld\r\n"), pBitmapInfoHeader->biYPelsPerMeter);
OEMDebugMessage(TEXT("\tbiClrUsed: %ld\r\n"), pBitmapInfoHeader->biClrUsed);
OEMDebugMessage(TEXT("\tbiClrImportant: %ld\r\n"), pBitmapInfoHeader->biClrImportant);
OEMDebugMessage(TEXT("\n"));
}
void __stdcall
COemUniDbg::
vDumpPOINTL(
INT iDebugLevel,
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(TEXT("\nPOINTL [%s]: NULL\r\n"), pszLabel);
// Nothing else to output
//
return;
}
// Format the data
//
OEMDebugMessage(TEXT("\nPOINTL [%s]: %#x (%ld, %ld)\r\n"), pszLabel, pptl, pptl->x, pptl->y);
OEMDebugMessage(TEXT("\n"));
}
void __stdcall
COemUniDbg::
vDumpRECTL(
INT iDebugLevel,
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(TEXT("\nRECTL [%s]: NULL\r\n"), pszLabel);
// Nothing else to output
//
return;
}
// Format the data
//
OEMDebugMessage(TEXT("\nRECTL [%s]: %#x (%ld, %ld) (%ld, %ld)\r\n"), pszLabel, prcl, prcl->left, prcl->top, prcl->right, prcl->bottom);
OEMDebugMessage(TEXT("\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 __stdcall
COemUniDbg::
vDumpXLATEOBJ(
INT iDebugLevel,
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(TEXT("\nXLATEOBJ [%s]: NULL\r\n"), pszLabel);
// Nothing else to output
//
return;
}
// Format the data
//
OEMDebugMessage(TEXT("\nXLATEOBJ [%s]: %#x\r\n"), pszLabel, pxlo);
OEMDebugMessage(TEXT("\tiUniq: %ld\r\n"), pxlo->iUniq);
OEMDebugMessage(TEXT("\tflXlate: "));
vDumpFlags(pxlo->flXlate, gafdXLATEOBJ_flXlate);
OEMDebugMessage(TEXT("\tiSrcType: %ld [obsolete]\r\n"), pxlo->iSrcType);
OEMDebugMessage(TEXT("\tiDstType: %ld [obsolete]\r\n"), pxlo->iDstType);
OEMDebugMessage(TEXT("\tcEntries: %ld\r\n"), pxlo->cEntries);
if (pxlo->pulXlate)
OEMDebugMessage(TEXT("\tpulXlate: %#x [%ld]\r\n"), pxlo->pulXlate, *pxlo->pulXlate);
else
OEMDebugMessage(TEXT("\tpulXlate: %#x\r\n"), pxlo->pulXlate);
OEMDebugMessage(TEXT("\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 __stdcall
COemUniDbg::
vDumpCOLORADJUSTMENT(
INT iDebugLevel,
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(TEXT("\nCOLORADJUSTMENT [%s]: NULL\r\n"), pszLabel);
// Nothing else to output
//
return;
}
// Format the data
//
OEMDebugMessage(TEXT("\nCOLORADJUSTMENT [%s]: %#x\r\n"), pszLabel, pca);
OEMDebugMessage(TEXT("\tcaSize: %#x\r\n"), pca->caSize);
OEMDebugMessage(TEXT("\tcaFlags: "));
if (pca->caFlags)
vDumpFlags(pca->caFlags, gafdCOLORADJUSTMENT_caFlags);
else
OEMDebugMessage(TEXT("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(TEXT("\tcaIlluminantIndex: %s\r\n"), pszcaIlluminantIndex);
OEMDebugMessage(TEXT("\tcaRedGamma: %d\r\n"), (int)pca->caRedGamma);
OEMDebugMessage(TEXT("\tcaGreenGamma: %d\r\n"), (int)pca->caGreenGamma);
OEMDebugMessage(TEXT("\tcaBlueGamma: %d\r\n"), (int)pca->caBlueGamma);
OEMDebugMessage(TEXT("\tcaReferenceBlack: %d\r\n"), (int)pca->caReferenceBlack);
OEMDebugMessage(TEXT("\tcaReferenceWhite: %d\r\n"), (int)pca->caReferenceWhite);
OEMDebugMessage(TEXT("\tcaContrast: %d\r\n"), (int)pca->caContrast);
OEMDebugMessage(TEXT("\tcaBrightness: %d\r\n"), (int)pca->caBrightness);
OEMDebugMessage(TEXT("\tcaColorfulness: %d\r\n"), (int)pca->caColorfulness);
OEMDebugMessage(TEXT("\tcaRedGreenTint: %d\r\n"), (int)pca->caRedGreenTint);
OEMDebugMessage(TEXT("\n"));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -