OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef XFA_FDE_CSS_FDE_CSSSTYLESELECTOR_H_ | 7 #ifndef XFA_FDE_CSS_FDE_CSSSTYLESELECTOR_H_ |
8 #define XFA_FDE_CSS_FDE_CSSSTYLESELECTOR_H_ | 8 #define XFA_FDE_CSS_FDE_CSSSTYLESELECTOR_H_ |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 21 matching lines...) Expand all Loading... |
32 FDE_CSSRuleData* pNext; | 32 FDE_CSSRuleData* pNext; |
33 }; | 33 }; |
34 | 34 |
35 class CFDE_CSSRuleCollection : public CFX_Target { | 35 class CFDE_CSSRuleCollection : public CFX_Target { |
36 public: | 36 public: |
37 CFDE_CSSRuleCollection(); | 37 CFDE_CSSRuleCollection(); |
38 ~CFDE_CSSRuleCollection() override; | 38 ~CFDE_CSSRuleCollection() override; |
39 | 39 |
40 void AddRulesFrom(const CFDE_CSSStyleSheetArray& sheets, | 40 void AddRulesFrom(const CFDE_CSSStyleSheetArray& sheets, |
41 uint32_t dwMediaList, | 41 uint32_t dwMediaList, |
42 IFGAS_FontMgr* pFontMgr); | 42 CFGAS_FontMgr* pFontMgr); |
43 void Clear(); | 43 void Clear(); |
44 | 44 |
45 int32_t CountSelectors() const { return m_iSelectors; } | 45 int32_t CountSelectors() const { return m_iSelectors; } |
46 FDE_CSSRuleData* GetIDRuleData(uint32_t dwIDHash) { | 46 FDE_CSSRuleData* GetIDRuleData(uint32_t dwIDHash) { |
47 void* pData; | 47 void* pData; |
48 return m_IDRules.Lookup((void*)(uintptr_t)dwIDHash, pData) | 48 return m_IDRules.Lookup((void*)(uintptr_t)dwIDHash, pData) |
49 ? (FDE_CSSRuleData*)pData | 49 ? (FDE_CSSRuleData*)pData |
50 : nullptr; | 50 : nullptr; |
51 } | 51 } |
52 FDE_CSSRuleData* GetTagRuleData(uint32_t dwTagHasn) { | 52 FDE_CSSRuleData* GetTagRuleData(uint32_t dwTagHasn) { |
(...skipping 10 matching lines...) Expand all Loading... |
63 } | 63 } |
64 FDE_CSSRuleData* GetUniversalRuleData() { return m_pUniversalRules; } | 64 FDE_CSSRuleData* GetUniversalRuleData() { return m_pUniversalRules; } |
65 FDE_CSSRuleData* GetPersudoRuleData() { return m_pPersudoRules; } | 65 FDE_CSSRuleData* GetPersudoRuleData() { return m_pPersudoRules; } |
66 | 66 |
67 IFX_MemoryAllocator* m_pStaticStore; | 67 IFX_MemoryAllocator* m_pStaticStore; |
68 | 68 |
69 protected: | 69 protected: |
70 void AddRulesFrom(IFDE_CSSStyleSheet* pStyleSheet, | 70 void AddRulesFrom(IFDE_CSSStyleSheet* pStyleSheet, |
71 IFDE_CSSRule* pRule, | 71 IFDE_CSSRule* pRule, |
72 uint32_t dwMediaList, | 72 uint32_t dwMediaList, |
73 IFGAS_FontMgr* pFontMgr); | 73 CFGAS_FontMgr* pFontMgr); |
74 void AddRuleTo(CFX_MapPtrToPtr& map, | 74 void AddRuleTo(CFX_MapPtrToPtr& map, |
75 uint32_t dwKey, | 75 uint32_t dwKey, |
76 CFDE_CSSSelector* pSel, | 76 CFDE_CSSSelector* pSel, |
77 CFDE_CSSDeclaration* pDecl); | 77 CFDE_CSSDeclaration* pDecl); |
78 bool AddRuleTo(FDE_CSSRuleData*& pList, FDE_CSSRuleData* pData); | 78 bool AddRuleTo(FDE_CSSRuleData*& pList, FDE_CSSRuleData* pData); |
79 FDE_CSSRuleData* NewRuleData(CFDE_CSSSelector* pSel, | 79 FDE_CSSRuleData* NewRuleData(CFDE_CSSSelector* pSel, |
80 CFDE_CSSDeclaration* pDecl); | 80 CFDE_CSSDeclaration* pDecl); |
81 CFX_MapPtrToPtr m_IDRules; | 81 CFX_MapPtrToPtr m_IDRules; |
82 CFX_MapPtrToPtr m_TagRules; | 82 CFX_MapPtrToPtr m_TagRules; |
83 CFX_MapPtrToPtr m_ClassRules; | 83 CFX_MapPtrToPtr m_ClassRules; |
84 FDE_CSSRuleData* m_pUniversalRules; | 84 FDE_CSSRuleData* m_pUniversalRules; |
85 FDE_CSSRuleData* m_pPersudoRules; | 85 FDE_CSSRuleData* m_pPersudoRules; |
86 int32_t m_iSelectors; | 86 int32_t m_iSelectors; |
87 }; | 87 }; |
88 | 88 |
89 class CFDE_CSSStyleSelector : public CFX_Target { | 89 class CFDE_CSSStyleSelector : public CFX_Target { |
90 public: | 90 public: |
91 explicit CFDE_CSSStyleSelector(IFGAS_FontMgr* pFontMgr); | 91 explicit CFDE_CSSStyleSelector(CFGAS_FontMgr* pFontMgr); |
92 ~CFDE_CSSStyleSelector() override; | 92 ~CFDE_CSSStyleSelector() override; |
93 | 93 |
94 void SetDefFontSize(FX_FLOAT fFontSize); | 94 void SetDefFontSize(FX_FLOAT fFontSize); |
95 | 95 |
96 bool SetStyleSheet(FDE_CSSSTYLESHEETGROUP eType, IFDE_CSSStyleSheet* pSheet); | 96 bool SetStyleSheet(FDE_CSSSTYLESHEETGROUP eType, IFDE_CSSStyleSheet* pSheet); |
97 bool SetStyleSheets(FDE_CSSSTYLESHEETGROUP eType, | 97 bool SetStyleSheets(FDE_CSSSTYLESHEETGROUP eType, |
98 const CFDE_CSSStyleSheetArray* pArray); | 98 const CFDE_CSSStyleSheetArray* pArray); |
99 void SetStylePriority(FDE_CSSSTYLESHEETGROUP eType, | 99 void SetStylePriority(FDE_CSSSTYLESHEETGROUP eType, |
100 FDE_CSSSTYLESHEETPRIORITY ePriority); | 100 FDE_CSSSTYLESHEETPRIORITY ePriority); |
101 void UpdateStyleIndex(uint32_t dwMediaList); | 101 void UpdateStyleIndex(uint32_t dwMediaList); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 FDE_CSSCURSOR ToCursor(FDE_CSSPROPERTYVALUE eValue); | 165 FDE_CSSCURSOR ToCursor(FDE_CSSPROPERTYVALUE eValue); |
166 FDE_CSSPOSITION ToPosition(FDE_CSSPROPERTYVALUE eValue); | 166 FDE_CSSPOSITION ToPosition(FDE_CSSPROPERTYVALUE eValue); |
167 FDE_CSSCAPTIONSIDE ToCaptionSide(FDE_CSSPROPERTYVALUE eValue); | 167 FDE_CSSCAPTIONSIDE ToCaptionSide(FDE_CSSPROPERTYVALUE eValue); |
168 FDE_CSSBKGREPEAT ToBKGRepeat(FDE_CSSPROPERTYVALUE eValue); | 168 FDE_CSSBKGREPEAT ToBKGRepeat(FDE_CSSPROPERTYVALUE eValue); |
169 FDE_CSSBKGATTACHMENT ToBKGAttachment(FDE_CSSPROPERTYVALUE eValue); | 169 FDE_CSSBKGATTACHMENT ToBKGAttachment(FDE_CSSPROPERTYVALUE eValue); |
170 FDE_CSSRUBYALIGN ToRubyAlign(FDE_CSSPROPERTYVALUE eValue); | 170 FDE_CSSRUBYALIGN ToRubyAlign(FDE_CSSPROPERTYVALUE eValue); |
171 FDE_CSSRUBYOVERHANG ToRubyOverhang(FDE_CSSPROPERTYVALUE eValue); | 171 FDE_CSSRUBYOVERHANG ToRubyOverhang(FDE_CSSPROPERTYVALUE eValue); |
172 FDE_CSSRUBYPOSITION ToRubyPosition(FDE_CSSPROPERTYVALUE eValue); | 172 FDE_CSSRUBYPOSITION ToRubyPosition(FDE_CSSPROPERTYVALUE eValue); |
173 FDE_CSSRUBYSPAN ToRubySpan(FDE_CSSPROPERTYVALUE eValue); | 173 FDE_CSSRUBYSPAN ToRubySpan(FDE_CSSPROPERTYVALUE eValue); |
174 | 174 |
175 IFGAS_FontMgr* const m_pFontMgr; | 175 CFGAS_FontMgr* const m_pFontMgr; |
176 FX_FLOAT m_fDefFontSize; | 176 FX_FLOAT m_fDefFontSize; |
177 std::unique_ptr<IFX_MemoryAllocator> m_pRuleDataStore; | 177 std::unique_ptr<IFX_MemoryAllocator> m_pRuleDataStore; |
178 CFDE_CSSStyleSheetArray m_SheetGroups[FDE_CSSSTYLESHEETGROUP_MAX]; | 178 CFDE_CSSStyleSheetArray m_SheetGroups[FDE_CSSSTYLESHEETGROUP_MAX]; |
179 CFDE_CSSRuleCollection m_RuleCollection[FDE_CSSSTYLESHEETGROUP_MAX]; | 179 CFDE_CSSRuleCollection m_RuleCollection[FDE_CSSSTYLESHEETGROUP_MAX]; |
180 FDE_CSSSTYLESHEETGROUP m_ePriorities[FDE_CSSSTYLESHEETPRIORITY_MAX]; | 180 FDE_CSSSTYLESHEETGROUP m_ePriorities[FDE_CSSSTYLESHEETPRIORITY_MAX]; |
181 std::unique_ptr<IFX_MemoryAllocator> m_pInlineStyleStore; | 181 std::unique_ptr<IFX_MemoryAllocator> m_pInlineStyleStore; |
182 std::unique_ptr<IFX_MemoryAllocator> m_pFixedStyleStore; | 182 std::unique_ptr<IFX_MemoryAllocator> m_pFixedStyleStore; |
183 std::unique_ptr<CFDE_CSSAccelerator> m_pAccelerator; | 183 std::unique_ptr<CFDE_CSSAccelerator> m_pAccelerator; |
184 std::vector<FDE_CSSRuleData*> m_MatchedRules; | 184 std::vector<FDE_CSSRuleData*> m_MatchedRules; |
185 }; | 185 }; |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 const CFX_WideString& wsValue); | 411 const CFX_WideString& wsValue); |
412 | 412 |
413 uint32_t m_dwRefCount; | 413 uint32_t m_dwRefCount; |
414 IFX_MemoryAllocator* const m_pAllocator; | 414 IFX_MemoryAllocator* const m_pAllocator; |
415 CFDE_CSSInheritedData m_InheritedData; | 415 CFDE_CSSInheritedData m_InheritedData; |
416 CFDE_CSSNonInheritedData m_NonInheritedData; | 416 CFDE_CSSNonInheritedData m_NonInheritedData; |
417 CFX_WideStringArray m_CustomProperties; | 417 CFX_WideStringArray m_CustomProperties; |
418 }; | 418 }; |
419 | 419 |
420 #endif // XFA_FDE_CSS_FDE_CSSSTYLESELECTOR_H_ | 420 #endif // XFA_FDE_CSS_FDE_CSSSTYLESELECTOR_H_ |
OLD | NEW |