void CXFA_ContainerLayoutItem::GetPageSize(CFX_SizeF& size) { size.clear(); CXFA_Node* pMedium = m_pFormNode->GetFirstChildByClass(XFA_ELEMENT_Medium); if (!pMedium) return; size = CFX_SizeF(pMedium->GetMeasure(XFA_ATTRIBUTE_Short).ToUnit(XFA_UNIT_Pt), pMedium->GetMeasure(XFA_ATTRIBUTE_Long).ToUnit(XFA_UNIT_Pt)); if (pMedium->GetEnum(XFA_ATTRIBUTE_Orientation) == XFA_ATTRIBUTEENUM_Landscape) { size = CFX_SizeF(size.y, size.x); } }
CFX_SizeF CXFA_ContainerLayoutItem::GetPageSize() const { CFX_SizeF size; CXFA_Node* pMedium = m_pFormNode->GetFirstChildByClass(XFA_Element::Medium); if (!pMedium) return size; size = CFX_SizeF(pMedium->GetMeasure(XFA_ATTRIBUTE_Short).ToUnit(XFA_UNIT_Pt), pMedium->GetMeasure(XFA_ATTRIBUTE_Long).ToUnit(XFA_UNIT_Pt)); if (pMedium->GetEnum(XFA_ATTRIBUTE_Orientation) == XFA_ATTRIBUTEENUM_Landscape) { size = CFX_SizeF(size.height, size.width); } return size; }
CFX_SizeF IFWL_Widget::GetOffsetFromParent(IFWL_Widget* pParent) { if (pParent == this) return CFX_SizeF(); CFWL_WidgetMgr* pWidgetMgr = GetOwnerApp()->GetWidgetMgr(); if (!pWidgetMgr) return CFX_SizeF(); CFX_SizeF szRet(m_pProperties->m_rtWidget.left, m_pProperties->m_rtWidget.top); IFWL_Widget* pDstWidget = GetParent(); while (pDstWidget && pDstWidget != pParent) { CFX_RectF rtDst; pDstWidget->GetWidgetRect(rtDst); szRet += CFX_SizeF(rtDst.left, rtDst.top); pDstWidget = pWidgetMgr->GetParentWidget(pDstWidget); } return szRet; }
void CXFA_FFField::LayoutCaption() { CXFA_TextLayout* pCapTextLayout = m_pDataAcc->GetCaptionTextLayout(); if (!pCapTextLayout) return; FX_FLOAT fHeight = 0; pCapTextLayout->Layout(CFX_SizeF(m_rtCaption.width, m_rtCaption.height), &fHeight); if (m_rtCaption.height < fHeight) m_rtCaption.height = fHeight; }
CFX_SizeF IFWL_Widget::CalcTextSize(const CFX_WideString& wsText, IFWL_ThemeProvider* pTheme, bool bMultiLine, int32_t iLineWidth) { if (!pTheme) return CFX_SizeF(); CFWL_ThemeText calPart; calPart.m_pWidget = this; calPart.m_wsText = wsText; calPart.m_dwTTOStyles = bMultiLine ? FDE_TTOSTYLE_LineWrap : FDE_TTOSTYLE_SingleLine; calPart.m_iTTOAlign = FDE_TTOALIGNMENT_TopLeft; CFX_RectF rect; FX_FLOAT fWidth = bMultiLine ? (iLineWidth > 0 ? (FX_FLOAT)iLineWidth : FWL_WGT_CalcMultiLineDefWidth) : FWL_WGT_CalcWidth; rect.Set(0, 0, fWidth, FWL_WGT_CalcHeight); pTheme->CalcTextRect(&calPart, rect); return CFX_SizeF(rect.width, rect.height); }
void CXFA_FFField::RenderCaption(CFX_Graphics* pGS, CFX_Matrix* pMatrix) { CXFA_TextLayout* pCapTextLayout = m_pDataAcc->GetCaptionTextLayout(); if (!pCapTextLayout) { return; } CXFA_Caption caption = m_pDataAcc->GetCaption(); if (caption && caption.GetPresence() == XFA_ATTRIBUTEENUM_Visible) { if (!pCapTextLayout->IsLoaded()) { pCapTextLayout->Layout(CFX_SizeF(m_rtCaption.width, m_rtCaption.height)); } CFX_RectF rtWidget; GetRectWithoutRotate(rtWidget); CFX_RectF rtClip = m_rtCaption; rtClip.Intersect(rtWidget); CFX_RenderDevice* pRenderDevice = pGS->GetRenderDevice(); CFX_Matrix mt; mt.Set(1, 0, 0, 1, m_rtCaption.left, m_rtCaption.top); if (pMatrix) { pMatrix->TransformRect(rtClip); mt.Concat(*pMatrix); } pCapTextLayout->DrawString(pRenderDevice, mt, rtClip); } }
CFX_SizeF CPDF_VariableText::GetPlateSize() const { return CFX_SizeF(GetPlateWidth(), GetPlateHeight()); }
CFX_SizeF CTypeset::GetEditSize(FX_FLOAT fFontSize) { ASSERT(m_pSection); ASSERT(m_pVT); SplitLines(FALSE, fFontSize); return CFX_SizeF(m_rcRet.Width(), m_rcRet.Height()); }