| 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_CSS_H_ | 7 #ifndef XFA_FDE_CSS_FDE_CSS_H_ |
| 8 #define XFA_FDE_CSS_FDE_CSS_H_ | 8 #define XFA_FDE_CSS_FDE_CSS_H_ |
| 9 | 9 |
| 10 #include "core/fxge/include/fx_dib.h" | 10 #include "core/fxge/include/fx_dib.h" |
| 11 #include "xfa/fgas/crt/fgas_stream.h" | 11 #include "xfa/fgas/crt/fgas_stream.h" |
| 12 #include "xfa/fgas/crt/fgas_utils.h" | 12 #include "xfa/fgas/crt/fgas_utils.h" |
| 13 #include "xfa/fgas/font/fgas_font.h" | 13 #include "xfa/fgas/font/fgas_font.h" |
| 14 | 14 |
| 15 class CFDE_CSSAccelerator; | 15 class CFDE_CSSAccelerator; |
| 16 class CXFA_CSSTagProvider; |
| 16 class IFDE_CSSBoundaryStyle; | 17 class IFDE_CSSBoundaryStyle; |
| 17 class IFDE_CSSComputedStyle; | 18 class IFDE_CSSComputedStyle; |
| 18 class IFDE_CSSDeclaration; | 19 class IFDE_CSSDeclaration; |
| 19 class IFDE_CSSFontStyle; | 20 class IFDE_CSSFontStyle; |
| 20 class IFDE_CSSParagraphStyle; | 21 class IFDE_CSSParagraphStyle; |
| 21 class IFDE_CSSPositionStyle; | 22 class IFDE_CSSPositionStyle; |
| 22 class IFDE_CSSRule; | 23 class IFDE_CSSRule; |
| 23 class IFDE_CSSSelector; | 24 class IFDE_CSSSelector; |
| 24 class IFDE_CSSStyleSelector; | 25 class IFDE_CSSStyleSelector; |
| 25 class IFDE_CSSStyleSheet; | 26 class IFDE_CSSStyleSheet; |
| 26 class IFDE_CSSSyntaxParser; | 27 class IFDE_CSSSyntaxParser; |
| 27 class IFDE_CSSTagProvider; | |
| 28 class IFDE_CSSValue; | 28 class IFDE_CSSValue; |
| 29 class IFDE_CSSValueList; | 29 class IFDE_CSSValueList; |
| 30 | 30 |
| 31 enum FDE_CSSVALUETYPE { | 31 enum FDE_CSSVALUETYPE { |
| 32 FDE_CSSVALUETYPE_Primitive = 1, | 32 FDE_CSSVALUETYPE_Primitive = 1, |
| 33 FDE_CSSVALUETYPE_List = 2, | 33 FDE_CSSVALUETYPE_List = 2, |
| 34 FDE_CSSVALUETYPE_Shorthand, | 34 FDE_CSSVALUETYPE_Shorthand, |
| 35 }; | 35 }; |
| 36 enum FDE_CSSPRIMITIVETYPE { | 36 enum FDE_CSSPRIMITIVETYPE { |
| 37 FDE_CSSPRIMITIVETYPE_Unknown = 0, | 37 FDE_CSSPRIMITIVETYPE_Unknown = 0, |
| (...skipping 836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 874 FDE_CSSSTYLESHEETGROUP_User, | 874 FDE_CSSSTYLESHEETGROUP_User, |
| 875 FDE_CSSSTYLESHEETGROUP_Author, | 875 FDE_CSSSTYLESHEETGROUP_Author, |
| 876 FDE_CSSSTYLESHEETGROUP_MAX, | 876 FDE_CSSSTYLESHEETGROUP_MAX, |
| 877 }; | 877 }; |
| 878 enum FDE_CSSSTYLESHEETPRIORITY { | 878 enum FDE_CSSSTYLESHEETPRIORITY { |
| 879 FDE_CSSSTYLESHEETPRIORITY_High, | 879 FDE_CSSSTYLESHEETPRIORITY_High, |
| 880 FDE_CSSSTYLESHEETPRIORITY_Mid, | 880 FDE_CSSSTYLESHEETPRIORITY_Mid, |
| 881 FDE_CSSSTYLESHEETPRIORITY_Low, | 881 FDE_CSSSTYLESHEETPRIORITY_Low, |
| 882 FDE_CSSSTYLESHEETPRIORITY_MAX, | 882 FDE_CSSSTYLESHEETPRIORITY_MAX, |
| 883 }; | 883 }; |
| 884 class IFDE_CSSTagProvider { | |
| 885 public: | |
| 886 virtual ~IFDE_CSSTagProvider() {} | |
| 887 virtual CFX_WideStringC GetTagName() = 0; | |
| 888 virtual FX_POSITION GetFirstAttribute() = 0; | |
| 889 virtual void GetNextAttribute(FX_POSITION& pos, | |
| 890 CFX_WideStringC& wsAttr, | |
| 891 CFX_WideStringC& wsValue) = 0; | |
| 892 }; | |
| 893 | 884 |
| 894 class IFDE_CSSStyleSelector { | 885 class IFDE_CSSStyleSelector { |
| 895 public: | 886 public: |
| 896 static IFDE_CSSStyleSelector* Create(); | 887 static IFDE_CSSStyleSelector* Create(); |
| 897 virtual ~IFDE_CSSStyleSelector() {} | 888 virtual ~IFDE_CSSStyleSelector() {} |
| 898 virtual void Release() = 0; | 889 virtual void Release() = 0; |
| 899 virtual void SetFontMgr(IFX_FontMgr* pFontMgr) = 0; | 890 virtual void SetFontMgr(IFX_FontMgr* pFontMgr) = 0; |
| 900 virtual void SetDefFontSize(FX_FLOAT fFontSize) = 0; | 891 virtual void SetDefFontSize(FX_FLOAT fFontSize) = 0; |
| 901 virtual FX_BOOL SetStyleSheet(FDE_CSSSTYLESHEETGROUP eType, | 892 virtual FX_BOOL SetStyleSheet(FDE_CSSSTYLESHEETGROUP eType, |
| 902 IFDE_CSSStyleSheet* pSheet) = 0; | 893 IFDE_CSSStyleSheet* pSheet) = 0; |
| 903 virtual FX_BOOL SetStyleSheets(FDE_CSSSTYLESHEETGROUP eType, | 894 virtual FX_BOOL SetStyleSheets(FDE_CSSSTYLESHEETGROUP eType, |
| 904 const CFDE_CSSStyleSheetArray* pArray) = 0; | 895 const CFDE_CSSStyleSheetArray* pArray) = 0; |
| 905 virtual void SetStylePriority(FDE_CSSSTYLESHEETGROUP eType, | 896 virtual void SetStylePriority(FDE_CSSSTYLESHEETGROUP eType, |
| 906 FDE_CSSSTYLESHEETPRIORITY ePriority) = 0; | 897 FDE_CSSSTYLESHEETPRIORITY ePriority) = 0; |
| 907 virtual void UpdateStyleIndex(uint32_t dwMediaList) = 0; | 898 virtual void UpdateStyleIndex(uint32_t dwMediaList) = 0; |
| 908 virtual CFDE_CSSAccelerator* InitAccelerator() = 0; | 899 virtual CFDE_CSSAccelerator* InitAccelerator() = 0; |
| 909 virtual IFDE_CSSComputedStyle* CreateComputedStyle( | 900 virtual IFDE_CSSComputedStyle* CreateComputedStyle( |
| 910 IFDE_CSSComputedStyle* pParentStyle) = 0; | 901 IFDE_CSSComputedStyle* pParentStyle) = 0; |
| 911 virtual int32_t MatchDeclarations( | 902 virtual int32_t MatchDeclarations( |
| 912 IFDE_CSSTagProvider* pTag, | 903 CXFA_CSSTagProvider* pTag, |
| 913 CFDE_CSSDeclarationArray& matchedDecls, | 904 CFDE_CSSDeclarationArray& matchedDecls, |
| 914 FDE_CSSPERSUDO ePersudoType = FDE_CSSPERSUDO_NONE) = 0; | 905 FDE_CSSPERSUDO ePersudoType = FDE_CSSPERSUDO_NONE) = 0; |
| 915 virtual void ComputeStyle(IFDE_CSSTagProvider* pTag, | 906 virtual void ComputeStyle(CXFA_CSSTagProvider* pTag, |
| 916 const IFDE_CSSDeclaration** ppDeclArray, | 907 const IFDE_CSSDeclaration** ppDeclArray, |
| 917 int32_t iDeclCount, | 908 int32_t iDeclCount, |
| 918 IFDE_CSSComputedStyle* pDestStyle) = 0; | 909 IFDE_CSSComputedStyle* pDestStyle) = 0; |
| 919 }; | 910 }; |
| 920 | 911 |
| 921 #endif // XFA_FDE_CSS_FDE_CSS_H_ | 912 #endif // XFA_FDE_CSS_FDE_CSS_H_ |
| OLD | NEW |