📄 scemf2text.cpp
字号:
);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfRESTOREDC()
{
// TRACE0("**EMR_RESTOREDC\n");
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T("iRelative(%d)"),
((EMRRESTOREDC*)m_pRecord)->iRelative);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfSETWORLDTRANSFORM()
{
// TRACE0("**EMR_SETWORLDTRANSFORM\n");
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(SC_STRFMT_XFORM,
SC_PARAM_XFORM(((EMRSETWORLDTRANSFORM*)m_pRecord)->xform));
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfMODIFYWORLDTRANSFORM()
{
// TRACE0("**EMR_MODIFYWORLDTRANSFORM\n");
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T("%s, ") SC_STRFMT_XFORM,
SCFormatModifyWorldTransformModeText(((EMRMODIFYWORLDTRANSFORM*)m_pRecord)->iMode),
SC_PARAM_XFORM(((EMRMODIFYWORLDTRANSFORM*)m_pRecord)->xform));
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfSELECTOBJECT()
{
// TRACE0("**EMR_SELECTOBJECT\n");
if (m_bLogRecord)
{
EMRSELECTOBJECT *pRec = (EMRSELECTOBJECT*)m_pRecord;
// Check stock objects
HGDIOBJ hGdiObj;
if (pRec->ihObject & 0x80000000) // this is a stock object
hGdiObj = GetStockObject( pRec->ihObject & 0x7fffffff );
else
hGdiObj = (HGDIOBJ)m_lpEnumHandleTable->objectHandle[pRec->ihObject];
CString sExtra;
sExtra.Format(_T("%s=%s"),
SCObjectIndexText(pRec->ihObject),
SCGDIObjectTypeText(hGdiObj));
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfCREATEPEN()
{
// TRACE0("**EMR_CREATEPEN\n");
if (m_bLogRecord)
{
EMRCREATEPEN *pRec = (EMRCREATEPEN*)m_pRecord;
CString sExtra;
sExtra.Format(_T("ihPen(%d), style(%d=%s), width(%d), color(0x%08X)"),
pRec->ihPen,
pRec->lopn.lopnStyle,
SCPenStyleText(pRec->lopn.lopnStyle),
pRec->lopn.lopnWidth.x,
pRec->lopn.lopnColor);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfCREATEBRUSHINDIRECT()
{
// TRACE0("**EMR_CREATEBRUSHINDIRECT\n");
if (m_bLogRecord)
{
#ifdef SC_LOG_RAWDATA_ONLY
// raw data
EMRCREATEBRUSHINDIRECT *pRec = (EMRCREATEBRUSHINDIRECT*)m_pRecord;
CString sExtra;
sExtra.Format(_T("ihBrush(%d), style(%d = %s), color(0x%08X), hatch(0x%08X)"),
pRec->ihBrush,
pRec->lb.lbStyle,
SCBrushStyleText(pRec->lb.lbStyle),
pRec->lb.lbColor,
pRec->lb.lbHatch);
#else
// interpreted data
CString sExtra;
sExtra.Format(_T("ihBrush(%d), %s"),
((EMRCREATEBRUSHINDIRECT*)m_pRecord)->ihBrush,
SCLogBrushStyleText(((EMRCREATEBRUSHINDIRECT*)m_pRecord)->lb));
#endif
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfDELETEOBJECT()
{
// TRACE0("**EMR_DELETEOBJECT\n");
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T("ihObject(%d)"),
((EMRDELETEOBJECT*)m_pRecord)->ihObject);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfANGLEARC()
{
// TRACE0("**EMR_ANGLEARC\n");
EMRANGLEARC *pRec = (EMRANGLEARC*)m_pRecord;
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T("ptlCenter(%d,%d), Radius:%d, StartAngle:%.3f, SweepAngle:%.3f"),
SC_PARAM_POINT(pRec->ptlCenter),
pRec->nRadius,
pRec->eStartAngle,
pRec->eSweepAngle);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfELLIPSE()
{
// TRACE0("**EMR_ELLIPSE\n");
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T("Box(%d,%d,%d,%d)"),
SC_PARAM_RECT(((EMRELLIPSE*)m_pRecord)->rclBox));
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfRECTANGLE()
{
// TRACE0("**EMR_RECTANGLE\n");
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T("Box(%d,%d,%d,%d)"),
SC_PARAM_RECT(((EMRRECTANGLE*)m_pRecord)->rclBox));
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfROUNDRECT()
{
// TRACE0("**EMR_ROUNDRECT\n");
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T("Box(%d,%d,%d,%d), Corner(%d,%d)"),
SC_PARAM_RECT(((EMRROUNDRECT*)m_pRecord)->rclBox),
SC_PARAM_SIZE(((EMRROUNDRECT*)m_pRecord)->szlCorner));
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfARC()
{
// TRACE0("**EMR_ARC\n");
EMRARC *pRec = (EMRARC*)m_pRecord;
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T("Box(%d,%d,%d,%d), Start(%d,%d), End(%d,%d)"),
SC_PARAM_RECT(pRec->rclBox),
SC_PARAM_POINT(pRec->ptlStart),
SC_PARAM_POINT(pRec->ptlEnd));
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfSELECTPALETTE()
{
// TRACE0("**EMR_SELECTPALETTE\n");
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T("ihPal(%s)"),
SCObjectIndexText(((EMRSELECTPALETTE*)m_pRecord)->ihPal));
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfCREATEPALETTE()
{
// TRACE0("**EMR_CREATEPALETTE\n");
if (m_bLogRecord)
{
EMRCREATEPALETTE *pRec = (EMRCREATEPALETTE*)m_pRecord;
CString sExtra;
sExtra.Format(_T("ihPal(%d) LOGPAL[ver:%d, entries:%d]"),
pRec->ihPal, pRec->lgpl.palVersion, pRec->lgpl.palNumEntries);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfSETPALETTEENTRIES()
{
// TRACE0("**EMR_SETPALETTEENTRIES\n");
EMRSETPALETTEENTRIES *pRec = (EMRSETPALETTEENTRIES*)m_pRecord;
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T("ihPal(%d) [iStart:%d, cEntries:%d]"),
pRec->ihPal, pRec->iStart, pRec->cEntries);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfRESIZEPALETTE()
{
// TRACE0("**EMR_RESIZEPALETTE\n");
if (m_bLogRecord)
{
EMRRESIZEPALETTE *pRec = (EMRRESIZEPALETTE*)m_pRecord;
CString sExtra;
sExtra.Format(_T("ihPal(%d) [cEntries:%d]"),
pRec->ihPal, pRec->cEntries);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfEXTFLOODFILL()
{
// TRACE0("**EMR_EXTFLOODFILL\n");
if (m_bLogRecord)
{
EMREXTFLOODFILL *pRec = (EMREXTFLOODFILL*)m_pRecord;
CString sExtra;
sExtra.Format(_T(" ptlStart(%d,%d), crColor(") SC_STRFMT_COLOR _T(") FillMode(%d=%s)"),
SC_PARAM_POINT(pRec->ptlStart),
pRec->crColor,
pRec->iMode, SCFloodFillModeText(pRec->iMode));
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfLINETO()
{
// TRACE0("**EMR_LINETO\n");
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T(" ptl(%d,%d)"),
SC_PARAM_POINT(((EMRLINETO*)m_pRecord)->ptl));
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfPOLYDRAW()
{
// TRACE0("**EMR_POLYDRAW\n");
if (m_bLogRecord)
{
EMRPOLYDRAW *pRec = (EMRPOLYDRAW*)m_pRecord;
CString sExtra = SCPolygonText(pRec->rclBounds, pRec->aptl, pRec->cptl);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfSETARCDIRECTION()
{
// TRACE0("**EMR_SETARCDIRECTION\n");
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T("Direction:%d"),
((EMRSETARCDIRECTION*)m_pRecord)->iArcDirection);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfSETMITERLIMIT()
{
// TRACE0("**EMR_SETMITERLIMIT\n");
if (m_bLogRecord)
{
CString sExtra;
sExtra.Format(_T("Limit:%.3f"),
((EMRSETMITERLIMIT*)m_pRecord)->eMiterLimit);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfFILLPATH()
{
// TRACE0("**EMR_FILLPATH\n");
if (m_bLogRecord)
{
CString sExtra = SCBoundsText(((EMRFILLPATH*)m_pRecord)->rclBounds);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfSELECTCLIPPATH()
{
// TRACE0("**EMR_SELECTCLIPPATH\n");
if (m_bLogRecord)
{
CString sExtra = SCFormatRgnModeText(((EMRSELECTCLIPPATH*)m_pRecord)->iMode);
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfGDICOMMENT()
{
// TRACE0("**EMR_GDICOMMENT\n");
if (m_bLogRecord)
{
CString sExtra;
DWORD* pDW = (DWORD*)((EMRGDICOMMENT*)m_pRecord)->Data;
if (GDICOMMENT_IDENTIFIER==*pDW)
{
pDW++;
sExtra = SCGDICommentText(*pDW);
} else
sExtra = _T("Private");
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfFILLRGN()
{
// TRACE0("**EMR_FILLRGN\n");
if (m_bLogRecord)
{
EMRFILLRGN *pRec = (EMRFILLRGN*)m_pRecord;
CString sExtra;
sExtra.Format(_T("%s, ihBrush(%d), %s"),
SCBoundsText(pRec->rclBounds),
pRec->ihBrush,
SCRegionDataText((RGNDATA*)pRec->RgnData, pRec->cbRgnData));
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfFRAMERGN()
{
// TRACE0("**EMR_FRAMERGN\n");
if (m_bLogRecord)
{
EMRFRAMERGN *pRec = (EMRFRAMERGN*)m_pRecord;
CString sExtra;
sExtra.Format(_T("%s, Strokes(h:%d, v:%d), ihBrush(%d), %s"),
SCBoundsText(pRec->rclBounds),
SC_PARAM_SIZE(pRec->szlStroke),
pRec->ihBrush,
SCRegionDataText((RGNDATA*)pRec->RgnData, pRec->cbRgnData));
return SCExtraLog(sExtra);
}
SCPlayRecord();
return SC_BRK_NOERROR;
}
SC_BRKRESULT CSCEMF2Text::OnEmfPAINTRGN()
{
// TRACE0("**EMR_PAINTRGN\n");
if (m_bLogRecord)
{
EMRPAINTRGN *pRec = (EMRPAINTRGN*)m_pRecord;
CString sExtra;
sExtra.Format(_T("%s, %s"),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -