Index: xfa/fde/css/fde_cssstyleselector.h |
diff --git a/xfa/fde/css/fde_cssstyleselector.h b/xfa/fde/css/fde_cssstyleselector.h |
index 3af75a7b9e43ae7e318fe7fa160c30938f760847..042e98924226db666f79b7306509a4d52c3cd9ad 100644 |
--- a/xfa/fde/css/fde_cssstyleselector.h |
+++ b/xfa/fde/css/fde_cssstyleselector.h |
@@ -34,12 +34,8 @@ class FDE_CSSRuleData : public CFX_Target { |
class CFDE_CSSRuleCollection : public CFX_Target { |
public: |
- CFDE_CSSRuleCollection() |
- : m_pStaticStore(nullptr), |
- m_pUniversalRules(nullptr), |
- m_pPersudoRules(nullptr), |
- m_iSelectors(0) {} |
- ~CFDE_CSSRuleCollection() { Clear(); } |
+ CFDE_CSSRuleCollection(); |
+ ~CFDE_CSSRuleCollection() override; |
void AddRulesFrom(const CFDE_CSSStyleSheetArray& sheets, |
uint32_t dwMediaList, |
@@ -211,33 +207,29 @@ struct FDE_CSSCOUNTERDATA { |
class CFDE_CSSCounterStyle { |
public: |
- CFDE_CSSCounterStyle() : m_pCounterInc(nullptr), m_pCounterReset(nullptr) {} |
+ CFDE_CSSCounterStyle(); |
+ ~CFDE_CSSCounterStyle(); |
void SetCounterIncrementList(IFDE_CSSValueList* pList) { |
m_pCounterInc = pList; |
m_bIndexDirty = TRUE; |
} |
- |
void SetCounterResetList(IFDE_CSSValueList* pList) { |
m_pCounterReset = pList; |
m_bIndexDirty = TRUE; |
} |
- |
int32_t CountCounters() { |
UpdateIndex(); |
return m_arrCounterData.GetSize(); |
} |
- |
FX_BOOL GetCounterIncrement(int32_t index, int32_t& iValue) { |
UpdateIndex(); |
return m_arrCounterData.ElementAt(index).GetCounterIncrement(iValue); |
} |
- |
FX_BOOL GetCounterReset(int32_t index, int32_t& iValue) { |
UpdateIndex(); |
return m_arrCounterData.ElementAt(index).GetCounterReset(iValue); |
} |
- |
const FX_WCHAR* GetCounterIdentifier(int32_t index) { |
UpdateIndex(); |
return m_arrCounterData.ElementAt(index).m_pszIdent; |
@@ -256,19 +248,9 @@ class CFDE_CSSCounterStyle { |
class CFDE_CSSInheritedData { |
public: |
- void Reset() { |
- FXSYS_memset(this, 0, sizeof(CFDE_CSSInheritedData)); |
- m_LetterSpacing.Set(FDE_CSSLENGTHUNIT_Normal); |
- m_WordSpacing.Set(FDE_CSSLENGTHUNIT_Normal); |
- m_TextIndent.Set(FDE_CSSLENGTHUNIT_Point, 0); |
- m_fFontSize = 12.0f; |
- m_fLineHeight = 14.0f; |
- m_wFontWeight = 400; |
- m_dwFontColor = 0xFF000000; |
- m_iWidows = 2; |
- m_bTextEmphasisColorCurrent = TRUE; |
- m_iOrphans = 2; |
- } |
+ CFDE_CSSInheritedData(); |
+ |
+ void Reset(); |
const FX_WCHAR* m_pszListStyleImage; |
FDE_CSSLENGTH m_LetterSpacing; |
@@ -306,21 +288,9 @@ class CFDE_CSSInheritedData { |
class CFDE_CSSNonInheritedData { |
public: |
- void Reset() { |
- FXSYS_memset(this, 0, sizeof(CFDE_CSSNonInheritedData)); |
- m_MarginWidth = m_BorderWidth = |
- m_PaddingWidth.Set(FDE_CSSLENGTHUNIT_Point, 0); |
- m_MinBoxSize.Set(FDE_CSSLENGTHUNIT_Point, 0); |
- m_MaxBoxSize.Set(FDE_CSSLENGTHUNIT_None); |
- m_eDisplay = FDE_CSSDISPLAY_Inline; |
- m_fVerticalAlign = 0.0f; |
- m_ColumnCount.Set(FDE_CSSLENGTHUNIT_Auto); |
- m_ColumnGap.Set(FDE_CSSLENGTHUNIT_Normal); |
- m_bColumnRuleColorSame = TRUE; |
- m_ColumnWidth.Set(FDE_CSSLENGTHUNIT_Auto); |
- m_ColumnRuleWidth.Set(FDE_CSSLENGTHUNIT_Auto); |
- m_eTextCombine = FDE_CSSTEXTCOMBINE_None; |
- } |
+ CFDE_CSSNonInheritedData(); |
+ |
+ void Reset(); |
IFDE_CSSValueList* m_pContentList; |
CFDE_CSSCounterStyle* m_pCounterStyle; |
@@ -385,196 +355,62 @@ class CFDE_CSSComputedStyle : public IFDE_CSSComputedStyle, |
public IFDE_CSSParagraphStyle, |
public CFX_Target { |
public: |
- CFDE_CSSComputedStyle(IFX_MemoryAllocator* pAlloc) |
- : m_dwRefCount(1), m_pAllocator(pAlloc) {} |
- |
- ~CFDE_CSSComputedStyle() override {} |
- |
- // IFX_Retainable: |
- uint32_t Retain() override { return ++m_dwRefCount; } |
- uint32_t Release() override { |
- uint32_t dwRefCount = --m_dwRefCount; |
- if (dwRefCount == 0) { |
- delete m_NonInheritedData.m_pCounterStyle; |
- FXTARGET_DeleteWith(CFDE_CSSComputedStyle, m_pAllocator, this); |
- } |
- return dwRefCount; |
- } |
- |
- // IFDE_CSSComputedStyle: |
- void Reset() override { |
- m_InheritedData.Reset(); |
- m_NonInheritedData.Reset(); |
- } |
- |
- IFDE_CSSFontStyle* GetFontStyles() override { |
- return static_cast<IFDE_CSSFontStyle*>(this); |
- } |
- |
- IFDE_CSSBoundaryStyle* GetBoundaryStyles() override { |
- return static_cast<IFDE_CSSBoundaryStyle*>(this); |
- } |
- |
- IFDE_CSSPositionStyle* GetPositionStyles() override { |
- return static_cast<IFDE_CSSPositionStyle*>(this); |
- } |
- |
- IFDE_CSSParagraphStyle* GetParagraphStyles() override { |
- return static_cast<IFDE_CSSParagraphStyle*>(this); |
- } |
- |
+ CFDE_CSSComputedStyle(IFX_MemoryAllocator* pAlloc); |
+ ~CFDE_CSSComputedStyle() override; |
+ |
+ // IFX_Retainable |
+ uint32_t Retain() override; |
+ uint32_t Release() override; |
+ |
+ // IFDE_CSSComputedStyle |
+ void Reset() override; |
+ IFDE_CSSFontStyle* GetFontStyles() override; |
+ IFDE_CSSBoundaryStyle* GetBoundaryStyles() override; |
+ IFDE_CSSPositionStyle* GetPositionStyles() override; |
+ IFDE_CSSParagraphStyle* GetParagraphStyles() override; |
FX_BOOL GetCustomStyle(const CFX_WideStringC& wsName, |
- CFX_WideString& wsValue) const override { |
- for (int32_t i = m_CustomProperties.GetSize() - 2; i > -1; i -= 2) { |
- if (wsName == m_CustomProperties[i]) { |
- wsValue = m_CustomProperties[i + 1]; |
- return TRUE; |
- } |
- } |
- return FALSE; |
- } |
+ CFX_WideString& wsValue) const override; |
// IFDE_CSSFontStyle: |
- int32_t CountFontFamilies() const override { |
- return m_InheritedData.m_pFontFamily |
- ? m_InheritedData.m_pFontFamily->CountValues() |
- : 0; |
- } |
- |
- const FX_WCHAR* GetFontFamily(int32_t index) const override { |
- return (static_cast<IFDE_CSSPrimitiveValue*>( |
- m_InheritedData.m_pFontFamily->GetValue(index))) |
- ->GetString(index); |
- } |
- |
- uint16_t GetFontWeight() const override { |
- return m_InheritedData.m_wFontWeight; |
- } |
- |
- FDE_CSSFONTVARIANT GetFontVariant() const override { |
- return static_cast<FDE_CSSFONTVARIANT>(m_InheritedData.m_eFontVariant); |
- } |
- |
- FDE_CSSFONTSTYLE GetFontStyle() const override { |
- return static_cast<FDE_CSSFONTSTYLE>(m_InheritedData.m_eFontStyle); |
- } |
- |
- FX_FLOAT GetFontSize() const override { return m_InheritedData.m_fFontSize; } |
- |
- FX_ARGB GetColor() const override { return m_InheritedData.m_dwFontColor; } |
- |
- void SetFontWeight(uint16_t wFontWeight) override { |
- m_InheritedData.m_wFontWeight = wFontWeight; |
- } |
- |
- void SetFontVariant(FDE_CSSFONTVARIANT eFontVariant) override { |
- m_InheritedData.m_eFontVariant = eFontVariant; |
- } |
- |
- void SetFontStyle(FDE_CSSFONTSTYLE eFontStyle) override { |
- m_InheritedData.m_eFontStyle = eFontStyle; |
- } |
- |
- void SetFontSize(FX_FLOAT fFontSize) override { |
- m_InheritedData.m_fFontSize = fFontSize; |
- } |
- |
- void SetColor(FX_ARGB dwFontColor) override { |
- m_InheritedData.m_dwFontColor = dwFontColor; |
- } |
+ int32_t CountFontFamilies() const override; |
+ const FX_WCHAR* GetFontFamily(int32_t index) const override; |
+ uint16_t GetFontWeight() const override; |
+ FDE_CSSFONTVARIANT GetFontVariant() const override; |
+ FDE_CSSFONTSTYLE GetFontStyle() const override; |
+ FX_FLOAT GetFontSize() const override; |
+ FX_ARGB GetColor() const override; |
+ void SetFontWeight(uint16_t wFontWeight) override; |
+ void SetFontVariant(FDE_CSSFONTVARIANT eFontVariant) override; |
+ void SetFontStyle(FDE_CSSFONTSTYLE eFontStyle) override; |
+ void SetFontSize(FX_FLOAT fFontSize) override; |
+ void SetColor(FX_ARGB dwFontColor) override; |
// IFDE_CSSBoundaryStyle: |
- const FDE_CSSRECT* GetBorderWidth() const override { |
- return m_NonInheritedData.m_bHasBorder ? &(m_NonInheritedData.m_BorderWidth) |
- : nullptr; |
- } |
- |
- const FDE_CSSRECT* GetMarginWidth() const override { |
- return m_NonInheritedData.m_bHasMargin ? &(m_NonInheritedData.m_MarginWidth) |
- : nullptr; |
- } |
- |
- const FDE_CSSRECT* GetPaddingWidth() const override { |
- return m_NonInheritedData.m_bHasPadding |
- ? &(m_NonInheritedData.m_PaddingWidth) |
- : nullptr; |
- } |
- |
- void SetMarginWidth(const FDE_CSSRECT& rect) override { |
- m_NonInheritedData.m_MarginWidth = rect; |
- m_NonInheritedData.m_bHasMargin = TRUE; |
- } |
- |
- void SetPaddingWidth(const FDE_CSSRECT& rect) override { |
- m_NonInheritedData.m_PaddingWidth = rect; |
- m_NonInheritedData.m_bHasPadding = TRUE; |
- } |
+ const FDE_CSSRECT* GetBorderWidth() const override; |
+ const FDE_CSSRECT* GetMarginWidth() const override; |
+ const FDE_CSSRECT* GetPaddingWidth() const override; |
+ void SetMarginWidth(const FDE_CSSRECT& rect) override; |
+ void SetPaddingWidth(const FDE_CSSRECT& rect) override; |
// IFDE_CSSPositionStyle: |
- FDE_CSSDISPLAY GetDisplay() const override { |
- return static_cast<FDE_CSSDISPLAY>(m_NonInheritedData.m_eDisplay); |
- } |
+ FDE_CSSDISPLAY GetDisplay() const override; |
// IFDE_CSSParagraphStyle: |
- FX_FLOAT GetLineHeight() const override { |
- return m_InheritedData.m_fLineHeight; |
- } |
- |
- const FDE_CSSLENGTH& GetTextIndent() const override { |
- return m_InheritedData.m_TextIndent; |
- } |
- |
- FDE_CSSTEXTALIGN GetTextAlign() const override { |
- return static_cast<FDE_CSSTEXTALIGN>(m_InheritedData.m_eTextAligh); |
- } |
- |
- FDE_CSSVERTICALALIGN GetVerticalAlign() const override { |
- return static_cast<FDE_CSSVERTICALALIGN>( |
- m_NonInheritedData.m_eVerticalAlign); |
- } |
- |
- FX_FLOAT GetNumberVerticalAlign() const override { |
- return m_NonInheritedData.m_fVerticalAlign; |
- } |
- |
- uint32_t GetTextDecoration() const override { |
- return m_NonInheritedData.m_dwTextDecoration; |
- } |
- |
- const FDE_CSSLENGTH& GetLetterSpacing() const override { |
- return m_InheritedData.m_LetterSpacing; |
- } |
- |
- void SetLineHeight(FX_FLOAT fLineHeight) override { |
- m_InheritedData.m_fLineHeight = fLineHeight; |
- } |
- |
- void SetTextIndent(const FDE_CSSLENGTH& textIndent) override { |
- m_InheritedData.m_TextIndent = textIndent; |
- } |
- |
- void SetTextAlign(FDE_CSSTEXTALIGN eTextAlign) override { |
- m_InheritedData.m_eTextAligh = eTextAlign; |
- } |
- |
- void SetNumberVerticalAlign(FX_FLOAT fAlign) override { |
- m_NonInheritedData.m_eVerticalAlign = FDE_CSSVERTICALALIGN_Number, |
- m_NonInheritedData.m_fVerticalAlign = fAlign; |
- } |
- |
- void SetTextDecoration(uint32_t dwTextDecoration) override { |
- m_NonInheritedData.m_dwTextDecoration = dwTextDecoration; |
- } |
- |
- void SetLetterSpacing(const FDE_CSSLENGTH& letterSpacing) override { |
- m_InheritedData.m_LetterSpacing = letterSpacing; |
- } |
- |
+ FX_FLOAT GetLineHeight() const override; |
+ const FDE_CSSLENGTH& GetTextIndent() const override; |
+ FDE_CSSTEXTALIGN GetTextAlign() const override; |
+ FDE_CSSVERTICALALIGN GetVerticalAlign() const override; |
+ FX_FLOAT GetNumberVerticalAlign() const override; |
+ uint32_t GetTextDecoration() const override; |
+ const FDE_CSSLENGTH& GetLetterSpacing() const override; |
+ void SetLineHeight(FX_FLOAT fLineHeight) override; |
+ void SetTextIndent(const FDE_CSSLENGTH& textIndent) override; |
+ void SetTextAlign(FDE_CSSTEXTALIGN eTextAlign) override; |
+ void SetNumberVerticalAlign(FX_FLOAT fAlign) override; |
+ void SetTextDecoration(uint32_t dwTextDecoration) override; |
+ void SetLetterSpacing(const FDE_CSSLENGTH& letterSpacing) override; |
void AddCustomStyle(const CFX_WideString& wsName, |
- const CFX_WideString& wsValue) { |
- m_CustomProperties.Add(wsName); |
- m_CustomProperties.Add(wsValue); |
- } |
+ const CFX_WideString& wsValue); |
uint32_t m_dwRefCount; |
IFX_MemoryAllocator* m_pAllocator; |