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 |