void CBigMap::DrawBigMap() { CFRect rtWnd = CFRect( 0, 0, (float)GetWndWidth(), (float)GetWndHeight() ); CColor uColor = CColor::White; CVector2f vStart( (float)GetWndHandle()->m_xScreen, (float)GetWndHandle()->m_yScreen ); CVector2f rtScreen[4] = { vStart , vStart + CVector2f((float)GetWndHandle()->m_Width,0.0f) , vStart + CVector2f(0.0f,(float)GetWndHandle()->m_Height) , vStart + CVector2f((float)GetWndHandle()->m_Width,(float)GetWndHandle()->m_Height)}; float Zoom = GetRootWnd()->GetZoomSize(); IMAGE& image = GetWndHandle()->m_Enable.GetImage(0); CFRect rtImage((float)image.posWnd.x, (float)image.posWnd.y, image.posWnd.x + abs(image.rtTexture.Width()), image.posWnd.y + abs(image.rtTexture.Height())); rtImage.top *= Zoom; rtImage.left *= Zoom; rtImage.bottom *= Zoom; rtImage.right *= Zoom; CFRect rtDraw = rtWnd.Intersection(rtImage).Offset(0.0f,0.0f); CFRect rtText( image.rtTexture.left, image.rtTexture.top, ( rtImage.right - rtImage.left )*image.rtTexture.Width() /rtImage.Width() + image.rtTexture.left, ( rtImage.bottom - rtImage.top )*image.rtTexture.Height()/rtImage.Height() + image.rtTexture.top); if(m_bOpen&&!m_bClose) DrawRect(m_MapTextureOpen, rtDraw, uColor, &rtText,false); else DrawRect( rtScreen, uColor,m_pAlphaTexture,m_MapTextureOpen,m_MapTextureClose/*,&rtText,m_BackTexUV*/, RS_GUI_BIGMAP, GetWndHandle()->m_fZ ); }
void CXFA_FFImageEdit::SetFWLRect() { if (!m_pNormalWidget) { return; } CFX_RectF rtUIMargin; m_pDataAcc->GetUIMargin(rtUIMargin); CFX_RectF rtImage(m_rtUI); rtImage.Deflate(rtUIMargin.left, rtUIMargin.top, rtUIMargin.width, rtUIMargin.height); m_pNormalWidget->SetWidgetRect(rtImage); }
void sqr::SQRRichToolTip::DrawToolTip( SQRWnd* pWnd ) { if ( !pWnd->GetRichToolTip()->CanBeShow() ) return; WndHandle* pHandle = pWnd->GetWndHandle(); SQRRichToolTip* pToolTip = pWnd->GetRichToolTip(); // does here need root wnd? May be yes SQRRootWnd* pRootWnd = pWnd->GetRootWnd(); SQRRichToolTip* pParentToolTip = NULL; uint32 temp = pRootWnd->GetStyleIndex(); int32 nFontSize = int32(pWnd->GetFontSize() * pWnd->GetWndZoom()); while(pToolTip != NULL) { #ifdef TEXTURE_STINT_MODE if (!pToolTip->m_bTexInit) { pToolTip->m_bTexInit = true; pToolTip->m_Image.CreatTex( pWnd->GetGraphic() ); } #endif // 底图绘制 // 画底图的方式不变 if (pToolTip->m_Image.GetImageCount() > 0) { pRootWnd->SetStyleIndex(pToolTip->m_uStyle); IMAGE& image = pToolTip->m_Image.GetImage(0); float imagePosX = float(pToolTip->m_DrawPos.x); float imagePosY = float(pToolTip->m_DrawPos.y) ; CFRect rtImage(imagePosX, imagePosY , imagePosX + image.rtTexture.Width(), imagePosY + image.rtTexture.Height()); pRootWnd->DrawRect(pToolTip->m_Image, &rtImage, 0.0f, 0.0f); } // 文字绘制 // 主要是窗体的绘制 UIList<SQRWnd*>::iterator it = pToolTip->m_ChildList.begin(); UIList<SQRWnd*>::iterator itend = pToolTip->m_ChildList.end(); while ( it != itend ) { pToolTip->Draw( (*it) ); ++it; } pParentToolTip = pToolTip; pToolTip = pToolTip->GetChildToolTip(); } pRootWnd->SetStyleIndex(temp); }
void sqr::SQRToolTip::DrawToolTip( SQRWnd* pWnd ) { WndHandle* pHandle = pWnd->GetWndHandle(); SQRToolTip* pToolTip = pWnd->GetToolTipRichText(); SQRRootWnd* pRootWnd = pWnd->GetRootWnd(); SQRToolTip* pParentToolTip = NULL; uint32 temp = pRootWnd->GetStyleIndex(); int32 nFontSize = int32(pWnd->GetFontSize() * pWnd->GetWndZoom()); while(pToolTip != NULL) { #ifdef TEXTURE_STINT_MODE if (!pToolTip->m_bTexInit) { pToolTip->m_bTexInit = true; pToolTip->m_Image.CreatTex( pWnd->GetGraphic() ); } #endif // µ×ͼ»æÖÆ float imagePosX = float(pToolTip->m_DrawPos.x); float imagePosY = float(pToolTip->m_DrawPos.y) ; if (pToolTip->m_Image.GetImageCount() > 0) { pRootWnd->SetStyleIndex(pToolTip->m_uStyle); IMAGE& image = pToolTip->m_Image.GetImage(0); CFRect rtImage(imagePosX, imagePosY , imagePosX + image.rtTexture.Width(), imagePosY + image.rtTexture.Height()); pRootWnd->DrawRect(pToolTip->m_Image, &rtImage, 0.0f, 0.0f); } // ÎÄ×Ö»æÖÆ pToolTip->Draw(pRootWnd, imagePosX + nFontSize/2, imagePosY + nFontSize/2); pParentToolTip = pToolTip; pToolTip = pToolTip->GetChildToolTip(); } pRootWnd->SetStyleIndex(temp); }