| 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 IFDE_CSSValue; | 15 class CFDE_CSSAccelerator; |
| 16 class IFDE_CSSValueList; | 16 class IFDE_CSSBoundaryStyle; |
| 17 class IFDE_CSSComputedStyle; |
| 17 class IFDE_CSSDeclaration; | 18 class IFDE_CSSDeclaration; |
| 19 class IFDE_CSSFontStyle; |
| 20 class IFDE_CSSParagraphStyle; |
| 21 class IFDE_CSSPositionStyle; |
| 22 class IFDE_CSSRule; |
| 18 class IFDE_CSSSelector; | 23 class IFDE_CSSSelector; |
| 19 class IFDE_CSSRule; | 24 class IFDE_CSSStyleSelector; |
| 20 class IFDE_CSSStyleSheet; | 25 class IFDE_CSSStyleSheet; |
| 21 class IFDE_CSSStyleSheetCache; | 26 class IFDE_CSSStyleSheetCache; |
| 22 class IFDE_CSSSyntaxParser; | 27 class IFDE_CSSSyntaxParser; |
| 23 class IFDE_CSSRubyStyle; | |
| 24 class IFDE_CSSMultiColumnStyle; | |
| 25 class IFDE_CSSGeneratedContentStyle; | |
| 26 class IFDE_CSSFontStyle; | |
| 27 class IFDE_CSSBoundaryStyle; | |
| 28 class IFDE_CSSPositionStyle; | |
| 29 class IFDE_CSSParagraphStyle; | |
| 30 class IFDE_CSSBackgroundStyle; | |
| 31 class IFDE_CSSListStyle; | |
| 32 class IFDE_CSSTableStyle; | |
| 33 class IFDE_CSSVisualStyle; | |
| 34 class IFDE_CSSComputedStyle; | |
| 35 class IFDE_CSSTagProvider; | 28 class IFDE_CSSTagProvider; |
| 36 class IFDE_CSSAccelerator; | 29 class IFDE_CSSValue; |
| 37 class IFDE_CSSStyleSelector; | 30 class IFDE_CSSValueList; |
| 38 | 31 |
| 39 enum FDE_CSSVALUETYPE { | 32 enum FDE_CSSVALUETYPE { |
| 40 FDE_CSSVALUETYPE_Primitive = 1, | 33 FDE_CSSVALUETYPE_Primitive = 1, |
| 41 FDE_CSSVALUETYPE_List = 2, | 34 FDE_CSSVALUETYPE_List = 2, |
| 42 FDE_CSSVALUETYPE_Shorthand, | 35 FDE_CSSVALUETYPE_Shorthand, |
| 43 }; | 36 }; |
| 44 enum FDE_CSSPRIMITIVETYPE { | 37 enum FDE_CSSPRIMITIVETYPE { |
| 45 FDE_CSSPRIMITIVETYPE_Unknown = 0, | 38 FDE_CSSPRIMITIVETYPE_Unknown = 0, |
| 46 FDE_CSSPRIMITIVETYPE_Number = 1, | 39 FDE_CSSPRIMITIVETYPE_Number = 1, |
| 47 FDE_CSSPRIMITIVETYPE_Percent = 2, | 40 FDE_CSSPRIMITIVETYPE_Percent = 2, |
| (...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 817 FDE_CSSTEXTTRANSFORM_LowerCase, | 810 FDE_CSSTEXTTRANSFORM_LowerCase, |
| 818 }; | 811 }; |
| 819 enum FDE_CSSTEXTDECORATION { | 812 enum FDE_CSSTEXTDECORATION { |
| 820 FDE_CSSTEXTDECORATION_None = 0, | 813 FDE_CSSTEXTDECORATION_None = 0, |
| 821 FDE_CSSTEXTDECORATION_Underline = 1, | 814 FDE_CSSTEXTDECORATION_Underline = 1, |
| 822 FDE_CSSTEXTDECORATION_Overline = 2, | 815 FDE_CSSTEXTDECORATION_Overline = 2, |
| 823 FDE_CSSTEXTDECORATION_LineThrough = 4, | 816 FDE_CSSTEXTDECORATION_LineThrough = 4, |
| 824 FDE_CSSTEXTDECORATION_Blink = 8, | 817 FDE_CSSTEXTDECORATION_Blink = 8, |
| 825 FDE_CSSTEXTDECORATION_Double = 16, | 818 FDE_CSSTEXTDECORATION_Double = 16, |
| 826 }; | 819 }; |
| 827 class IFDE_CSSRubyStyle { | 820 |
| 828 public: | |
| 829 virtual ~IFDE_CSSRubyStyle() {} | |
| 830 virtual FDE_CSSRUBYALIGN GetRubyAlign() const = 0; | |
| 831 virtual FDE_CSSRUBYOVERHANG GetRubyOverhang() const = 0; | |
| 832 virtual FDE_CSSRUBYPOSITION GetRubyPosition() const = 0; | |
| 833 virtual FDE_CSSRUBYSPAN GetRubySpanType() const = 0; | |
| 834 virtual IFDE_CSSValue* GetRubySpanAttr() const = 0; | |
| 835 }; | |
| 836 class IFDE_CSSMultiColumnStyle { | |
| 837 public: | |
| 838 virtual ~IFDE_CSSMultiColumnStyle() {} | |
| 839 virtual const FDE_CSSLENGTH& GetColumnCount() const = 0; | |
| 840 virtual const FDE_CSSLENGTH& GetColumnGap() const = 0; | |
| 841 virtual FX_ARGB GetColumnRuleColor() const = 0; | |
| 842 virtual FDE_CSSBORDERSTYLE GetColumnRuleStyle() const = 0; | |
| 843 virtual const FDE_CSSLENGTH& GetColumnRuleWidth() const = 0; | |
| 844 virtual const FDE_CSSLENGTH& GetColumnWidth() const = 0; | |
| 845 virtual void SetColumnCount(const FDE_CSSLENGTH& columnCount) = 0; | |
| 846 virtual void SetColumnGap(const FDE_CSSLENGTH& columnGap) = 0; | |
| 847 virtual void SetColumnRuleColor(FX_ARGB dwColumnRuleColor) = 0; | |
| 848 virtual void SetColumnRuleStyle(FDE_CSSBORDERSTYLE eColumnRuleStyle) = 0; | |
| 849 virtual void SetColumnRuleWidth(const FDE_CSSLENGTH& columnRuleWidth) = 0; | |
| 850 virtual void SetColumnWidth(const FDE_CSSLENGTH& columnWidth) = 0; | |
| 851 }; | |
| 852 class IFDE_CSSGeneratedContentStyle { | |
| 853 public: | |
| 854 virtual ~IFDE_CSSGeneratedContentStyle() {} | |
| 855 virtual int32_t CountCounters() = 0; | |
| 856 virtual const FX_WCHAR* GetCounterIdentifier(int32_t index) = 0; | |
| 857 virtual FX_BOOL GetCounterReset(int32_t index, int32_t& iValue) = 0; | |
| 858 virtual FX_BOOL GetCounterIncrement(int32_t index, int32_t& iValue) = 0; | |
| 859 virtual IFDE_CSSValueList* GetContent() const = 0; | |
| 860 virtual int32_t CountQuotes() const = 0; | |
| 861 virtual const FX_WCHAR* GetQuotes(int32_t index) const = 0; | |
| 862 }; | |
| 863 class IFDE_CSSFontStyle { | 821 class IFDE_CSSFontStyle { |
| 864 public: | 822 public: |
| 865 virtual ~IFDE_CSSFontStyle() {} | 823 virtual ~IFDE_CSSFontStyle() {} |
| 824 |
| 866 virtual int32_t CountFontFamilies() const = 0; | 825 virtual int32_t CountFontFamilies() const = 0; |
| 867 virtual const FX_WCHAR* GetFontFamily(int32_t index) const = 0; | 826 virtual const FX_WCHAR* GetFontFamily(int32_t index) const = 0; |
| 868 virtual uint16_t GetFontWeight() const = 0; | 827 virtual uint16_t GetFontWeight() const = 0; |
| 869 virtual FDE_CSSFONTVARIANT GetFontVariant() const = 0; | 828 virtual FDE_CSSFONTVARIANT GetFontVariant() const = 0; |
| 870 virtual FDE_CSSFONTSTYLE GetFontStyle() const = 0; | 829 virtual FDE_CSSFONTSTYLE GetFontStyle() const = 0; |
| 871 virtual FX_FLOAT GetFontSize() const = 0; | 830 virtual FX_FLOAT GetFontSize() const = 0; |
| 872 virtual FX_ARGB GetColor() const = 0; | 831 virtual FX_ARGB GetColor() const = 0; |
| 873 virtual void SetFontWeight(uint16_t wFontWeight) = 0; | 832 virtual void SetFontWeight(uint16_t wFontWeight) = 0; |
| 874 virtual void SetFontVariant(FDE_CSSFONTVARIANT eFontVariant) = 0; | 833 virtual void SetFontVariant(FDE_CSSFONTVARIANT eFontVariant) = 0; |
| 875 virtual void SetFontStyle(FDE_CSSFONTSTYLE eFontStyle) = 0; | 834 virtual void SetFontStyle(FDE_CSSFONTSTYLE eFontStyle) = 0; |
| 876 virtual void SetFontSize(FX_FLOAT fFontSize) = 0; | 835 virtual void SetFontSize(FX_FLOAT fFontSize) = 0; |
| 877 virtual void SetColor(FX_ARGB dwFontColor) = 0; | 836 virtual void SetColor(FX_ARGB dwFontColor) = 0; |
| 878 }; | 837 }; |
| 838 |
| 879 class IFDE_CSSBoundaryStyle { | 839 class IFDE_CSSBoundaryStyle { |
| 880 public: | 840 public: |
| 881 virtual ~IFDE_CSSBoundaryStyle() {} | 841 virtual ~IFDE_CSSBoundaryStyle() {} |
| 882 virtual FX_ARGB GetBorderLeftColor() const = 0; | 842 |
| 883 virtual FX_ARGB GetBorderTopColor() const = 0; | |
| 884 virtual FX_ARGB GetBorderRightColor() const = 0; | |
| 885 virtual FX_ARGB GetBorderBottomColor() const = 0; | |
| 886 virtual FDE_CSSBORDERSTYLE GetBorderLeftStyle() const = 0; | |
| 887 virtual FDE_CSSBORDERSTYLE GetBorderTopStyle() const = 0; | |
| 888 virtual FDE_CSSBORDERSTYLE GetBorderRightStyle() const = 0; | |
| 889 virtual FDE_CSSBORDERSTYLE GetBorderBottomStyle() const = 0; | |
| 890 virtual const FDE_CSSRECT* GetBorderWidth() const = 0; | 843 virtual const FDE_CSSRECT* GetBorderWidth() const = 0; |
| 891 virtual const FDE_CSSRECT* GetMarginWidth() const = 0; | 844 virtual const FDE_CSSRECT* GetMarginWidth() const = 0; |
| 892 virtual const FDE_CSSRECT* GetPaddingWidth() const = 0; | 845 virtual const FDE_CSSRECT* GetPaddingWidth() const = 0; |
| 893 virtual void SetBorderLeftColor(FX_ARGB dwBorderColor) = 0; | |
| 894 virtual void SetBorderTopColor(FX_ARGB dwBorderColor) = 0; | |
| 895 virtual void SetBorderRightColor(FX_ARGB dwBorderColor) = 0; | |
| 896 virtual void SetBorderBottomColor(FX_ARGB dwBorderColor) = 0; | |
| 897 | |
| 898 virtual void SetBorderLeftStyle(FDE_CSSBORDERSTYLE eBorderStyle) = 0; | |
| 899 virtual void SetBorderTopStyle(FDE_CSSBORDERSTYLE eBorderStyle) = 0; | |
| 900 virtual void SetBorderRightStyle(FDE_CSSBORDERSTYLE eBorderStyle) = 0; | |
| 901 virtual void SetBorderBottomStyle(FDE_CSSBORDERSTYLE eBorderStyle) = 0; | |
| 902 | |
| 903 virtual void SetBorderWidth(const FDE_CSSRECT& rect) = 0; | |
| 904 virtual void SetMarginWidth(const FDE_CSSRECT& rect) = 0; | 846 virtual void SetMarginWidth(const FDE_CSSRECT& rect) = 0; |
| 905 virtual void SetPaddingWidth(const FDE_CSSRECT& rect) = 0; | 847 virtual void SetPaddingWidth(const FDE_CSSRECT& rect) = 0; |
| 906 }; | 848 }; |
| 849 |
| 907 class IFDE_CSSPositionStyle { | 850 class IFDE_CSSPositionStyle { |
| 908 public: | 851 public: |
| 909 virtual ~IFDE_CSSPositionStyle() {} | 852 virtual ~IFDE_CSSPositionStyle() {} |
| 910 virtual FDE_CSSDISPLAY GetDisplay() const = 0; | 853 virtual FDE_CSSDISPLAY GetDisplay() const = 0; |
| 911 virtual const FDE_CSSSIZE& GetBoxSize() const = 0; | |
| 912 virtual const FDE_CSSSIZE& GetMinBoxSize() const = 0; | |
| 913 virtual const FDE_CSSSIZE& GetMaxBoxSize() const = 0; | |
| 914 virtual FDE_CSSFLOAT GetFloat() const = 0; | |
| 915 virtual FDE_CSSCLEAR GetClear() const = 0; | |
| 916 virtual FDE_CSSPOSITION GetPosition() const = 0; | |
| 917 virtual FDE_CSSLENGTH GetTop() const = 0; | |
| 918 virtual FDE_CSSLENGTH GetBottom() const = 0; | |
| 919 virtual FDE_CSSLENGTH GetLeft() const = 0; | |
| 920 virtual FDE_CSSLENGTH GetRight() const = 0; | |
| 921 virtual void SetDisplay(FDE_CSSDISPLAY eDisplay) = 0; | |
| 922 virtual void SetBoxSize(const FDE_CSSSIZE& boxSize) = 0; | |
| 923 virtual void SetMinBoxSize(const FDE_CSSSIZE& minBoxSize) = 0; | |
| 924 virtual void SetMaxBoxSize(const FDE_CSSSIZE& maxBoxSize) = 0; | |
| 925 virtual void SetFloat(FDE_CSSFLOAT eFloat) = 0; | |
| 926 virtual void SetClear(FDE_CSSCLEAR eClear) = 0; | |
| 927 }; | 854 }; |
| 855 |
| 928 class IFDE_CSSParagraphStyle { | 856 class IFDE_CSSParagraphStyle { |
| 929 public: | 857 public: |
| 930 virtual ~IFDE_CSSParagraphStyle() {} | 858 virtual ~IFDE_CSSParagraphStyle() {} |
| 859 |
| 931 virtual FX_FLOAT GetLineHeight() const = 0; | 860 virtual FX_FLOAT GetLineHeight() const = 0; |
| 932 virtual FDE_CSSWHITESPACE GetWhiteSpace() const = 0; | |
| 933 virtual const FDE_CSSLENGTH& GetTextIndent() const = 0; | 861 virtual const FDE_CSSLENGTH& GetTextIndent() const = 0; |
| 934 virtual FDE_CSSTEXTALIGN GetTextAlign() const = 0; | 862 virtual FDE_CSSTEXTALIGN GetTextAlign() const = 0; |
| 935 virtual FDE_CSSVERTICALALIGN GetVerticalAlign() const = 0; | 863 virtual FDE_CSSVERTICALALIGN GetVerticalAlign() const = 0; |
| 936 virtual FX_FLOAT GetNumberVerticalAlign() const = 0; | 864 virtual FX_FLOAT GetNumberVerticalAlign() const = 0; |
| 937 virtual FDE_CSSTEXTTRANSFORM GetTextTransform() const = 0; | |
| 938 virtual uint32_t GetTextDecoration() const = 0; | 865 virtual uint32_t GetTextDecoration() const = 0; |
| 939 virtual const FDE_CSSLENGTH& GetLetterSpacing() const = 0; | 866 virtual const FDE_CSSLENGTH& GetLetterSpacing() const = 0; |
| 940 virtual const FDE_CSSLENGTH& GetWordSpacing() const = 0; | |
| 941 virtual FDE_CSSWRITINGMODE GetWritingMode() const = 0; | |
| 942 virtual FDE_CSSWORDBREAK GetWordBreak() const = 0; | |
| 943 virtual int32_t GetWidows() const = 0; | |
| 944 virtual FX_ARGB GetTextEmphasisColor() const = 0; | |
| 945 virtual FDE_CSSPAGEBREAK GetPageBreakBefore() const = 0; | |
| 946 virtual FDE_CSSPAGEBREAK GetPageBreakAfter() const = 0; | |
| 947 virtual FDE_CSSPAGEBREAK GetPageBreakInside() const = 0; | |
| 948 virtual int32_t GetOrphans() const = 0; | |
| 949 virtual FDE_CSSLINEBREAK GetLineBreak() const = 0; | |
| 950 virtual FDE_CSSTEXTEMPHASISMARK GetTextEmphasisMark() const = 0; | |
| 951 virtual FDE_CSSTEXTEMPHASISFILL GetTextEmphasisFill() const = 0; | |
| 952 virtual const FX_WCHAR* GetTextEmphasisCustom() const = 0; | |
| 953 virtual FDE_CSSTEXTCOMBINE GetTextCombineType() const = 0; | |
| 954 virtual FX_BOOL HasTextCombineNumber() const = 0; | |
| 955 virtual FX_FLOAT GetTextCombineNumber() const = 0; | |
| 956 virtual void SetLineHeight(FX_FLOAT fLineHeight) = 0; | 867 virtual void SetLineHeight(FX_FLOAT fLineHeight) = 0; |
| 957 virtual void SetWhiteSpace(FDE_CSSWHITESPACE eWhiteSpace) = 0; | |
| 958 virtual void SetTextIndent(const FDE_CSSLENGTH& textIndent) = 0; | 868 virtual void SetTextIndent(const FDE_CSSLENGTH& textIndent) = 0; |
| 959 virtual void SetTextAlign(FDE_CSSTEXTALIGN eTextAlign) = 0; | 869 virtual void SetTextAlign(FDE_CSSTEXTALIGN eTextAlign) = 0; |
| 960 virtual void SetVerticalAlign(FDE_CSSVERTICALALIGN eVerticalAlign) = 0; | |
| 961 virtual void SetNumberVerticalAlign(FX_FLOAT fAlign) = 0; | 870 virtual void SetNumberVerticalAlign(FX_FLOAT fAlign) = 0; |
| 962 virtual void SetTextTransform(FDE_CSSTEXTTRANSFORM eTextTransform) = 0; | |
| 963 virtual void SetTextDecoration(uint32_t dwTextDecoration) = 0; | 871 virtual void SetTextDecoration(uint32_t dwTextDecoration) = 0; |
| 964 virtual void SetLetterSpacing(const FDE_CSSLENGTH& letterSpacing) = 0; | 872 virtual void SetLetterSpacing(const FDE_CSSLENGTH& letterSpacing) = 0; |
| 965 virtual void SetWordSpacing(const FDE_CSSLENGTH& wordSpacing) = 0; | |
| 966 virtual void SetWritingMode(FDE_CSSWRITINGMODE eWritingMode) = 0; | |
| 967 virtual void SetWordBreak(FDE_CSSWORDBREAK eWordBreak) = 0; | |
| 968 virtual void SetWidows(int32_t iWidows) = 0; | |
| 969 virtual void SetTextEmphasisColor(FX_ARGB dwTextEmphasisColor) = 0; | |
| 970 virtual void SetPageBreakBefore(FDE_CSSPAGEBREAK ePageBreakBefore) = 0; | |
| 971 virtual void SetPageBreakAfter(FDE_CSSPAGEBREAK ePageBreakAfter) = 0; | |
| 972 virtual void SetPageBreakInside(FDE_CSSPAGEBREAK ePageBreakInside) = 0; | |
| 973 virtual void SetOrphans(int32_t iOrphans) = 0; | |
| 974 virtual void SetLineBreak(FDE_CSSLINEBREAK eLineBreak) = 0; | |
| 975 }; | 873 }; |
| 976 class IFDE_CSSBackgroundStyle { | 874 |
| 977 public: | |
| 978 virtual ~IFDE_CSSBackgroundStyle() {} | |
| 979 virtual FX_ARGB GetBKGColor() const = 0; | |
| 980 virtual const FX_WCHAR* GetBKGImage() const = 0; | |
| 981 virtual FDE_CSSBKGREPEAT GetBKGRepeat() const = 0; | |
| 982 virtual FDE_CSSBKGATTACHMENT GetBKGAttachment() const = 0; | |
| 983 virtual const FDE_CSSPOINT& GetBKGPosition() const = 0; | |
| 984 virtual void SetBKGColor(FX_ARGB dwBKGColor) = 0; | |
| 985 virtual void SetBKGPosition(const FDE_CSSPOINT& bkgPosition) = 0; | |
| 986 }; | |
| 987 class IFDE_CSSListStyle { | |
| 988 public: | |
| 989 virtual ~IFDE_CSSListStyle() {} | |
| 990 virtual FDE_CSSLISTSTYLETYPE GetListStyleType() const = 0; | |
| 991 virtual FDE_CSSLISTSTYLEPOSITION GetListStylePosition() const = 0; | |
| 992 virtual const FX_WCHAR* GetListStyleImage() const = 0; | |
| 993 virtual void SetListStyleType(FDE_CSSLISTSTYLETYPE eListStyleType) = 0; | |
| 994 virtual void SetListStylePosition( | |
| 995 FDE_CSSLISTSTYLEPOSITION eListStylePosition) = 0; | |
| 996 }; | |
| 997 class IFDE_CSSTableStyle { | |
| 998 public: | |
| 999 virtual ~IFDE_CSSTableStyle() {} | |
| 1000 virtual FDE_CSSCAPTIONSIDE GetCaptionSide() const = 0; | |
| 1001 }; | |
| 1002 class IFDE_CSSVisualStyle { | |
| 1003 public: | |
| 1004 virtual ~IFDE_CSSVisualStyle() {} | |
| 1005 virtual FDE_CSSVISIBILITY GetVisibility() const = 0; | |
| 1006 virtual FDE_CSSOVERFLOW GetOverflowX() const = 0; | |
| 1007 virtual FDE_CSSOVERFLOW GetOverflowY() const = 0; | |
| 1008 virtual void SetVisibility(FDE_CSSVISIBILITY eVisibility) = 0; | |
| 1009 }; | |
| 1010 class IFDE_CSSComputedStyle : public IFX_Unknown { | 875 class IFDE_CSSComputedStyle : public IFX_Unknown { |
| 1011 public: | 876 public: |
| 1012 virtual void Reset() = 0; | 877 virtual void Reset() = 0; |
| 1013 virtual IFDE_CSSFontStyle* GetFontStyles() const = 0; | 878 virtual IFDE_CSSFontStyle* GetFontStyles() = 0; |
| 1014 virtual IFDE_CSSBoundaryStyle* GetBoundaryStyles() const = 0; | 879 virtual IFDE_CSSBoundaryStyle* GetBoundaryStyles() = 0; |
| 1015 virtual IFDE_CSSPositionStyle* GetPositionStyles() const = 0; | 880 virtual IFDE_CSSPositionStyle* GetPositionStyles() = 0; |
| 1016 virtual IFDE_CSSParagraphStyle* GetParagraphStyles() const = 0; | 881 virtual IFDE_CSSParagraphStyle* GetParagraphStyles() = 0; |
| 1017 virtual IFDE_CSSBackgroundStyle* GetBackgroundStyles() const = 0; | |
| 1018 virtual IFDE_CSSVisualStyle* GetVisualStyles() const = 0; | |
| 1019 virtual IFDE_CSSListStyle* GetListStyles() const = 0; | |
| 1020 virtual IFDE_CSSMultiColumnStyle* GetMultiColumnStyle() const = 0; | |
| 1021 virtual IFDE_CSSTableStyle* GetTableStyle() const = 0; | |
| 1022 virtual IFDE_CSSGeneratedContentStyle* GetGeneratedContentStyle() const = 0; | |
| 1023 virtual IFDE_CSSRubyStyle* GetRubyStyle() const = 0; | |
| 1024 virtual FX_BOOL GetCustomStyle(const CFX_WideStringC& wsName, | 882 virtual FX_BOOL GetCustomStyle(const CFX_WideStringC& wsName, |
| 1025 CFX_WideString& wsValue) const = 0; | 883 CFX_WideString& wsValue) const = 0; |
| 1026 }; | 884 }; |
| 1027 enum FDE_CSSSTYLESHEETGROUP { | 885 enum FDE_CSSSTYLESHEETGROUP { |
| 1028 FDE_CSSSTYLESHEETGROUP_UserAgent, | 886 FDE_CSSSTYLESHEETGROUP_UserAgent, |
| 1029 FDE_CSSSTYLESHEETGROUP_User, | 887 FDE_CSSSTYLESHEETGROUP_User, |
| 1030 FDE_CSSSTYLESHEETGROUP_Author, | 888 FDE_CSSSTYLESHEETGROUP_Author, |
| 1031 FDE_CSSSTYLESHEETGROUP_MAX, | 889 FDE_CSSSTYLESHEETGROUP_MAX, |
| 1032 }; | 890 }; |
| 1033 enum FDE_CSSSTYLESHEETPRIORITY { | 891 enum FDE_CSSSTYLESHEETPRIORITY { |
| 1034 FDE_CSSSTYLESHEETPRIORITY_High, | 892 FDE_CSSSTYLESHEETPRIORITY_High, |
| 1035 FDE_CSSSTYLESHEETPRIORITY_Mid, | 893 FDE_CSSSTYLESHEETPRIORITY_Mid, |
| 1036 FDE_CSSSTYLESHEETPRIORITY_Low, | 894 FDE_CSSSTYLESHEETPRIORITY_Low, |
| 1037 FDE_CSSSTYLESHEETPRIORITY_MAX, | 895 FDE_CSSSTYLESHEETPRIORITY_MAX, |
| 1038 }; | 896 }; |
| 1039 class IFDE_CSSTagProvider { | 897 class IFDE_CSSTagProvider { |
| 1040 public: | 898 public: |
| 1041 virtual ~IFDE_CSSTagProvider() {} | 899 virtual ~IFDE_CSSTagProvider() {} |
| 1042 virtual CFX_WideStringC GetTagName() = 0; | 900 virtual CFX_WideStringC GetTagName() = 0; |
| 1043 virtual FX_POSITION GetFirstAttribute() = 0; | 901 virtual FX_POSITION GetFirstAttribute() = 0; |
| 1044 virtual void GetNextAttribute(FX_POSITION& pos, | 902 virtual void GetNextAttribute(FX_POSITION& pos, |
| 1045 CFX_WideStringC& wsAttr, | 903 CFX_WideStringC& wsAttr, |
| 1046 CFX_WideStringC& wsValue) = 0; | 904 CFX_WideStringC& wsValue) = 0; |
| 1047 }; | 905 }; |
| 1048 class IFDE_CSSAccelerator { | 906 |
| 1049 public: | |
| 1050 virtual ~IFDE_CSSAccelerator() {} | |
| 1051 virtual void OnEnterTag(IFDE_CSSTagProvider* pTag) = 0; | |
| 1052 virtual void OnLeaveTag(IFDE_CSSTagProvider* pTag) = 0; | |
| 1053 }; | |
| 1054 class IFDE_CSSStyleSelector { | 907 class IFDE_CSSStyleSelector { |
| 1055 public: | 908 public: |
| 1056 static IFDE_CSSStyleSelector* Create(); | 909 static IFDE_CSSStyleSelector* Create(); |
| 1057 virtual ~IFDE_CSSStyleSelector() {} | 910 virtual ~IFDE_CSSStyleSelector() {} |
| 1058 virtual void Release() = 0; | 911 virtual void Release() = 0; |
| 1059 virtual void SetFontMgr(IFX_FontMgr* pFontMgr) = 0; | 912 virtual void SetFontMgr(IFX_FontMgr* pFontMgr) = 0; |
| 1060 virtual void SetDefFontSize(FX_FLOAT fFontSize) = 0; | 913 virtual void SetDefFontSize(FX_FLOAT fFontSize) = 0; |
| 1061 virtual FX_BOOL SetStyleSheet(FDE_CSSSTYLESHEETGROUP eType, | 914 virtual FX_BOOL SetStyleSheet(FDE_CSSSTYLESHEETGROUP eType, |
| 1062 IFDE_CSSStyleSheet* pSheet) = 0; | 915 IFDE_CSSStyleSheet* pSheet) = 0; |
| 1063 virtual FX_BOOL SetStyleSheets(FDE_CSSSTYLESHEETGROUP eType, | 916 virtual FX_BOOL SetStyleSheets(FDE_CSSSTYLESHEETGROUP eType, |
| 1064 const CFDE_CSSStyleSheetArray* pArray) = 0; | 917 const CFDE_CSSStyleSheetArray* pArray) = 0; |
| 1065 virtual void SetStylePriority(FDE_CSSSTYLESHEETGROUP eType, | 918 virtual void SetStylePriority(FDE_CSSSTYLESHEETGROUP eType, |
| 1066 FDE_CSSSTYLESHEETPRIORITY ePriority) = 0; | 919 FDE_CSSSTYLESHEETPRIORITY ePriority) = 0; |
| 1067 virtual void UpdateStyleIndex(uint32_t dwMediaList) = 0; | 920 virtual void UpdateStyleIndex(uint32_t dwMediaList) = 0; |
| 1068 virtual IFDE_CSSAccelerator* InitAccelerator() = 0; | 921 virtual CFDE_CSSAccelerator* InitAccelerator() = 0; |
| 1069 virtual IFDE_CSSComputedStyle* CreateComputedStyle( | 922 virtual IFDE_CSSComputedStyle* CreateComputedStyle( |
| 1070 IFDE_CSSComputedStyle* pParentStyle) = 0; | 923 IFDE_CSSComputedStyle* pParentStyle) = 0; |
| 1071 virtual int32_t MatchDeclarations( | 924 virtual int32_t MatchDeclarations( |
| 1072 IFDE_CSSTagProvider* pTag, | 925 IFDE_CSSTagProvider* pTag, |
| 1073 CFDE_CSSDeclarationArray& matchedDecls, | 926 CFDE_CSSDeclarationArray& matchedDecls, |
| 1074 FDE_CSSPERSUDO ePersudoType = FDE_CSSPERSUDO_NONE) = 0; | 927 FDE_CSSPERSUDO ePersudoType = FDE_CSSPERSUDO_NONE) = 0; |
| 1075 virtual void ComputeStyle(IFDE_CSSTagProvider* pTag, | 928 virtual void ComputeStyle(IFDE_CSSTagProvider* pTag, |
| 1076 const IFDE_CSSDeclaration** ppDeclArray, | 929 const IFDE_CSSDeclaration** ppDeclArray, |
| 1077 int32_t iDeclCount, | 930 int32_t iDeclCount, |
| 1078 IFDE_CSSComputedStyle* pDestStyle) = 0; | 931 IFDE_CSSComputedStyle* pDestStyle) = 0; |
| 1079 }; | 932 }; |
| 1080 | 933 |
| 1081 #endif // XFA_FDE_CSS_FDE_CSS_H_ | 934 #endif // XFA_FDE_CSS_FDE_CSS_H_ |
| OLD | NEW |