| 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;
|
|
|