static void PaintScreen() { if(_pdpDrawPort==NULL) { return; } _pdpDrawPort->SetAsCurrent(); // clear browsing window _pdpDrawPort->FillZBuffer( ZBUF_BACK); _pdpDrawPort->Fill( C_GRAY | CT_OPAQUE); if(_pfdCurrentFont!=NULL && _pfdCurrentFont->fd_ptdTextureData!=NULL && _ptdGrid!=NULL) { PIX pixWidth = _pfdCurrentFont->fd_ptdTextureData->GetPixWidth(); PIX pixHeight = _pfdCurrentFont->fd_ptdTextureData->GetPixHeight(); PIXaabbox2D rectPict; rectPict = PIXaabbox2D( PIX2D(0, 0), PIX2D(pixWidth, pixHeight)); if(_bShowTexture) { // Show texture _toPreview.SetData(_pfdCurrentFont->fd_ptdTextureData); _pdpDrawPort->PutTexture(&_toPreview,rectPict); // if grid must be shown if(_bShowGrid) { // Show character grid _toPreview.SetData(_ptdGrid); _pdpDrawPort->PutTexture(&_toPreview,rectPict); } // Show texture grid _pdpDrawPort->DrawLine(0,0,pixWidth,0,0xFFFF00FF); _pdpDrawPort->DrawLine(0,0,0,pixHeight,0xFFFF00FF); _pdpDrawPort->DrawLine(0,pixHeight,pixWidth,pixHeight,0xFFFF00FF); _pdpDrawPort->DrawLine(pixWidth,0,pixWidth,pixHeight,0xFFFF00FF); _toPreview.SetData(NULL); } else { char strSampleText[2048]; GetDlgItemText(_hWnd,IEC_SAMPLE_TEXT,strSampleText,2047); _pdpDrawPort->SetFont( _pfdCurrentFont); _pdpDrawPort->PutText( strSampleText, 0, 0, 0xFFFFFFFF); } } if(_pvpViewPort!=NULL) { // swap it _pvpViewPort->SwapBuffers(); } }
void CMGTrigger::Render(CDrawPort *pdp) { SetFontMedium(pdp); PIXaabbox2D box = FloatBoxToPixBox(pdp, mg_boxOnScreen); PIX pixIL = box.Min()(1) + box.Size()(1)*0.45f; PIX pixIR = box.Min()(1) + box.Size()(1)*0.55f; PIX pixJ = box.Min()(2); COLOR col = GetCurrentColor(); if (!mg_bVisual || mg_strValue == "") { CTString strValue = mg_strValue; if (mg_bVisual) { strValue = TRANS("none"); } if (mg_iCenterI == -1) { pdp->PutText(mg_strLabel, box.Min()(1), pixJ, col); pdp->PutTextR(strValue, box.Max()(1), pixJ, col); } else { pdp->PutTextR(mg_strLabel, pixIL, pixJ, col); pdp->PutText(strValue, pixIR, pixJ, col); } } else { CTString strLabel = mg_strLabel + ": "; pdp->PutText(strLabel, box.Min()(1), pixJ, col); CTextureObject to; try { to.SetData_t(mg_strValue); CTextureData *ptd = (CTextureData *)to.GetData(); PIX pixSize = box.Size()(2); PIX pixCX = box.Max()(1) - pixSize / 2; PIX pixCY = box.Center()(2); pdp->PutTexture(&to, PIXaabbox2D( PIX2D(pixCX - pixSize / 2, pixCY - pixSize / 2), PIX2D(pixCX - pixSize / 2 + pixSize, pixCY - pixSize / 2 + pixSize)), C_WHITE | 255); } catch (char *strError) { CPrintF("%s\n", strError); } to.SetData(NULL); } }