Exemple #1
0
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);
}
Exemple #4
0
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);
}