From 4d48bbfd5378ffe70a17ad613b9c167ad3ef03b2 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Tue, 7 Nov 2017 20:24:10 +0000 Subject: Rename CXFA_Font to CXFA_FontData This CL renames CXFA_Font to CXFA_FontData to make it clear this is part of the data hierarchy. The GetFontNode methods were renamed to GetFontData to match the return type. Change-Id: I5d5b9200eedc9c8c1bd8929a5a0df3d2663d7e3d Reviewed-on: https://pdfium-review.googlesource.com/17983 Reviewed-by: Tom Sepez Commit-Queue: dsinclair --- xfa/fxfa/parser/cxfa_captiondata.cpp | 6 +-- xfa/fxfa/parser/cxfa_captiondata.h | 4 +- xfa/fxfa/parser/cxfa_font.cpp | 95 ------------------------------------ xfa/fxfa/parser/cxfa_font.h | 36 -------------- xfa/fxfa/parser/cxfa_fontdata.cpp | 95 ++++++++++++++++++++++++++++++++++++ xfa/fxfa/parser/cxfa_fontdata.h | 36 ++++++++++++++ xfa/fxfa/parser/cxfa_widgetdata.cpp | 4 +- xfa/fxfa/parser/cxfa_widgetdata.h | 4 +- 8 files changed, 140 insertions(+), 140 deletions(-) delete mode 100644 xfa/fxfa/parser/cxfa_font.cpp delete mode 100644 xfa/fxfa/parser/cxfa_font.h create mode 100644 xfa/fxfa/parser/cxfa_fontdata.cpp create mode 100644 xfa/fxfa/parser/cxfa_fontdata.h (limited to 'xfa/fxfa/parser') diff --git a/xfa/fxfa/parser/cxfa_captiondata.cpp b/xfa/fxfa/parser/cxfa_captiondata.cpp index db18f9a159..1f84959d05 100644 --- a/xfa/fxfa/parser/cxfa_captiondata.cpp +++ b/xfa/fxfa/parser/cxfa_captiondata.cpp @@ -34,9 +34,9 @@ CXFA_Margin CXFA_CaptionData::GetMargin() { : nullptr); } -CXFA_Font CXFA_CaptionData::GetFont() { - return CXFA_Font(m_pNode ? m_pNode->GetChild(0, XFA_Element::Font, false) - : nullptr); +CXFA_FontData CXFA_CaptionData::GetFontData() { + return CXFA_FontData(m_pNode ? m_pNode->GetChild(0, XFA_Element::Font, false) + : nullptr); } CXFA_Value CXFA_CaptionData::GetValue() { diff --git a/xfa/fxfa/parser/cxfa_captiondata.h b/xfa/fxfa/parser/cxfa_captiondata.h index 605a837a1b..0a14c1f8fa 100644 --- a/xfa/fxfa/parser/cxfa_captiondata.h +++ b/xfa/fxfa/parser/cxfa_captiondata.h @@ -8,7 +8,7 @@ #define XFA_FXFA_PARSER_CXFA_CAPTIONDATA_H_ #include "xfa/fxfa/parser/cxfa_data.h" -#include "xfa/fxfa/parser/cxfa_font.h" +#include "xfa/fxfa/parser/cxfa_fontdata.h" #include "xfa/fxfa/parser/cxfa_margin.h" #include "xfa/fxfa/parser/cxfa_value.h" @@ -22,7 +22,7 @@ class CXFA_CaptionData : public CXFA_Data { int32_t GetPlacementType(); float GetReserve(); CXFA_Margin GetMargin(); - CXFA_Font GetFont(); + CXFA_FontData GetFontData(); CXFA_Value GetValue(); }; diff --git a/xfa/fxfa/parser/cxfa_font.cpp b/xfa/fxfa/parser/cxfa_font.cpp deleted file mode 100644 index 9de43535b5..0000000000 --- a/xfa/fxfa/parser/cxfa_font.cpp +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright 2016 PDFium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com - -#include "xfa/fxfa/parser/cxfa_font.h" - -#include "core/fxge/fx_dib.h" -#include "xfa/fxfa/parser/cxfa_filldata.h" -#include "xfa/fxfa/parser/cxfa_measurement.h" -#include "xfa/fxfa/parser/cxfa_node.h" - -CXFA_Font::CXFA_Font(CXFA_Node* pNode) : CXFA_Data(pNode) {} - -float CXFA_Font::GetBaselineShift() { - return m_pNode->JSNode() - ->GetMeasure(XFA_ATTRIBUTE_BaselineShift) - .ToUnit(XFA_UNIT_Pt); -} - -float CXFA_Font::GetHorizontalScale() { - WideString wsValue; - m_pNode->JSNode()->TryCData(XFA_ATTRIBUTE_FontHorizontalScale, wsValue, true); - int32_t iScale = FXSYS_wtoi(wsValue.c_str()); - return iScale > 0 ? (float)iScale : 100.0f; -} - -float CXFA_Font::GetVerticalScale() { - WideString wsValue; - m_pNode->JSNode()->TryCData(XFA_ATTRIBUTE_FontVerticalScale, wsValue, true); - int32_t iScale = FXSYS_wtoi(wsValue.c_str()); - return iScale > 0 ? (float)iScale : 100.0f; -} - -float CXFA_Font::GetLetterSpacing() { - WideStringView wsValue; - if (!m_pNode->JSNode()->TryCData(XFA_ATTRIBUTE_LetterSpacing, wsValue, true)) - return 0; - - CXFA_Measurement ms(wsValue); - if (ms.GetUnit() == XFA_UNIT_Em) - return ms.GetValue() * GetFontSize(); - return ms.ToUnit(XFA_UNIT_Pt); -} - -int32_t CXFA_Font::GetLineThrough() { - int32_t iValue = 0; - m_pNode->JSNode()->TryInteger(XFA_ATTRIBUTE_LineThrough, iValue, true); - return iValue; -} - -int32_t CXFA_Font::GetUnderline() { - int32_t iValue = 0; - m_pNode->JSNode()->TryInteger(XFA_ATTRIBUTE_Underline, iValue, true); - return iValue; -} - -int32_t CXFA_Font::GetUnderlinePeriod() { - XFA_ATTRIBUTEENUM eAttr = XFA_ATTRIBUTEENUM_All; - m_pNode->JSNode()->TryEnum(XFA_ATTRIBUTE_UnderlinePeriod, eAttr, true); - return eAttr; -} - -float CXFA_Font::GetFontSize() { - CXFA_Measurement ms; - m_pNode->JSNode()->TryMeasure(XFA_ATTRIBUTE_Size, ms, true); - return ms.ToUnit(XFA_UNIT_Pt); -} - -void CXFA_Font::GetTypeface(WideStringView& wsTypeFace) { - m_pNode->JSNode()->TryCData(XFA_ATTRIBUTE_Typeface, wsTypeFace, true); -} - -bool CXFA_Font::IsBold() { - XFA_ATTRIBUTEENUM eAttr = XFA_ATTRIBUTEENUM_Normal; - m_pNode->JSNode()->TryEnum(XFA_ATTRIBUTE_Weight, eAttr, true); - return eAttr == XFA_ATTRIBUTEENUM_Bold; -} - -bool CXFA_Font::IsItalic() { - XFA_ATTRIBUTEENUM eAttr = XFA_ATTRIBUTEENUM_Normal; - m_pNode->JSNode()->TryEnum(XFA_ATTRIBUTE_Posture, eAttr, true); - return eAttr == XFA_ATTRIBUTEENUM_Italic; -} - -void CXFA_Font::SetColor(FX_ARGB color) { - CXFA_FillData(m_pNode->JSNode()->GetProperty(0, XFA_Element::Fill, true)) - .SetColor(color); -} - -FX_ARGB CXFA_Font::GetColor() { - CXFA_FillData fillData(m_pNode->GetChild(0, XFA_Element::Fill, false)); - return fillData ? fillData.GetColor(true) : 0xFF000000; -} diff --git a/xfa/fxfa/parser/cxfa_font.h b/xfa/fxfa/parser/cxfa_font.h deleted file mode 100644 index af0c348aa7..0000000000 --- a/xfa/fxfa/parser/cxfa_font.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2016 PDFium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com - -#ifndef XFA_FXFA_PARSER_CXFA_FONT_H_ -#define XFA_FXFA_PARSER_CXFA_FONT_H_ - -#include "core/fxge/fx_dib.h" -#include "xfa/fxfa/parser/cxfa_data.h" - -class CXFA_Node; - -class CXFA_Font : public CXFA_Data { - public: - explicit CXFA_Font(CXFA_Node* pNode); - - float GetBaselineShift(); - float GetHorizontalScale(); - float GetVerticalScale(); - float GetLetterSpacing(); - int32_t GetLineThrough(); - int32_t GetUnderline(); - int32_t GetUnderlinePeriod(); - float GetFontSize(); - void GetTypeface(WideStringView& wsTypeFace); - - bool IsBold(); - bool IsItalic(); - - FX_ARGB GetColor(); - void SetColor(FX_ARGB color); -}; - -#endif // XFA_FXFA_PARSER_CXFA_FONT_H_ diff --git a/xfa/fxfa/parser/cxfa_fontdata.cpp b/xfa/fxfa/parser/cxfa_fontdata.cpp new file mode 100644 index 0000000000..df1e812239 --- /dev/null +++ b/xfa/fxfa/parser/cxfa_fontdata.cpp @@ -0,0 +1,95 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "xfa/fxfa/parser/cxfa_fontdata.h" + +#include "core/fxge/fx_dib.h" +#include "xfa/fxfa/parser/cxfa_filldata.h" +#include "xfa/fxfa/parser/cxfa_measurement.h" +#include "xfa/fxfa/parser/cxfa_node.h" + +CXFA_FontData::CXFA_FontData(CXFA_Node* pNode) : CXFA_Data(pNode) {} + +float CXFA_FontData::GetBaselineShift() { + return m_pNode->JSNode() + ->GetMeasure(XFA_ATTRIBUTE_BaselineShift) + .ToUnit(XFA_UNIT_Pt); +} + +float CXFA_FontData::GetHorizontalScale() { + WideString wsValue; + m_pNode->JSNode()->TryCData(XFA_ATTRIBUTE_FontHorizontalScale, wsValue, true); + int32_t iScale = FXSYS_wtoi(wsValue.c_str()); + return iScale > 0 ? (float)iScale : 100.0f; +} + +float CXFA_FontData::GetVerticalScale() { + WideString wsValue; + m_pNode->JSNode()->TryCData(XFA_ATTRIBUTE_FontVerticalScale, wsValue, true); + int32_t iScale = FXSYS_wtoi(wsValue.c_str()); + return iScale > 0 ? (float)iScale : 100.0f; +} + +float CXFA_FontData::GetLetterSpacing() { + WideStringView wsValue; + if (!m_pNode->JSNode()->TryCData(XFA_ATTRIBUTE_LetterSpacing, wsValue, true)) + return 0; + + CXFA_Measurement ms(wsValue); + if (ms.GetUnit() == XFA_UNIT_Em) + return ms.GetValue() * GetFontSize(); + return ms.ToUnit(XFA_UNIT_Pt); +} + +int32_t CXFA_FontData::GetLineThrough() { + int32_t iValue = 0; + m_pNode->JSNode()->TryInteger(XFA_ATTRIBUTE_LineThrough, iValue, true); + return iValue; +} + +int32_t CXFA_FontData::GetUnderline() { + int32_t iValue = 0; + m_pNode->JSNode()->TryInteger(XFA_ATTRIBUTE_Underline, iValue, true); + return iValue; +} + +int32_t CXFA_FontData::GetUnderlinePeriod() { + XFA_ATTRIBUTEENUM eAttr = XFA_ATTRIBUTEENUM_All; + m_pNode->JSNode()->TryEnum(XFA_ATTRIBUTE_UnderlinePeriod, eAttr, true); + return eAttr; +} + +float CXFA_FontData::GetFontSize() { + CXFA_Measurement ms; + m_pNode->JSNode()->TryMeasure(XFA_ATTRIBUTE_Size, ms, true); + return ms.ToUnit(XFA_UNIT_Pt); +} + +void CXFA_FontData::GetTypeface(WideStringView& wsTypeFace) { + m_pNode->JSNode()->TryCData(XFA_ATTRIBUTE_Typeface, wsTypeFace, true); +} + +bool CXFA_FontData::IsBold() { + XFA_ATTRIBUTEENUM eAttr = XFA_ATTRIBUTEENUM_Normal; + m_pNode->JSNode()->TryEnum(XFA_ATTRIBUTE_Weight, eAttr, true); + return eAttr == XFA_ATTRIBUTEENUM_Bold; +} + +bool CXFA_FontData::IsItalic() { + XFA_ATTRIBUTEENUM eAttr = XFA_ATTRIBUTEENUM_Normal; + m_pNode->JSNode()->TryEnum(XFA_ATTRIBUTE_Posture, eAttr, true); + return eAttr == XFA_ATTRIBUTEENUM_Italic; +} + +void CXFA_FontData::SetColor(FX_ARGB color) { + CXFA_FillData(m_pNode->JSNode()->GetProperty(0, XFA_Element::Fill, true)) + .SetColor(color); +} + +FX_ARGB CXFA_FontData::GetColor() { + CXFA_FillData fillData(m_pNode->GetChild(0, XFA_Element::Fill, false)); + return fillData ? fillData.GetColor(true) : 0xFF000000; +} diff --git a/xfa/fxfa/parser/cxfa_fontdata.h b/xfa/fxfa/parser/cxfa_fontdata.h new file mode 100644 index 0000000000..cb2dd6068f --- /dev/null +++ b/xfa/fxfa/parser/cxfa_fontdata.h @@ -0,0 +1,36 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef XFA_FXFA_PARSER_CXFA_FONTDATA_H_ +#define XFA_FXFA_PARSER_CXFA_FONTDATA_H_ + +#include "core/fxge/fx_dib.h" +#include "xfa/fxfa/parser/cxfa_data.h" + +class CXFA_Node; + +class CXFA_FontData : public CXFA_Data { + public: + explicit CXFA_FontData(CXFA_Node* pNode); + + float GetBaselineShift(); + float GetHorizontalScale(); + float GetVerticalScale(); + float GetLetterSpacing(); + int32_t GetLineThrough(); + int32_t GetUnderline(); + int32_t GetUnderlinePeriod(); + float GetFontSize(); + void GetTypeface(WideStringView& wsTypeFace); + + bool IsBold(); + bool IsItalic(); + + FX_ARGB GetColor(); + void SetColor(FX_ARGB color); +}; + +#endif // XFA_FXFA_PARSER_CXFA_FONTDATA_H_ diff --git a/xfa/fxfa/parser/cxfa_widgetdata.cpp b/xfa/fxfa/parser/cxfa_widgetdata.cpp index 362f0b5e54..305ead26d9 100644 --- a/xfa/fxfa/parser/cxfa_widgetdata.cpp +++ b/xfa/fxfa/parser/cxfa_widgetdata.cpp @@ -289,8 +289,8 @@ CXFA_CaptionData CXFA_WidgetData::GetCaptionData() { m_pNode->JSNode()->GetProperty(0, XFA_Element::Caption, false)); } -CXFA_Font CXFA_WidgetData::GetFont(bool bModified) { - return CXFA_Font( +CXFA_FontData CXFA_WidgetData::GetFontData(bool bModified) { + return CXFA_FontData( m_pNode->JSNode()->GetProperty(0, XFA_Element::Font, bModified)); } diff --git a/xfa/fxfa/parser/cxfa_widgetdata.h b/xfa/fxfa/parser/cxfa_widgetdata.h index 92fc4484b2..b2cb214ccc 100644 --- a/xfa/fxfa/parser/cxfa_widgetdata.h +++ b/xfa/fxfa/parser/cxfa_widgetdata.h @@ -18,7 +18,7 @@ #include "xfa/fxfa/parser/cxfa_calculatedata.h" #include "xfa/fxfa/parser/cxfa_captiondata.h" #include "xfa/fxfa/parser/cxfa_data.h" -#include "xfa/fxfa/parser/cxfa_font.h" +#include "xfa/fxfa/parser/cxfa_fontdata.h" #include "xfa/fxfa/parser/cxfa_margin.h" #include "xfa/fxfa/parser/cxfa_para.h" #include "xfa/fxfa/parser/cxfa_validate.h" @@ -52,7 +52,7 @@ class CXFA_WidgetData : public CXFA_Data { CXFA_AssistData GetAssistData(); CXFA_BorderData GetBorderData(bool bModified); CXFA_CaptionData GetCaptionData(); - CXFA_Font GetFont(bool bModified); + CXFA_FontData GetFontData(bool bModified); CXFA_Margin GetMargin(); CXFA_Para GetPara(); std::vector GetEventList(); -- cgit v1.2.3