Index: xfa/src/fdp/include/fde_css.h |
diff --git a/xfa/src/fdp/include/fde_css.h b/xfa/src/fdp/include/fde_css.h |
index cf6969b1dcbe0129420740ec5760edaecf58d5af..d4a675e82eca419a0cd902eb9b3ff091f56060e9 100644 |
--- a/xfa/src/fdp/include/fde_css.h |
+++ b/xfa/src/fdp/include/fde_css.h |
@@ -1,1085 +1,1085 @@ |
-// Copyright 2014 PDFium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
- |
-#ifndef _FDE_CSS |
-#define _FDE_CSS |
-class IFDE_HTMNotify; |
-class IFDE_CSSValue; |
-class IFDE_CSSPrimitiveValue; |
-class IFDE_CSSValueList; |
-class IFDE_CSSDeclaration; |
-class IFDE_CSSSelector; |
-class IFDE_CSSRule; |
-class IFDE_CSSStyleRule; |
-class IFDE_CSSMediaRule; |
-class IFDE_CSSFontFaceRule; |
-class IFDE_CSSStyleSheet; |
-class IFDE_CSSStyleSheetCache; |
-class IFDE_CSSSyntaxParser; |
-class IFDE_CSSRubyStyle; |
-class IFDE_CSSMultiColumnStyle; |
-class IFDE_CSSGeneratedContentStyle; |
-class IFDE_CSSFontStyle; |
-class IFDE_CSSBoundaryStyle; |
-class IFDE_CSSPositionStyle; |
-class IFDE_CSSParagraphStyle; |
-class IFDE_CSSBackgroundStyle; |
-class IFDE_CSSListStyle; |
-class IFDE_CSSTableStyle; |
-class IFDE_CSSVisualStyle; |
-class IFDE_CSSComputedStyle; |
-class IFDE_CSSTagProvider; |
-class IFDE_CSSAccelerator; |
-class IFDE_CSSStyleSelector; |
-class IFDE_CSSCounterContext; |
-class IFDE_CSSCounterManager; |
-class IFDE_CSSQuoteContext; |
-class IFDE_CSSContentContext; |
-class IFDE_CSSMultiColumnContext; |
-class IFDE_CSSFloatContext; |
-enum FDE_CSSVALUETYPE { |
- FDE_CSSVALUETYPE_Primitive = 1, |
- FDE_CSSVALUETYPE_List = 2, |
- FDE_CSSVALUETYPE_Shorthand, |
-}; |
-enum FDE_CSSPRIMITIVETYPE { |
- FDE_CSSPRIMITIVETYPE_Unknown = 0, |
- FDE_CSSPRIMITIVETYPE_Number = 1, |
- FDE_CSSPRIMITIVETYPE_Percent = 2, |
- FDE_CSSPRIMITIVETYPE_EMS = 3, |
- FDE_CSSPRIMITIVETYPE_EXS = 4, |
- FDE_CSSPRIMITIVETYPE_PX = 5, |
- FDE_CSSPRIMITIVETYPE_CM = 6, |
- FDE_CSSPRIMITIVETYPE_MM = 7, |
- FDE_CSSPRIMITIVETYPE_IN = 8, |
- FDE_CSSPRIMITIVETYPE_PT = 9, |
- FDE_CSSPRIMITIVETYPE_PC = 10, |
- FDE_CSSPRIMITIVETYPE_String = 19, |
- FDE_CSSPRIMITIVETYPE_URI = 20, |
- FDE_CSSPRIMITIVETYPE_RGB = 25, |
- FDE_CSSPRIMITIVETYPE_Enum, |
- FDE_CSSPRIMITIVETYPE_Function, |
-}; |
-enum FDE_CSSPROPERTYVALUE { |
- FDE_CSSPROPERTYVALUE_Bolder, |
- FDE_CSSPROPERTYVALUE_LowerLatin, |
- FDE_CSSPROPERTYVALUE_Lowercase, |
- FDE_CSSPROPERTYVALUE_LowerGreek, |
- FDE_CSSPROPERTYVALUE_Sesame, |
- FDE_CSSPROPERTYVALUE_None, |
- FDE_CSSPROPERTYVALUE_NwResize, |
- FDE_CSSPROPERTYVALUE_WResize, |
- FDE_CSSPROPERTYVALUE_Dot, |
- FDE_CSSPROPERTYVALUE_End, |
- FDE_CSSPROPERTYVALUE_Ltr, |
- FDE_CSSPROPERTYVALUE_Pre, |
- FDE_CSSPROPERTYVALUE_Rtl, |
- FDE_CSSPROPERTYVALUE_Sub, |
- FDE_CSSPROPERTYVALUE_Top, |
- FDE_CSSPROPERTYVALUE_Visible, |
- FDE_CSSPROPERTYVALUE_Filled, |
- FDE_CSSPROPERTYVALUE_SwResize, |
- FDE_CSSPROPERTYVALUE_NoRepeat, |
- FDE_CSSPROPERTYVALUE_Default, |
- FDE_CSSPROPERTYVALUE_Transparent, |
- FDE_CSSPROPERTYVALUE_Ridge, |
- FDE_CSSPROPERTYVALUE_Right, |
- FDE_CSSPROPERTYVALUE_HorizontalTb, |
- FDE_CSSPROPERTYVALUE_DistributeLetter, |
- FDE_CSSPROPERTYVALUE_DoubleCircle, |
- FDE_CSSPROPERTYVALUE_Ruby, |
- FDE_CSSPROPERTYVALUE_Collapse, |
- FDE_CSSPROPERTYVALUE_Normal, |
- FDE_CSSPROPERTYVALUE_Avoid, |
- FDE_CSSPROPERTYVALUE_UpperRoman, |
- FDE_CSSPROPERTYVALUE_Auto, |
- FDE_CSSPROPERTYVALUE_Text, |
- FDE_CSSPROPERTYVALUE_XSmall, |
- FDE_CSSPROPERTYVALUE_Thin, |
- FDE_CSSPROPERTYVALUE_Repeat, |
- FDE_CSSPROPERTYVALUE_Small, |
- FDE_CSSPROPERTYVALUE_NeResize, |
- FDE_CSSPROPERTYVALUE_NoContent, |
- FDE_CSSPROPERTYVALUE_Outside, |
- FDE_CSSPROPERTYVALUE_EResize, |
- FDE_CSSPROPERTYVALUE_TableRow, |
- FDE_CSSPROPERTYVALUE_Bottom, |
- FDE_CSSPROPERTYVALUE_Underline, |
- FDE_CSSPROPERTYVALUE_CjkIdeographic, |
- FDE_CSSPROPERTYVALUE_SeResize, |
- FDE_CSSPROPERTYVALUE_Fixed, |
- FDE_CSSPROPERTYVALUE_Double, |
- FDE_CSSPROPERTYVALUE_Solid, |
- FDE_CSSPROPERTYVALUE_RubyBaseGroup, |
- FDE_CSSPROPERTYVALUE_OpenQuote, |
- FDE_CSSPROPERTYVALUE_Lighter, |
- FDE_CSSPROPERTYVALUE_LowerRoman, |
- FDE_CSSPROPERTYVALUE_Strict, |
- FDE_CSSPROPERTYVALUE_TableCaption, |
- FDE_CSSPROPERTYVALUE_Oblique, |
- FDE_CSSPROPERTYVALUE_Decimal, |
- FDE_CSSPROPERTYVALUE_Loose, |
- FDE_CSSPROPERTYVALUE_Hebrew, |
- FDE_CSSPROPERTYVALUE_Hidden, |
- FDE_CSSPROPERTYVALUE_Dashed, |
- FDE_CSSPROPERTYVALUE_Embed, |
- FDE_CSSPROPERTYVALUE_TableRowGroup, |
- FDE_CSSPROPERTYVALUE_TableColumn, |
- FDE_CSSPROPERTYVALUE_Static, |
- FDE_CSSPROPERTYVALUE_Outset, |
- FDE_CSSPROPERTYVALUE_DecimalLeadingZero, |
- FDE_CSSPROPERTYVALUE_KeepWords, |
- FDE_CSSPROPERTYVALUE_KatakanaIroha, |
- FDE_CSSPROPERTYVALUE_Super, |
- FDE_CSSPROPERTYVALUE_Center, |
- FDE_CSSPROPERTYVALUE_TableHeaderGroup, |
- FDE_CSSPROPERTYVALUE_Inside, |
- FDE_CSSPROPERTYVALUE_XxLarge, |
- FDE_CSSPROPERTYVALUE_Triangle, |
- FDE_CSSPROPERTYVALUE_RubyTextGroup, |
- FDE_CSSPROPERTYVALUE_Circle, |
- FDE_CSSPROPERTYVALUE_Hiragana, |
- FDE_CSSPROPERTYVALUE_RepeatX, |
- FDE_CSSPROPERTYVALUE_RepeatY, |
- FDE_CSSPROPERTYVALUE_Move, |
- FDE_CSSPROPERTYVALUE_HiraganaIroha, |
- FDE_CSSPROPERTYVALUE_RubyBase, |
- FDE_CSSPROPERTYVALUE_Scroll, |
- FDE_CSSPROPERTYVALUE_Smaller, |
- FDE_CSSPROPERTYVALUE_TableFooterGroup, |
- FDE_CSSPROPERTYVALUE_Baseline, |
- FDE_CSSPROPERTYVALUE_Separate, |
- FDE_CSSPROPERTYVALUE_Armenian, |
- FDE_CSSPROPERTYVALUE_Open, |
- FDE_CSSPROPERTYVALUE_Relative, |
- FDE_CSSPROPERTYVALUE_Thick, |
- FDE_CSSPROPERTYVALUE_Justify, |
- FDE_CSSPROPERTYVALUE_Middle, |
- FDE_CSSPROPERTYVALUE_Always, |
- FDE_CSSPROPERTYVALUE_DistributeSpace, |
- FDE_CSSPROPERTYVALUE_LineEdge, |
- FDE_CSSPROPERTYVALUE_PreWrap, |
- FDE_CSSPROPERTYVALUE_Medium, |
- FDE_CSSPROPERTYVALUE_NResize, |
- FDE_CSSPROPERTYVALUE_ListItem, |
- FDE_CSSPROPERTYVALUE_Show, |
- FDE_CSSPROPERTYVALUE_Currentcolor, |
- FDE_CSSPROPERTYVALUE_NoCloseQuote, |
- FDE_CSSPROPERTYVALUE_VerticalLr, |
- FDE_CSSPROPERTYVALUE_VerticalRl, |
- FDE_CSSPROPERTYVALUE_Pointer, |
- FDE_CSSPROPERTYVALUE_XxSmall, |
- FDE_CSSPROPERTYVALUE_Bold, |
- FDE_CSSPROPERTYVALUE_Both, |
- FDE_CSSPROPERTYVALUE_SmallCaps, |
- FDE_CSSPROPERTYVALUE_Katakana, |
- FDE_CSSPROPERTYVALUE_After, |
- FDE_CSSPROPERTYVALUE_Horizontal, |
- FDE_CSSPROPERTYVALUE_Dotted, |
- FDE_CSSPROPERTYVALUE_Disc, |
- FDE_CSSPROPERTYVALUE_Georgian, |
- FDE_CSSPROPERTYVALUE_Inline, |
- FDE_CSSPROPERTYVALUE_Overline, |
- FDE_CSSPROPERTYVALUE_Wait, |
- FDE_CSSPROPERTYVALUE_BreakAll, |
- FDE_CSSPROPERTYVALUE_UpperAlpha, |
- FDE_CSSPROPERTYVALUE_Capitalize, |
- FDE_CSSPROPERTYVALUE_Nowrap, |
- FDE_CSSPROPERTYVALUE_TextBottom, |
- FDE_CSSPROPERTYVALUE_NoOpenQuote, |
- FDE_CSSPROPERTYVALUE_Groove, |
- FDE_CSSPROPERTYVALUE_Progress, |
- FDE_CSSPROPERTYVALUE_Larger, |
- FDE_CSSPROPERTYVALUE_CloseQuote, |
- FDE_CSSPROPERTYVALUE_TableCell, |
- FDE_CSSPROPERTYVALUE_PreLine, |
- FDE_CSSPROPERTYVALUE_Absolute, |
- FDE_CSSPROPERTYVALUE_InlineTable, |
- FDE_CSSPROPERTYVALUE_BidiOverride, |
- FDE_CSSPROPERTYVALUE_InlineBlock, |
- FDE_CSSPROPERTYVALUE_Inset, |
- FDE_CSSPROPERTYVALUE_Crosshair, |
- FDE_CSSPROPERTYVALUE_UpperLatin, |
- FDE_CSSPROPERTYVALUE_Help, |
- FDE_CSSPROPERTYVALUE_Hide, |
- FDE_CSSPROPERTYVALUE_Uppercase, |
- FDE_CSSPROPERTYVALUE_SResize, |
- FDE_CSSPROPERTYVALUE_Table, |
- FDE_CSSPROPERTYVALUE_Blink, |
- FDE_CSSPROPERTYVALUE_Block, |
- FDE_CSSPROPERTYVALUE_Start, |
- FDE_CSSPROPERTYVALUE_TableColumnGroup, |
- FDE_CSSPROPERTYVALUE_Italic, |
- FDE_CSSPROPERTYVALUE_LineThrough, |
- FDE_CSSPROPERTYVALUE_KeepAll, |
- FDE_CSSPROPERTYVALUE_LowerAlpha, |
- FDE_CSSPROPERTYVALUE_RunIn, |
- FDE_CSSPROPERTYVALUE_Square, |
- FDE_CSSPROPERTYVALUE_XLarge, |
- FDE_CSSPROPERTYVALUE_Large, |
- FDE_CSSPROPERTYVALUE_Before, |
- FDE_CSSPROPERTYVALUE_Left, |
- FDE_CSSPROPERTYVALUE_TextTop, |
- FDE_CSSPROPERTYVALUE_RubyText, |
- FDE_CSSPROPERTYVALUE_NoDisplay, |
- FDE_CSSPROPERTYVALUE_MAX |
-}; |
-class IFDE_CSSValue { |
- public: |
- virtual ~IFDE_CSSValue() {} |
- virtual FDE_CSSVALUETYPE GetType() const = 0; |
-}; |
-class IFDE_CSSPrimitiveValue : public IFDE_CSSValue { |
- public: |
- virtual FDE_CSSVALUETYPE GetType() const { |
- return FDE_CSSVALUETYPE_Primitive; |
- } |
- virtual FDE_CSSPRIMITIVETYPE GetPrimitiveType() const = 0; |
- virtual FX_ARGB GetRGBColor() const = 0; |
- virtual FX_FLOAT GetFloat() const = 0; |
- virtual const FX_WCHAR* GetString(int32_t& iLength) const = 0; |
- virtual FDE_CSSPROPERTYVALUE GetEnum() const = 0; |
- virtual const FX_WCHAR* GetFuncName() const = 0; |
- virtual int32_t CountArgs() const = 0; |
- virtual IFDE_CSSValue* GetArgs(int32_t index) const = 0; |
-}; |
-class IFDE_CSSValueList : public IFDE_CSSValue { |
- public: |
- virtual FDE_CSSVALUETYPE GetType() const { return FDE_CSSVALUETYPE_List; } |
- virtual int32_t CountValues() const = 0; |
- virtual IFDE_CSSValue* GetValue(int32_t index) const = 0; |
-}; |
-enum FDE_CSSPROPERTY { |
- FDE_CSSPROPERTY_WritingMode, |
- FDE_CSSPROPERTY_ColumnRuleWidth, |
- FDE_CSSPROPERTY_BorderLeft, |
- FDE_CSSPROPERTY_ColumnRule, |
- FDE_CSSPROPERTY_Height, |
- FDE_CSSPROPERTY_CounterReset, |
- FDE_CSSPROPERTY_Content, |
- FDE_CSSPROPERTY_RubyPosition, |
- FDE_CSSPROPERTY_BackgroundColor, |
- FDE_CSSPROPERTY_Width, |
- FDE_CSSPROPERTY_Src, |
- FDE_CSSPROPERTY_Top, |
- FDE_CSSPROPERTY_Margin, |
- FDE_CSSPROPERTY_BorderColor, |
- FDE_CSSPROPERTY_Widows, |
- FDE_CSSPROPERTY_BorderBottomColor, |
- FDE_CSSPROPERTY_TextIndent, |
- FDE_CSSPROPERTY_Right, |
- FDE_CSSPROPERTY_TextEmphasisStyle, |
- FDE_CSSPROPERTY_PaddingLeft, |
- FDE_CSSPROPERTY_ColumnWidth, |
- FDE_CSSPROPERTY_MarginLeft, |
- FDE_CSSPROPERTY_Border, |
- FDE_CSSPROPERTY_BorderTop, |
- FDE_CSSPROPERTY_RubyOverhang, |
- FDE_CSSPROPERTY_PageBreakBefore, |
- FDE_CSSPROPERTY_MaxHeight, |
- FDE_CSSPROPERTY_MinWidth, |
- FDE_CSSPROPERTY_BorderLeftColor, |
- FDE_CSSPROPERTY_Bottom, |
- FDE_CSSPROPERTY_Quotes, |
- FDE_CSSPROPERTY_MaxWidth, |
- FDE_CSSPROPERTY_PaddingRight, |
- FDE_CSSPROPERTY_ListStyleImage, |
- FDE_CSSPROPERTY_WhiteSpace, |
- FDE_CSSPROPERTY_BorderBottom, |
- FDE_CSSPROPERTY_ListStyleType, |
- FDE_CSSPROPERTY_WordBreak, |
- FDE_CSSPROPERTY_OverflowX, |
- FDE_CSSPROPERTY_OverflowY, |
- FDE_CSSPROPERTY_BorderTopColor, |
- FDE_CSSPROPERTY_FontFamily, |
- FDE_CSSPROPERTY_Cursor, |
- FDE_CSSPROPERTY_RubyAlign, |
- FDE_CSSPROPERTY_ColumnRuleColor, |
- FDE_CSSPROPERTY_FontWeight, |
- FDE_CSSPROPERTY_BorderRightStyle, |
- FDE_CSSPROPERTY_MinHeight, |
- FDE_CSSPROPERTY_Color, |
- FDE_CSSPROPERTY_LetterSpacing, |
- FDE_CSSPROPERTY_EmptyCells, |
- FDE_CSSPROPERTY_TextAlign, |
- FDE_CSSPROPERTY_RubySpan, |
- FDE_CSSPROPERTY_Position, |
- FDE_CSSPROPERTY_BorderStyle, |
- FDE_CSSPROPERTY_BorderBottomStyle, |
- FDE_CSSPROPERTY_BorderCollapse, |
- FDE_CSSPROPERTY_ColumnCount, |
- FDE_CSSPROPERTY_BorderRightWidth, |
- FDE_CSSPROPERTY_UnicodeBidi, |
- FDE_CSSPROPERTY_VerticalAlign, |
- FDE_CSSPROPERTY_PaddingTop, |
- FDE_CSSPROPERTY_Columns, |
- FDE_CSSPROPERTY_Overflow, |
- FDE_CSSPROPERTY_TableLayout, |
- FDE_CSSPROPERTY_FontVariant, |
- FDE_CSSPROPERTY_ListStyle, |
- FDE_CSSPROPERTY_BackgroundPosition, |
- FDE_CSSPROPERTY_BorderWidth, |
- FDE_CSSPROPERTY_TextEmphasisColor, |
- FDE_CSSPROPERTY_BorderLeftStyle, |
- FDE_CSSPROPERTY_PageBreakInside, |
- FDE_CSSPROPERTY_TextEmphasis, |
- FDE_CSSPROPERTY_BorderBottomWidth, |
- FDE_CSSPROPERTY_ColumnGap, |
- FDE_CSSPROPERTY_Orphans, |
- FDE_CSSPROPERTY_BorderRight, |
- FDE_CSSPROPERTY_FontSize, |
- FDE_CSSPROPERTY_PageBreakAfter, |
- FDE_CSSPROPERTY_CaptionSide, |
- FDE_CSSPROPERTY_BackgroundRepeat, |
- FDE_CSSPROPERTY_BorderTopStyle, |
- FDE_CSSPROPERTY_BorderSpacing, |
- FDE_CSSPROPERTY_TextTransform, |
- FDE_CSSPROPERTY_FontStyle, |
- FDE_CSSPROPERTY_Font, |
- FDE_CSSPROPERTY_LineHeight, |
- FDE_CSSPROPERTY_MarginRight, |
- FDE_CSSPROPERTY_Float, |
- FDE_CSSPROPERTY_BorderLeftWidth, |
- FDE_CSSPROPERTY_Display, |
- FDE_CSSPROPERTY_Clear, |
- FDE_CSSPROPERTY_ColumnRuleStyle, |
- FDE_CSSPROPERTY_TextCombine, |
- FDE_CSSPROPERTY_ListStylePosition, |
- FDE_CSSPROPERTY_Visibility, |
- FDE_CSSPROPERTY_PaddingBottom, |
- FDE_CSSPROPERTY_BackgroundAttachment, |
- FDE_CSSPROPERTY_BackgroundImage, |
- FDE_CSSPROPERTY_LineBreak, |
- FDE_CSSPROPERTY_Background, |
- FDE_CSSPROPERTY_BorderTopWidth, |
- FDE_CSSPROPERTY_WordSpacing, |
- FDE_CSSPROPERTY_BorderRightColor, |
- FDE_CSSPROPERTY_CounterIncrement, |
- FDE_CSSPROPERTY_Left, |
- FDE_CSSPROPERTY_TextDecoration, |
- FDE_CSSPROPERTY_Padding, |
- FDE_CSSPROPERTY_MarginBottom, |
- FDE_CSSPROPERTY_MarginTop, |
- FDE_CSSPROPERTY_Direction, |
- FDE_CSSPROPERTY_MAX |
-}; |
-class IFDE_CSSDeclaration { |
- public: |
- virtual ~IFDE_CSSDeclaration() {} |
- virtual IFDE_CSSValue* GetProperty(FDE_CSSPROPERTY eProperty, |
- FX_BOOL& bImportant) const = 0; |
- virtual FX_POSITION GetStartPosition() const = 0; |
- virtual void GetNextProperty(FX_POSITION& pos, |
- FDE_CSSPROPERTY& eProperty, |
- IFDE_CSSValue*& pValue, |
- FX_BOOL& bImportant) const = 0; |
- virtual FX_POSITION GetStartCustom() const = 0; |
- virtual void GetNextCustom(FX_POSITION& pos, |
- CFX_WideString& wsName, |
- CFX_WideString& wsValue) const = 0; |
-}; |
-typedef CFX_ArrayTemplate<IFDE_CSSDeclaration*> CFDE_CSSDeclarationArray; |
-enum FDE_CSSPERSUDO { |
- FDE_CSSPERSUDO_After, |
- FDE_CSSPERSUDO_Before, |
- FDE_CSSPERSUDO_NONE |
-}; |
-enum FDE_CSSSELECTORTYPE { |
- FDE_CSSSELECTORTYPE_Element, |
- FDE_CSSSELECTORTYPE_Descendant, |
- FDE_CSSSELECTORTYPE_Class, |
- FDE_CSSSELECTORTYPE_Persudo, |
- FDE_CSSSELECTORTYPE_ID, |
-}; |
-class IFDE_CSSSelector { |
- public: |
- virtual ~IFDE_CSSSelector() {} |
- virtual FDE_CSSSELECTORTYPE GetType() const = 0; |
- virtual FX_DWORD GetNameHash() const = 0; |
- virtual IFDE_CSSSelector* GetNextSelector() const = 0; |
-}; |
-#define FDE_CSSMEDIATYPE_Braille 0x01 |
-#define FDE_CSSMEDIATYPE_Emboss 0x02 |
-#define FDE_CSSMEDIATYPE_Handheld 0x04 |
-#define FDE_CSSMEDIATYPE_Print 0x08 |
-#define FDE_CSSMEDIATYPE_Projection 0x10 |
-#define FDE_CSSMEDIATYPE_Screen 0x20 |
-#define FDE_CSSMEDIATYPE_TTY 0x40 |
-#define FDE_CSSMEDIATYPE_TV 0x80 |
-#define FDE_CSSMEDIATYPE_ALL 0xFF |
-enum FDE_CSSRULETYPE { |
- FDE_CSSRULETYPE_Unknown = 0, |
- FDE_CSSRULETYPE_Style = 1, |
- FDE_CSSRULETYPE_Media = 4, |
- FDE_CSSRULETYPE_FontFace = 5, |
-}; |
-class IFDE_CSSRule { |
- public: |
- virtual ~IFDE_CSSRule() {} |
- virtual FDE_CSSRULETYPE GetType() const = 0; |
-}; |
-typedef CFX_MassArrayTemplate<IFDE_CSSRule*> CFDE_CSSRuleArray; |
-class IFDE_CSSStyleRule : public IFDE_CSSRule { |
- public: |
- virtual FDE_CSSRULETYPE GetType() const { return FDE_CSSRULETYPE_Style; } |
- virtual int32_t CountSelectorLists() const = 0; |
- virtual IFDE_CSSSelector* GetSelectorList(int32_t index) const = 0; |
- virtual IFDE_CSSDeclaration* GetDeclaration() const = 0; |
-}; |
-class IFDE_CSSMediaRule : public IFDE_CSSRule { |
- public: |
- virtual FDE_CSSRULETYPE GetType() const { return FDE_CSSRULETYPE_Media; } |
- virtual FX_DWORD GetMediaList() const = 0; |
- virtual int32_t CountRules() const = 0; |
- virtual IFDE_CSSRule* GetRule(int32_t index) = 0; |
-}; |
-class IFDE_CSSFontFaceRule : public IFDE_CSSRule { |
- public: |
- virtual FDE_CSSRULETYPE GetType() const { return FDE_CSSRULETYPE_FontFace; } |
- virtual IFDE_CSSDeclaration* GetDeclaration() const = 0; |
-}; |
-class IFDE_CSSStyleSheet : public IFX_Unknown { |
- public: |
- static IFDE_CSSStyleSheet* LoadHTMLStandardStyleSheet(); |
- static IFDE_CSSStyleSheet* LoadFromStream( |
- const CFX_WideString& szUrl, |
- IFX_Stream* pStream, |
- FX_WORD wCodePage, |
- FX_DWORD dwMediaList = FDE_CSSMEDIATYPE_ALL); |
- static IFDE_CSSStyleSheet* LoadFromBuffer( |
- const CFX_WideString& szUrl, |
- const FX_WCHAR* pBuffer, |
- int32_t iBufSize, |
- FX_WORD wCodePage, |
- FX_DWORD dwMediaList = FDE_CSSMEDIATYPE_ALL); |
- virtual FX_BOOL GetUrl(CFX_WideString& szUrl) = 0; |
- virtual FX_DWORD GetMediaList() const = 0; |
- virtual FX_WORD GetCodePage() const = 0; |
- |
- virtual int32_t CountRules() const = 0; |
- virtual IFDE_CSSRule* GetRule(int32_t index) = 0; |
-}; |
-typedef CFX_ArrayTemplate<IFDE_CSSStyleSheet*> CFDE_CSSStyleSheetArray; |
-#define FDE_CSSUSERSTYLESHEET (FX_BSTRC("#USERSHEET")) |
-#define FDE_CSSUAGENTSTYLESHEET (FX_BSTRC("#AGENTSHEET")) |
-class IFDE_CSSStyleSheetCache { |
- public: |
- static IFDE_CSSStyleSheetCache* Create(); |
- virtual ~IFDE_CSSStyleSheetCache() {} |
- virtual void Release() = 0; |
- virtual void SetMaxItems(int32_t iMaxCount = 5) = 0; |
- virtual void AddStyleSheet(const CFX_ByteStringC& szKey, |
- IFDE_CSSStyleSheet* pStyleSheet) = 0; |
- virtual IFDE_CSSStyleSheet* GetStyleSheet( |
- const CFX_ByteStringC& szKey) const = 0; |
- virtual void RemoveStyleSheet(const CFX_ByteStringC& szKey) = 0; |
-}; |
-enum FDE_CSSSYNTAXSTATUS { |
- FDE_CSSSYNTAXSTATUS_Error, |
- FDE_CSSSYNTAXSTATUS_EOS, |
- FDE_CSSSYNTAXSTATUS_None, |
- FDE_CSSSYNTAXSTATUS_Charset, |
- FDE_CSSSYNTAXSTATUS_ImportRule, |
- FDE_CSSSYNTAXSTATUS_ImportClose, |
- FDE_CSSSYNTAXSTATUS_PageRule, |
- FDE_CSSSYNTAXSTATUS_StyleRule, |
- FDE_CSSSYNTAXSTATUS_FontFaceRule, |
- FDE_CSSSYNTAXSTATUS_MediaRule, |
- FDE_CSSSYNTAXSTATUS_MediaType, |
- FDE_CSSSYNTAXSTATUS_URI, |
- FDE_CSSSYNTAXSTATUS_Selector, |
- FDE_CSSSYNTAXSTATUS_DeclOpen, |
- FDE_CSSSYNTAXSTATUS_DeclClose, |
- FDE_CSSSYNTAXSTATUS_PropertyName, |
- FDE_CSSSYNTAXSTATUS_PropertyValue, |
-}; |
-class IFDE_CSSSyntaxParser { |
- public: |
- static IFDE_CSSSyntaxParser* Create(); |
- virtual ~IFDE_CSSSyntaxParser() {} |
- virtual void Release() = 0; |
- virtual FX_BOOL Init(IFX_Stream* pStream, |
- int32_t iCSSPlaneSize, |
- int32_t iTextDataSize = 32, |
- FX_BOOL bOnlyDeclaration = FALSE) = 0; |
- virtual FX_BOOL Init(const FX_WCHAR* pBuffer, |
- int32_t iBufferSize, |
- int32_t iTextDatSize = 32, |
- FX_BOOL bOnlyDeclaration = FALSE) = 0; |
- |
- virtual FDE_CSSSYNTAXSTATUS DoSyntaxParse() = 0; |
- virtual const FX_WCHAR* GetCurrentString(int32_t& iLength) const = 0; |
-}; |
-enum FDE_CSSLENGTHUNIT { |
- FDE_CSSLENGTHUNIT_Auto, |
- FDE_CSSLENGTHUNIT_None, |
- FDE_CSSLENGTHUNIT_Normal, |
- FDE_CSSLENGTHUNIT_Point, |
- FDE_CSSLENGTHUNIT_Percent, |
-}; |
-#define FDE_CSSUNITBITS (3) |
-#define FDE_CSSUNITMASK ((1 << FDE_CSSUNITBITS) - 1) |
-struct FDE_CSSLENGTH { |
- FDE_CSSLENGTH& Set(FDE_CSSLENGTHUNIT eUnit) { |
- m_iData = eUnit; |
- return *this; |
- } |
- FDE_CSSLENGTH& Set(FDE_CSSLENGTHUNIT eUnit, FX_FLOAT fValue) { |
- m_iData = ((intptr_t)(fValue * 1024.0f) << FDE_CSSUNITBITS) | eUnit; |
- return *this; |
- } |
- FDE_CSSLENGTHUNIT GetUnit() const { |
- return (FDE_CSSLENGTHUNIT)(m_iData & FDE_CSSUNITMASK); |
- } |
- FX_FLOAT GetValue() const { return (m_iData >> FDE_CSSUNITBITS) / 1024.0f; } |
- FX_BOOL NonZero() const { return (m_iData >> FDE_CSSUNITBITS) != 0; } |
- |
- private: |
- intptr_t m_iData; |
-}; |
-struct FDE_CSSPOINT { |
- FDE_CSSPOINT& Set(FDE_CSSLENGTHUNIT eUnit) { |
- x.Set(eUnit); |
- y.Set(eUnit); |
- return *this; |
- } |
- FDE_CSSPOINT& Set(FDE_CSSLENGTHUNIT eUnit, FX_FLOAT fValue) { |
- x.Set(eUnit, fValue); |
- y.Set(eUnit, fValue); |
- return *this; |
- } |
- FDE_CSSLENGTH x, y; |
-}; |
-struct FDE_CSSSIZE { |
- FDE_CSSSIZE& Set(FDE_CSSLENGTHUNIT eUnit) { |
- cx.Set(eUnit); |
- cy.Set(eUnit); |
- return *this; |
- } |
- FDE_CSSSIZE& Set(FDE_CSSLENGTHUNIT eUnit, FX_FLOAT fValue) { |
- cx.Set(eUnit, fValue); |
- cy.Set(eUnit, fValue); |
- return *this; |
- } |
- FDE_CSSLENGTH cx, cy; |
-}; |
-struct FDE_CSSRECT { |
- FDE_CSSRECT& Set(FDE_CSSLENGTHUNIT eUnit) { |
- left.Set(eUnit); |
- top.Set(eUnit); |
- right.Set(eUnit); |
- bottom.Set(eUnit); |
- return *this; |
- } |
- FDE_CSSRECT& Set(FDE_CSSLENGTHUNIT eUnit, FX_FLOAT fValue) { |
- left.Set(eUnit, fValue); |
- top.Set(eUnit, fValue); |
- right.Set(eUnit, fValue); |
- bottom.Set(eUnit, fValue); |
- return *this; |
- } |
- |
- FDE_CSSLENGTH left, top, right, bottom; |
-}; |
-enum FDE_CSSBKGATTACHMENT { |
- FDE_CSSBKGATTACHMENT_Scroll, |
- FDE_CSSBKGATTACHMENT_Fixed, |
-}; |
-enum FDE_CSSBKGREPEAT { |
- FDE_CSSBKGREPEAT_Repeat, |
- FDE_CSSBKGREPEAT_RepeatX, |
- FDE_CSSBKGREPEAT_RepeatY, |
- FDE_CSSBKGREPEAT_NoRepeat, |
-}; |
-enum FDE_CSSBORDERSTYLE { |
- FDE_CSSBORDERSTYLE_None, |
- FDE_CSSBORDERSTYLE_Hidden, |
- FDE_CSSBORDERSTYLE_Dotted, |
- FDE_CSSBORDERSTYLE_Dashed, |
- FDE_CSSBORDERSTYLE_Solid, |
- FDE_CSSBORDERSTYLE_Double, |
- FDE_CSSBORDERSTYLE_Groove, |
- FDE_CSSBORDERSTYLE_Ridge, |
- FDE_CSSBORDERSTYLE_Inset, |
- FDE_CSSBORDERSTYLE_outset, |
-}; |
-enum FDE_CSSCLEAR { |
- FDE_CSSCLEAR_None, |
- FDE_CSSCLEAR_Left, |
- FDE_CSSCLEAR_Right, |
- FDE_CSSCLEAR_Both, |
-}; |
-enum FDE_CSSDISPLAY { |
- FDE_CSSDISPLAY_None, |
- FDE_CSSDISPLAY_ListItem, |
- FDE_CSSDISPLAY_RunIn, |
- FDE_CSSDISPLAY_Block, |
- FDE_CSSDISPLAY_Inline, |
- FDE_CSSDISPLAY_InlineBlock, |
- FDE_CSSDISPLAY_InlineTable, |
- FDE_CSSDISPLAY_Table, |
- FDE_CSSDISPLAY_TableRow, |
- FDE_CSSDISPLAY_TableCell, |
- FDE_CSSDISPLAY_TableCaption, |
- FDE_CSSDISPLAY_TableColumn, |
- FDE_CSSDISPLAY_TableRowGroup, |
- FDE_CSSDISPLAY_TableColumnGroup, |
- FDE_CSSDISPLAY_TableHeaderGroup, |
- FDE_CSSDISPLAY_TableFooterGroup, |
- FDE_CSSDISPLAY_Ruby, |
- FDE_CSSDISPLAY_RubyBase, |
- FDE_CSSDISPLAY_RubyText, |
- FDE_CSSDISPLSY_RubyBaseGroup, |
- FDE_CSSDISPLAY_RubyTextGroup, |
-}; |
-enum FDE_CSSVISIBILITY { |
- FDE_CSSVISIBILITY_Visible, |
- FDE_CSSVISIBILITY_Hidden, |
- FDE_CSSVISIBILITY_Collapse, |
-}; |
-enum FDE_CSSFONTSTYLE { |
- FDE_CSSFONTSTYLE_Normal, |
- FDE_CSSFONTSTYLE_Italic, |
-}; |
-enum FDE_CSSFLOAT { |
- FDE_CSSFLOAT_None, |
- FDE_CSSFLOAT_Left, |
- FDE_CSSFLOAT_Right, |
-}; |
-enum FDE_CSSWRITINGMODE { |
- FDE_CSSWRITINGMODE_HorizontalTb, |
- FDE_CSSWRITINGMODE_VerticalRl, |
- FDE_CSSWRITINGMODE_VerticalLr, |
-}; |
-enum FDE_CSSWORDBREAK { |
- FDE_CSSWORDBREAK_Normal, |
- FDE_CSSWORDBREAK_KeepAll, |
- FDE_CSSWORDBREAK_BreakAll, |
- FDE_CSSWORDBREAK_KeepWords, |
-}; |
-enum FDE_CSSPAGEBREAK { |
- FDE_CSSPAGEBREAK_Auto, |
- FDE_CSSPAGEBREAK_Always, |
- FDE_CSSPAGEBREAK_Avoid, |
- FDE_CSSPAGEBREAK_Left, |
- FDE_CSSPAGEBREAK_Right, |
-}; |
-enum FDE_CSSOVERFLOW { |
- FDE_CSSOVERFLOW_Visible, |
- FDE_CSSOVERFLOW_Hidden, |
- FDE_CSSOVERFLOW_Scroll, |
- FDE_CSSOVERFLOW_Auto, |
- FDE_CSSOVERFLOW_NoDisplay, |
- FDE_CSSOVERFLOW_NoContent, |
-}; |
-enum FDE_CSSLINEBREAK { |
- FDE_CSSLINEBREAK_Auto, |
- FDE_CSSLINEBREAK_Loose, |
- FDE_CSSLINEBREAK_Normal, |
- FDE_CSSLINEBREAK_Strict, |
-}; |
-enum FDE_CSSTEXTEMPHASISFILL { |
- FDE_CSSTEXTEMPHASISFILL_Filled, |
- FDE_CSSTEXTEMPHASISFILL_Open, |
-}; |
-enum FDE_CSSTEXTEMPHASISMARK { |
- FDE_CSSTEXTEMPHASISMARK_None, |
- FDE_CSSTEXTEMPHASISMARK_Auto, |
- FDE_CSSTEXTEMPHASISMARK_Dot, |
- FDE_CSSTEXTEMPHASISMARK_Circle, |
- FDE_CSSTEXTEMPHASISMARK_DoubleCircle, |
- FDE_CSSTEXTEMPHASISMARK_Triangle, |
- FDE_CSSTEXTEMPHASISMARK_Sesame, |
- FDE_CSSTEXTEMPHASISMARK_Custom, |
-}; |
-enum FDE_CSSTEXTCOMBINE { |
- FDE_CSSTEXTCOMBINE_Horizontal, |
- FDE_CSSTEXTCOMBINE_None, |
-}; |
-enum FDE_CSSCURSOR { |
- FDE_CSSCURSOR_Auto, |
- FDE_CSSCURSOR_Crosshair, |
- FDE_CSSCURSOR_Default, |
- FDE_CSSCURSOR_Pointer, |
- FDE_CSSCURSOR_Move, |
- FDE_CSSCURSOR_EResize, |
- FDE_CSSCURSOR_NeResize, |
- FDE_CSSCURSOR_NwResize, |
- FDE_CSSCURSOR_NResize, |
- FDE_CSSCURSOR_SeResize, |
- FDE_CSSCURSOR_SwResize, |
- FDE_CSSCURSOR_SResize, |
- FDE_CSSCURSOR_WResize, |
- FDE_CSSCURSOR_Text, |
- FDE_CSSCURSOR_Wait, |
- FDE_CSSCURSOR_Help, |
- FDE_CSSCURSOR_Progress, |
-}; |
-enum FDE_CSSPOSITION { |
- FDE_CSSPOSITION_Static, |
- FDE_CSSPOSITION_Relative, |
- FDE_CSSPOSITION_Absolute, |
- FDE_CSSPOSITION_Fixed, |
-}; |
-enum FDE_CSSCAPTIONSIDE { |
- FDE_CSSCAPTIONSIDE_Top, |
- FDE_CSSCAPTIONSIDE_Bottom, |
- FDE_CSSCAPTIONSIDE_Left, |
- FDE_CSSCAPTIONSIDE_Right, |
- FDE_CSSCAPTIONSIDE_Before, |
- FDE_CSSCAPTIONSIDE_After, |
-}; |
-enum FDE_CSSRUBYALIGN { |
- FDE_CSSRUBYALIGN_Auto, |
- FDE_CSSRUBYALIGN_Start, |
- FDE_CSSRUBYALIGN_Left, |
- FDE_CSSRUBYALIGN_Center, |
- FDE_CSSRUBYALIGN_End, |
- FDE_CSSRUBYALIGN_Right, |
- FDE_CSSRUBYALIGN_DistributeLetter, |
- FDE_CSSRUBYALIGN_DistributeSpace, |
- FDE_CSSRUBYALIGN_LineEdge, |
-}; |
-enum FDE_CSSRUBYOVERHANG { |
- FDE_CSSRUBYOVERHANG_Auto, |
- FDE_CSSRUBYOVERHANG_Start, |
- FDE_CSSRUBYOVERHANG_End, |
- FDE_CSSRUBYOVERHANG_None, |
-}; |
-enum FDE_CSSRUBYPOSITION { |
- FDE_CSSRUBYPOSITION_Before, |
- FDE_CSSRUBYPOSITION_After, |
- FDE_CSSRUBYPOSITION_Right, |
- FDE_CSSRUBYPOSITION_Inline, |
-}; |
-enum FDE_CSSRUBYSPAN { |
- FDE_CSSRUBYSPAN_None, |
- FDE_CSSRUBYSPAN_Attr, |
-}; |
-enum FDE_CSSTEXTALIGN { |
- FDE_CSSTEXTALIGN_Left, |
- FDE_CSSTEXTALIGN_Right, |
- FDE_CSSTEXTALIGN_Center, |
- FDE_CSSTEXTALIGN_Justify, |
- FDE_CSSTEXTALIGN_JustifyAll, |
-}; |
-enum FDE_CSSVERTICALALIGN { |
- FDE_CSSVERTICALALIGN_Baseline, |
- FDE_CSSVERTICALALIGN_Sub, |
- FDE_CSSVERTICALALIGN_Super, |
- FDE_CSSVERTICALALIGN_Top, |
- FDE_CSSVERTICALALIGN_TextTop, |
- FDE_CSSVERTICALALIGN_Middle, |
- FDE_CSSVERTICALALIGN_Bottom, |
- FDE_CSSVERTICALALIGN_TextBottom, |
- FDE_CSSVERTICALALIGN_Number, |
-}; |
-enum FDE_CSSLISTSTYLETYPE { |
- FDE_CSSLISTSTYLETYPE_Disc, |
- FDE_CSSLISTSTYLETYPE_Circle, |
- FDE_CSSLISTSTYLETYPE_Square, |
- FDE_CSSLISTSTYLETYPE_Decimal, |
- FDE_CSSLISTSTYLETYPE_DecimalLeadingZero, |
- FDE_CSSLISTSTYLETYPE_LowerRoman, |
- FDE_CSSLISTSTYLETYPE_UpperRoman, |
- FDE_CSSLISTSTYLETYPE_LowerGreek, |
- FDE_CSSLISTSTYLETYPE_LowerLatin, |
- FDE_CSSLISTSTYLETYPE_UpperLatin, |
- FDE_CSSLISTSTYLETYPE_Armenian, |
- FDE_CSSLISTSTYLETYPE_Georgian, |
- FDE_CSSLISTSTYLETYPE_LowerAlpha, |
- FDE_CSSLISTSTYLETYPE_UpperAlpha, |
- FDE_CSSLISTSTYLETYPE_None, |
- FDE_CSSLISTSTYLETYPE_CjkIdeographic, |
- FDE_CSSLISTSTYLETYPE_Hebrew, |
- FDE_CSSLISTSTYLETYPE_Hiragana, |
- FDE_CSSLISTSTYLETYPE_HiraganaIroha, |
- FDE_CSSLISTSTYLETYPE_Katakana, |
- FDE_CSSLISTSTYLETYPE_KatakanaIroha, |
-}; |
-enum FDE_CSSLISTSTYLEPOSITION { |
- FDE_CSSLISTSTYLEPOSITION_Outside, |
- FDE_CSSLISTSTYLEPOSITION_Inside, |
-}; |
-enum FDE_CSSWHITESPACE { |
- FDE_CSSWHITESPACE_Normal, |
- FDE_CSSWHITESPACE_Pre, |
- FDE_CSSWHITESPACE_Nowrap, |
- FDE_CSSWHITESPACE_PreWrap, |
- FDE_CSSWHITESPACE_PreLine, |
-}; |
-enum FDE_CSSFONTVARIANT { |
- FDE_CSSFONTVARIANT_Normal, |
- FDE_CSSFONTVARIANT_SmallCaps, |
-}; |
-enum FDE_CSSTEXTTRANSFORM { |
- FDE_CSSTEXTTRANSFORM_None, |
- FDE_CSSTEXTTRANSFORM_Capitalize, |
- FDE_CSSTEXTTRANSFORM_UpperCase, |
- FDE_CSSTEXTTRANSFORM_LowerCase, |
-}; |
-enum FDE_CSSTEXTDECORATION { |
- FDE_CSSTEXTDECORATION_None = 0, |
- FDE_CSSTEXTDECORATION_Underline = 1, |
- FDE_CSSTEXTDECORATION_Overline = 2, |
- FDE_CSSTEXTDECORATION_LineThrough = 4, |
- FDE_CSSTEXTDECORATION_Blink = 8, |
- FDE_CSSTEXTDECORATION_Double = 16, |
-}; |
-class IFDE_CSSRubyStyle { |
- public: |
- virtual ~IFDE_CSSRubyStyle() {} |
- virtual FDE_CSSRUBYALIGN GetRubyAlign() const = 0; |
- virtual FDE_CSSRUBYOVERHANG GetRubyOverhang() const = 0; |
- virtual FDE_CSSRUBYPOSITION GetRubyPosition() const = 0; |
- virtual FDE_CSSRUBYSPAN GetRubySpanType() const = 0; |
- virtual IFDE_CSSValue* GetRubySpanAttr() const = 0; |
-}; |
-class IFDE_CSSMultiColumnStyle { |
- public: |
- virtual ~IFDE_CSSMultiColumnStyle() {} |
- virtual const FDE_CSSLENGTH& GetColumnCount() const = 0; |
- virtual const FDE_CSSLENGTH& GetColumnGap() const = 0; |
- virtual FX_ARGB GetColumnRuleColor() const = 0; |
- virtual FDE_CSSBORDERSTYLE GetColumnRuleStyle() const = 0; |
- virtual const FDE_CSSLENGTH& GetColumnRuleWidth() const = 0; |
- virtual const FDE_CSSLENGTH& GetColumnWidth() const = 0; |
- virtual void SetColumnCount(const FDE_CSSLENGTH& columnCount) = 0; |
- virtual void SetColumnGap(const FDE_CSSLENGTH& columnGap) = 0; |
- virtual void SetColumnRuleColor(FX_ARGB dwColumnRuleColor) = 0; |
- virtual void SetColumnRuleStyle(FDE_CSSBORDERSTYLE eColumnRuleStyle) = 0; |
- virtual void SetColumnRuleWidth(const FDE_CSSLENGTH& columnRuleWidth) = 0; |
- virtual void SetColumnWidth(const FDE_CSSLENGTH& columnWidth) = 0; |
-}; |
-class IFDE_CSSGeneratedContentStyle { |
- public: |
- virtual ~IFDE_CSSGeneratedContentStyle() {} |
- virtual int32_t CountCounters() = 0; |
- virtual const FX_WCHAR* GetCounterIdentifier(int32_t index) = 0; |
- virtual FX_BOOL GetCounterReset(int32_t index, int32_t& iValue) = 0; |
- virtual FX_BOOL GetCounterIncrement(int32_t index, int32_t& iValue) = 0; |
- virtual IFDE_CSSValueList* GetContent() const = 0; |
- virtual int32_t CountQuotes() const = 0; |
- virtual const FX_WCHAR* GetQuotes(int32_t index) const = 0; |
-}; |
-class IFDE_CSSFontStyle { |
- public: |
- virtual ~IFDE_CSSFontStyle() {} |
- virtual int32_t CountFontFamilies() const = 0; |
- virtual const FX_WCHAR* GetFontFamily(int32_t index) const = 0; |
- virtual FX_WORD GetFontWeight() const = 0; |
- virtual FDE_CSSFONTVARIANT GetFontVariant() const = 0; |
- virtual FDE_CSSFONTSTYLE GetFontStyle() const = 0; |
- virtual FX_FLOAT GetFontSize() const = 0; |
- virtual FX_ARGB GetColor() const = 0; |
- virtual void SetFontWeight(FX_WORD wFontWeight) = 0; |
- virtual void SetFontVariant(FDE_CSSFONTVARIANT eFontVariant) = 0; |
- virtual void SetFontStyle(FDE_CSSFONTSTYLE eFontStyle) = 0; |
- virtual void SetFontSize(FX_FLOAT fFontSize) = 0; |
- virtual void SetColor(FX_ARGB dwFontColor) = 0; |
-}; |
-class IFDE_CSSBoundaryStyle { |
- public: |
- virtual ~IFDE_CSSBoundaryStyle() {} |
- virtual FX_ARGB GetBorderLeftColor() const = 0; |
- virtual FX_ARGB GetBorderTopColor() const = 0; |
- virtual FX_ARGB GetBorderRightColor() const = 0; |
- virtual FX_ARGB GetBorderBottomColor() const = 0; |
- virtual FDE_CSSBORDERSTYLE GetBorderLeftStyle() const = 0; |
- virtual FDE_CSSBORDERSTYLE GetBorderTopStyle() const = 0; |
- virtual FDE_CSSBORDERSTYLE GetBorderRightStyle() const = 0; |
- virtual FDE_CSSBORDERSTYLE GetBorderBottomStyle() const = 0; |
- virtual const FDE_CSSRECT* GetBorderWidth() const = 0; |
- virtual const FDE_CSSRECT* GetMarginWidth() const = 0; |
- virtual const FDE_CSSRECT* GetPaddingWidth() const = 0; |
- virtual void SetBorderLeftColor(FX_ARGB dwBorderColor) = 0; |
- virtual void SetBorderTopColor(FX_ARGB dwBorderColor) = 0; |
- virtual void SetBorderRightColor(FX_ARGB dwBorderColor) = 0; |
- virtual void SetBorderBottomColor(FX_ARGB dwBorderColor) = 0; |
- |
- virtual void SetBorderLeftStyle(FDE_CSSBORDERSTYLE eBorderStyle) = 0; |
- virtual void SetBorderTopStyle(FDE_CSSBORDERSTYLE eBorderStyle) = 0; |
- virtual void SetBorderRightStyle(FDE_CSSBORDERSTYLE eBorderStyle) = 0; |
- virtual void SetBorderBottomStyle(FDE_CSSBORDERSTYLE eBorderStyle) = 0; |
- |
- virtual void SetBorderWidth(const FDE_CSSRECT& rect) = 0; |
- virtual void SetMarginWidth(const FDE_CSSRECT& rect) = 0; |
- virtual void SetPaddingWidth(const FDE_CSSRECT& rect) = 0; |
-}; |
-class IFDE_CSSPositionStyle { |
- public: |
- virtual ~IFDE_CSSPositionStyle() {} |
- virtual FDE_CSSDISPLAY GetDisplay() const = 0; |
- virtual const FDE_CSSSIZE& GetBoxSize() const = 0; |
- virtual const FDE_CSSSIZE& GetMinBoxSize() const = 0; |
- virtual const FDE_CSSSIZE& GetMaxBoxSize() const = 0; |
- virtual FDE_CSSFLOAT GetFloat() const = 0; |
- virtual FDE_CSSCLEAR GetClear() const = 0; |
- virtual FDE_CSSPOSITION GetPosition() const = 0; |
- virtual FDE_CSSLENGTH GetTop() const = 0; |
- virtual FDE_CSSLENGTH GetBottom() const = 0; |
- virtual FDE_CSSLENGTH GetLeft() const = 0; |
- virtual FDE_CSSLENGTH GetRight() const = 0; |
- virtual void SetDisplay(FDE_CSSDISPLAY eDisplay) = 0; |
- virtual void SetBoxSize(const FDE_CSSSIZE& boxSize) = 0; |
- virtual void SetMinBoxSize(const FDE_CSSSIZE& minBoxSize) = 0; |
- virtual void SetMaxBoxSize(const FDE_CSSSIZE& maxBoxSize) = 0; |
- virtual void SetFloat(FDE_CSSFLOAT eFloat) = 0; |
- virtual void SetClear(FDE_CSSCLEAR eClear) = 0; |
-}; |
-class IFDE_CSSParagraphStyle { |
- public: |
- virtual ~IFDE_CSSParagraphStyle() {} |
- virtual FX_FLOAT GetLineHeight() const = 0; |
- virtual FDE_CSSWHITESPACE GetWhiteSpace() const = 0; |
- virtual const FDE_CSSLENGTH& GetTextIndent() const = 0; |
- virtual FDE_CSSTEXTALIGN GetTextAlign() const = 0; |
- virtual FDE_CSSVERTICALALIGN GetVerticalAlign() const = 0; |
- virtual FX_FLOAT GetNumberVerticalAlign() const = 0; |
- virtual FDE_CSSTEXTTRANSFORM GetTextTransform() const = 0; |
- virtual FX_DWORD GetTextDecoration() const = 0; |
- virtual const FDE_CSSLENGTH& GetLetterSpacing() const = 0; |
- virtual const FDE_CSSLENGTH& GetWordSpacing() const = 0; |
- virtual FDE_CSSWRITINGMODE GetWritingMode() const = 0; |
- virtual FDE_CSSWORDBREAK GetWordBreak() const = 0; |
- virtual int32_t GetWidows() const = 0; |
- virtual FX_ARGB GetTextEmphasisColor() const = 0; |
- virtual FDE_CSSPAGEBREAK GetPageBreakBefore() const = 0; |
- virtual FDE_CSSPAGEBREAK GetPageBreakAfter() const = 0; |
- virtual FDE_CSSPAGEBREAK GetPageBreakInside() const = 0; |
- virtual int32_t GetOrphans() const = 0; |
- virtual FDE_CSSLINEBREAK GetLineBreak() const = 0; |
- virtual FDE_CSSTEXTEMPHASISMARK GetTextEmphasisMark() const = 0; |
- virtual FDE_CSSTEXTEMPHASISFILL GetTextEmphasisFill() const = 0; |
- virtual const FX_WCHAR* GetTextEmphasisCustom() const = 0; |
- virtual FDE_CSSTEXTCOMBINE GetTextCombineType() const = 0; |
- virtual FX_BOOL HasTextCombineNumber() const = 0; |
- virtual FX_FLOAT GetTextCombineNumber() const = 0; |
- virtual void SetLineHeight(FX_FLOAT fLineHeight) = 0; |
- virtual void SetWhiteSpace(FDE_CSSWHITESPACE eWhiteSpace) = 0; |
- virtual void SetTextIndent(const FDE_CSSLENGTH& textIndent) = 0; |
- virtual void SetTextAlign(FDE_CSSTEXTALIGN eTextAlign) = 0; |
- virtual void SetVerticalAlign(FDE_CSSVERTICALALIGN eVerticalAlign) = 0; |
- virtual void SetNumberVerticalAlign(FX_FLOAT fAlign) = 0; |
- virtual void SetTextTransform(FDE_CSSTEXTTRANSFORM eTextTransform) = 0; |
- virtual void SetTextDecoration(FX_DWORD dwTextDecoration) = 0; |
- virtual void SetLetterSpacing(const FDE_CSSLENGTH& letterSpacing) = 0; |
- virtual void SetWordSpacing(const FDE_CSSLENGTH& wordSpacing) = 0; |
- virtual void SetWritingMode(FDE_CSSWRITINGMODE eWritingMode) = 0; |
- virtual void SetWordBreak(FDE_CSSWORDBREAK eWordBreak) = 0; |
- virtual void SetWidows(int32_t iWidows) = 0; |
- virtual void SetTextEmphasisColor(FX_ARGB dwTextEmphasisColor) = 0; |
- virtual void SetPageBreakBefore(FDE_CSSPAGEBREAK ePageBreakBefore) = 0; |
- virtual void SetPageBreakAfter(FDE_CSSPAGEBREAK ePageBreakAfter) = 0; |
- virtual void SetPageBreakInside(FDE_CSSPAGEBREAK ePageBreakInside) = 0; |
- virtual void SetOrphans(int32_t iOrphans) = 0; |
- virtual void SetLineBreak(FDE_CSSLINEBREAK eLineBreak) = 0; |
-}; |
-class IFDE_CSSBackgroundStyle { |
- public: |
- virtual ~IFDE_CSSBackgroundStyle() {} |
- virtual FX_ARGB GetBKGColor() const = 0; |
- virtual const FX_WCHAR* GetBKGImage() const = 0; |
- virtual FDE_CSSBKGREPEAT GetBKGRepeat() const = 0; |
- virtual FDE_CSSBKGATTACHMENT GetBKGAttachment() const = 0; |
- virtual const FDE_CSSPOINT& GetBKGPosition() const = 0; |
- virtual void SetBKGColor(FX_ARGB dwBKGColor) = 0; |
- virtual void SetBKGPosition(const FDE_CSSPOINT& bkgPosition) = 0; |
-}; |
-class IFDE_CSSListStyle { |
- public: |
- virtual ~IFDE_CSSListStyle() {} |
- virtual FDE_CSSLISTSTYLETYPE GetListStyleType() const = 0; |
- virtual FDE_CSSLISTSTYLEPOSITION GetListStylePosition() const = 0; |
- virtual const FX_WCHAR* GetListStyleImage() const = 0; |
- virtual void SetListStyleType(FDE_CSSLISTSTYLETYPE eListStyleType) = 0; |
- virtual void SetListStylePosition( |
- FDE_CSSLISTSTYLEPOSITION eListStylePosition) = 0; |
-}; |
-class IFDE_CSSTableStyle { |
- public: |
- virtual ~IFDE_CSSTableStyle() {} |
- virtual FDE_CSSCAPTIONSIDE GetCaptionSide() const = 0; |
-}; |
-class IFDE_CSSVisualStyle { |
- public: |
- virtual ~IFDE_CSSVisualStyle() {} |
- virtual FDE_CSSVISIBILITY GetVisibility() const = 0; |
- virtual FDE_CSSOVERFLOW GetOverflowX() const = 0; |
- virtual FDE_CSSOVERFLOW GetOverflowY() const = 0; |
- virtual void SetVisibility(FDE_CSSVISIBILITY eVisibility) = 0; |
-}; |
-class IFDE_CSSComputedStyle : public IFX_Unknown { |
- public: |
- virtual void Reset() = 0; |
- virtual IFDE_CSSFontStyle* GetFontStyles() const = 0; |
- virtual IFDE_CSSBoundaryStyle* GetBoundaryStyles() const = 0; |
- virtual IFDE_CSSPositionStyle* GetPositionStyles() const = 0; |
- virtual IFDE_CSSParagraphStyle* GetParagraphStyles() const = 0; |
- virtual IFDE_CSSBackgroundStyle* GetBackgroundStyles() const = 0; |
- virtual IFDE_CSSVisualStyle* GetVisualStyles() const = 0; |
- virtual IFDE_CSSListStyle* GetListStyles() const = 0; |
- virtual IFDE_CSSMultiColumnStyle* GetMultiColumnStyle() const = 0; |
- virtual IFDE_CSSTableStyle* GetTableStyle() const = 0; |
- virtual IFDE_CSSGeneratedContentStyle* GetGeneratedContentStyle() const = 0; |
- virtual IFDE_CSSRubyStyle* GetRubyStyle() const = 0; |
- virtual FX_BOOL GetCustomStyle(const CFX_WideStringC& wsName, |
- CFX_WideString& wsValue) const = 0; |
-}; |
-enum FDE_CSSSTYLESHEETGROUP { |
- FDE_CSSSTYLESHEETGROUP_UserAgent, |
- FDE_CSSSTYLESHEETGROUP_User, |
- FDE_CSSSTYLESHEETGROUP_Author, |
- FDE_CSSSTYLESHEETGROUP_MAX, |
-}; |
-enum FDE_CSSSTYLESHEETPRIORITY { |
- FDE_CSSSTYLESHEETPRIORITY_High, |
- FDE_CSSSTYLESHEETPRIORITY_Mid, |
- FDE_CSSSTYLESHEETPRIORITY_Low, |
- FDE_CSSSTYLESHEETPRIORITY_MAX, |
-}; |
-class IFDE_CSSTagProvider { |
- public: |
- virtual ~IFDE_CSSTagProvider() {} |
- virtual CFX_WideStringC GetTagName() = 0; |
- virtual FX_POSITION GetFirstAttribute() = 0; |
- virtual void GetNextAttribute(FX_POSITION& pos, |
- CFX_WideStringC& wsAttr, |
- CFX_WideStringC& wsValue) = 0; |
-}; |
-class IFDE_CSSAccelerator { |
- public: |
- virtual ~IFDE_CSSAccelerator() {} |
- virtual void OnEnterTag(IFDE_CSSTagProvider* pTag) = 0; |
- virtual void OnLeaveTag(IFDE_CSSTagProvider* pTag) = 0; |
-}; |
-class IFDE_CSSStyleSelector { |
- public: |
- static IFDE_CSSStyleSelector* Create(); |
- virtual ~IFDE_CSSStyleSelector() {} |
- virtual void Release() = 0; |
- virtual void SetFontMgr(IFX_FontMgr* pFontMgr) = 0; |
- virtual void SetDefFontSize(FX_FLOAT fFontSize) = 0; |
- virtual FX_BOOL SetStyleSheet(FDE_CSSSTYLESHEETGROUP eType, |
- IFDE_CSSStyleSheet* pSheet) = 0; |
- virtual FX_BOOL SetStyleSheets(FDE_CSSSTYLESHEETGROUP eType, |
- const CFDE_CSSStyleSheetArray* pArray) = 0; |
- virtual void SetStylePriority(FDE_CSSSTYLESHEETGROUP eType, |
- FDE_CSSSTYLESHEETPRIORITY ePriority) = 0; |
- virtual void UpdateStyleIndex(FX_DWORD dwMediaList) = 0; |
- virtual IFDE_CSSAccelerator* InitAccelerator() = 0; |
- virtual IFDE_CSSComputedStyle* CreateComputedStyle( |
- IFDE_CSSComputedStyle* pParentStyle) = 0; |
- virtual int32_t MatchDeclarations( |
- IFDE_CSSTagProvider* pTag, |
- CFDE_CSSDeclarationArray& matchedDecls, |
- FDE_CSSPERSUDO ePersudoType = FDE_CSSPERSUDO_NONE) = 0; |
- virtual void ComputeStyle(IFDE_CSSTagProvider* pTag, |
- const IFDE_CSSDeclaration** ppDeclArray, |
- int32_t iDeclCount, |
- IFDE_CSSComputedStyle* pDestStyle) = 0; |
-}; |
-#endif |
+// Copyright 2014 PDFium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
+ |
+#ifndef _FDE_CSS |
+#define _FDE_CSS |
+class IFDE_HTMNotify; |
+class IFDE_CSSValue; |
+class IFDE_CSSPrimitiveValue; |
+class IFDE_CSSValueList; |
+class IFDE_CSSDeclaration; |
+class IFDE_CSSSelector; |
+class IFDE_CSSRule; |
+class IFDE_CSSStyleRule; |
+class IFDE_CSSMediaRule; |
+class IFDE_CSSFontFaceRule; |
+class IFDE_CSSStyleSheet; |
+class IFDE_CSSStyleSheetCache; |
+class IFDE_CSSSyntaxParser; |
+class IFDE_CSSRubyStyle; |
+class IFDE_CSSMultiColumnStyle; |
+class IFDE_CSSGeneratedContentStyle; |
+class IFDE_CSSFontStyle; |
+class IFDE_CSSBoundaryStyle; |
+class IFDE_CSSPositionStyle; |
+class IFDE_CSSParagraphStyle; |
+class IFDE_CSSBackgroundStyle; |
+class IFDE_CSSListStyle; |
+class IFDE_CSSTableStyle; |
+class IFDE_CSSVisualStyle; |
+class IFDE_CSSComputedStyle; |
+class IFDE_CSSTagProvider; |
+class IFDE_CSSAccelerator; |
+class IFDE_CSSStyleSelector; |
+class IFDE_CSSCounterContext; |
+class IFDE_CSSCounterManager; |
+class IFDE_CSSQuoteContext; |
+class IFDE_CSSContentContext; |
+class IFDE_CSSMultiColumnContext; |
+class IFDE_CSSFloatContext; |
+enum FDE_CSSVALUETYPE { |
+ FDE_CSSVALUETYPE_Primitive = 1, |
+ FDE_CSSVALUETYPE_List = 2, |
+ FDE_CSSVALUETYPE_Shorthand, |
+}; |
+enum FDE_CSSPRIMITIVETYPE { |
+ FDE_CSSPRIMITIVETYPE_Unknown = 0, |
+ FDE_CSSPRIMITIVETYPE_Number = 1, |
+ FDE_CSSPRIMITIVETYPE_Percent = 2, |
+ FDE_CSSPRIMITIVETYPE_EMS = 3, |
+ FDE_CSSPRIMITIVETYPE_EXS = 4, |
+ FDE_CSSPRIMITIVETYPE_PX = 5, |
+ FDE_CSSPRIMITIVETYPE_CM = 6, |
+ FDE_CSSPRIMITIVETYPE_MM = 7, |
+ FDE_CSSPRIMITIVETYPE_IN = 8, |
+ FDE_CSSPRIMITIVETYPE_PT = 9, |
+ FDE_CSSPRIMITIVETYPE_PC = 10, |
+ FDE_CSSPRIMITIVETYPE_String = 19, |
+ FDE_CSSPRIMITIVETYPE_URI = 20, |
+ FDE_CSSPRIMITIVETYPE_RGB = 25, |
+ FDE_CSSPRIMITIVETYPE_Enum, |
+ FDE_CSSPRIMITIVETYPE_Function, |
+}; |
+enum FDE_CSSPROPERTYVALUE { |
+ FDE_CSSPROPERTYVALUE_Bolder, |
+ FDE_CSSPROPERTYVALUE_LowerLatin, |
+ FDE_CSSPROPERTYVALUE_Lowercase, |
+ FDE_CSSPROPERTYVALUE_LowerGreek, |
+ FDE_CSSPROPERTYVALUE_Sesame, |
+ FDE_CSSPROPERTYVALUE_None, |
+ FDE_CSSPROPERTYVALUE_NwResize, |
+ FDE_CSSPROPERTYVALUE_WResize, |
+ FDE_CSSPROPERTYVALUE_Dot, |
+ FDE_CSSPROPERTYVALUE_End, |
+ FDE_CSSPROPERTYVALUE_Ltr, |
+ FDE_CSSPROPERTYVALUE_Pre, |
+ FDE_CSSPROPERTYVALUE_Rtl, |
+ FDE_CSSPROPERTYVALUE_Sub, |
+ FDE_CSSPROPERTYVALUE_Top, |
+ FDE_CSSPROPERTYVALUE_Visible, |
+ FDE_CSSPROPERTYVALUE_Filled, |
+ FDE_CSSPROPERTYVALUE_SwResize, |
+ FDE_CSSPROPERTYVALUE_NoRepeat, |
+ FDE_CSSPROPERTYVALUE_Default, |
+ FDE_CSSPROPERTYVALUE_Transparent, |
+ FDE_CSSPROPERTYVALUE_Ridge, |
+ FDE_CSSPROPERTYVALUE_Right, |
+ FDE_CSSPROPERTYVALUE_HorizontalTb, |
+ FDE_CSSPROPERTYVALUE_DistributeLetter, |
+ FDE_CSSPROPERTYVALUE_DoubleCircle, |
+ FDE_CSSPROPERTYVALUE_Ruby, |
+ FDE_CSSPROPERTYVALUE_Collapse, |
+ FDE_CSSPROPERTYVALUE_Normal, |
+ FDE_CSSPROPERTYVALUE_Avoid, |
+ FDE_CSSPROPERTYVALUE_UpperRoman, |
+ FDE_CSSPROPERTYVALUE_Auto, |
+ FDE_CSSPROPERTYVALUE_Text, |
+ FDE_CSSPROPERTYVALUE_XSmall, |
+ FDE_CSSPROPERTYVALUE_Thin, |
+ FDE_CSSPROPERTYVALUE_Repeat, |
+ FDE_CSSPROPERTYVALUE_Small, |
+ FDE_CSSPROPERTYVALUE_NeResize, |
+ FDE_CSSPROPERTYVALUE_NoContent, |
+ FDE_CSSPROPERTYVALUE_Outside, |
+ FDE_CSSPROPERTYVALUE_EResize, |
+ FDE_CSSPROPERTYVALUE_TableRow, |
+ FDE_CSSPROPERTYVALUE_Bottom, |
+ FDE_CSSPROPERTYVALUE_Underline, |
+ FDE_CSSPROPERTYVALUE_CjkIdeographic, |
+ FDE_CSSPROPERTYVALUE_SeResize, |
+ FDE_CSSPROPERTYVALUE_Fixed, |
+ FDE_CSSPROPERTYVALUE_Double, |
+ FDE_CSSPROPERTYVALUE_Solid, |
+ FDE_CSSPROPERTYVALUE_RubyBaseGroup, |
+ FDE_CSSPROPERTYVALUE_OpenQuote, |
+ FDE_CSSPROPERTYVALUE_Lighter, |
+ FDE_CSSPROPERTYVALUE_LowerRoman, |
+ FDE_CSSPROPERTYVALUE_Strict, |
+ FDE_CSSPROPERTYVALUE_TableCaption, |
+ FDE_CSSPROPERTYVALUE_Oblique, |
+ FDE_CSSPROPERTYVALUE_Decimal, |
+ FDE_CSSPROPERTYVALUE_Loose, |
+ FDE_CSSPROPERTYVALUE_Hebrew, |
+ FDE_CSSPROPERTYVALUE_Hidden, |
+ FDE_CSSPROPERTYVALUE_Dashed, |
+ FDE_CSSPROPERTYVALUE_Embed, |
+ FDE_CSSPROPERTYVALUE_TableRowGroup, |
+ FDE_CSSPROPERTYVALUE_TableColumn, |
+ FDE_CSSPROPERTYVALUE_Static, |
+ FDE_CSSPROPERTYVALUE_Outset, |
+ FDE_CSSPROPERTYVALUE_DecimalLeadingZero, |
+ FDE_CSSPROPERTYVALUE_KeepWords, |
+ FDE_CSSPROPERTYVALUE_KatakanaIroha, |
+ FDE_CSSPROPERTYVALUE_Super, |
+ FDE_CSSPROPERTYVALUE_Center, |
+ FDE_CSSPROPERTYVALUE_TableHeaderGroup, |
+ FDE_CSSPROPERTYVALUE_Inside, |
+ FDE_CSSPROPERTYVALUE_XxLarge, |
+ FDE_CSSPROPERTYVALUE_Triangle, |
+ FDE_CSSPROPERTYVALUE_RubyTextGroup, |
+ FDE_CSSPROPERTYVALUE_Circle, |
+ FDE_CSSPROPERTYVALUE_Hiragana, |
+ FDE_CSSPROPERTYVALUE_RepeatX, |
+ FDE_CSSPROPERTYVALUE_RepeatY, |
+ FDE_CSSPROPERTYVALUE_Move, |
+ FDE_CSSPROPERTYVALUE_HiraganaIroha, |
+ FDE_CSSPROPERTYVALUE_RubyBase, |
+ FDE_CSSPROPERTYVALUE_Scroll, |
+ FDE_CSSPROPERTYVALUE_Smaller, |
+ FDE_CSSPROPERTYVALUE_TableFooterGroup, |
+ FDE_CSSPROPERTYVALUE_Baseline, |
+ FDE_CSSPROPERTYVALUE_Separate, |
+ FDE_CSSPROPERTYVALUE_Armenian, |
+ FDE_CSSPROPERTYVALUE_Open, |
+ FDE_CSSPROPERTYVALUE_Relative, |
+ FDE_CSSPROPERTYVALUE_Thick, |
+ FDE_CSSPROPERTYVALUE_Justify, |
+ FDE_CSSPROPERTYVALUE_Middle, |
+ FDE_CSSPROPERTYVALUE_Always, |
+ FDE_CSSPROPERTYVALUE_DistributeSpace, |
+ FDE_CSSPROPERTYVALUE_LineEdge, |
+ FDE_CSSPROPERTYVALUE_PreWrap, |
+ FDE_CSSPROPERTYVALUE_Medium, |
+ FDE_CSSPROPERTYVALUE_NResize, |
+ FDE_CSSPROPERTYVALUE_ListItem, |
+ FDE_CSSPROPERTYVALUE_Show, |
+ FDE_CSSPROPERTYVALUE_Currentcolor, |
+ FDE_CSSPROPERTYVALUE_NoCloseQuote, |
+ FDE_CSSPROPERTYVALUE_VerticalLr, |
+ FDE_CSSPROPERTYVALUE_VerticalRl, |
+ FDE_CSSPROPERTYVALUE_Pointer, |
+ FDE_CSSPROPERTYVALUE_XxSmall, |
+ FDE_CSSPROPERTYVALUE_Bold, |
+ FDE_CSSPROPERTYVALUE_Both, |
+ FDE_CSSPROPERTYVALUE_SmallCaps, |
+ FDE_CSSPROPERTYVALUE_Katakana, |
+ FDE_CSSPROPERTYVALUE_After, |
+ FDE_CSSPROPERTYVALUE_Horizontal, |
+ FDE_CSSPROPERTYVALUE_Dotted, |
+ FDE_CSSPROPERTYVALUE_Disc, |
+ FDE_CSSPROPERTYVALUE_Georgian, |
+ FDE_CSSPROPERTYVALUE_Inline, |
+ FDE_CSSPROPERTYVALUE_Overline, |
+ FDE_CSSPROPERTYVALUE_Wait, |
+ FDE_CSSPROPERTYVALUE_BreakAll, |
+ FDE_CSSPROPERTYVALUE_UpperAlpha, |
+ FDE_CSSPROPERTYVALUE_Capitalize, |
+ FDE_CSSPROPERTYVALUE_Nowrap, |
+ FDE_CSSPROPERTYVALUE_TextBottom, |
+ FDE_CSSPROPERTYVALUE_NoOpenQuote, |
+ FDE_CSSPROPERTYVALUE_Groove, |
+ FDE_CSSPROPERTYVALUE_Progress, |
+ FDE_CSSPROPERTYVALUE_Larger, |
+ FDE_CSSPROPERTYVALUE_CloseQuote, |
+ FDE_CSSPROPERTYVALUE_TableCell, |
+ FDE_CSSPROPERTYVALUE_PreLine, |
+ FDE_CSSPROPERTYVALUE_Absolute, |
+ FDE_CSSPROPERTYVALUE_InlineTable, |
+ FDE_CSSPROPERTYVALUE_BidiOverride, |
+ FDE_CSSPROPERTYVALUE_InlineBlock, |
+ FDE_CSSPROPERTYVALUE_Inset, |
+ FDE_CSSPROPERTYVALUE_Crosshair, |
+ FDE_CSSPROPERTYVALUE_UpperLatin, |
+ FDE_CSSPROPERTYVALUE_Help, |
+ FDE_CSSPROPERTYVALUE_Hide, |
+ FDE_CSSPROPERTYVALUE_Uppercase, |
+ FDE_CSSPROPERTYVALUE_SResize, |
+ FDE_CSSPROPERTYVALUE_Table, |
+ FDE_CSSPROPERTYVALUE_Blink, |
+ FDE_CSSPROPERTYVALUE_Block, |
+ FDE_CSSPROPERTYVALUE_Start, |
+ FDE_CSSPROPERTYVALUE_TableColumnGroup, |
+ FDE_CSSPROPERTYVALUE_Italic, |
+ FDE_CSSPROPERTYVALUE_LineThrough, |
+ FDE_CSSPROPERTYVALUE_KeepAll, |
+ FDE_CSSPROPERTYVALUE_LowerAlpha, |
+ FDE_CSSPROPERTYVALUE_RunIn, |
+ FDE_CSSPROPERTYVALUE_Square, |
+ FDE_CSSPROPERTYVALUE_XLarge, |
+ FDE_CSSPROPERTYVALUE_Large, |
+ FDE_CSSPROPERTYVALUE_Before, |
+ FDE_CSSPROPERTYVALUE_Left, |
+ FDE_CSSPROPERTYVALUE_TextTop, |
+ FDE_CSSPROPERTYVALUE_RubyText, |
+ FDE_CSSPROPERTYVALUE_NoDisplay, |
+ FDE_CSSPROPERTYVALUE_MAX |
+}; |
+class IFDE_CSSValue { |
+ public: |
+ virtual ~IFDE_CSSValue() {} |
+ virtual FDE_CSSVALUETYPE GetType() const = 0; |
+}; |
+class IFDE_CSSPrimitiveValue : public IFDE_CSSValue { |
+ public: |
+ virtual FDE_CSSVALUETYPE GetType() const { |
+ return FDE_CSSVALUETYPE_Primitive; |
+ } |
+ virtual FDE_CSSPRIMITIVETYPE GetPrimitiveType() const = 0; |
+ virtual FX_ARGB GetRGBColor() const = 0; |
+ virtual FX_FLOAT GetFloat() const = 0; |
+ virtual const FX_WCHAR* GetString(int32_t& iLength) const = 0; |
+ virtual FDE_CSSPROPERTYVALUE GetEnum() const = 0; |
+ virtual const FX_WCHAR* GetFuncName() const = 0; |
+ virtual int32_t CountArgs() const = 0; |
+ virtual IFDE_CSSValue* GetArgs(int32_t index) const = 0; |
+}; |
+class IFDE_CSSValueList : public IFDE_CSSValue { |
+ public: |
+ virtual FDE_CSSVALUETYPE GetType() const { return FDE_CSSVALUETYPE_List; } |
+ virtual int32_t CountValues() const = 0; |
+ virtual IFDE_CSSValue* GetValue(int32_t index) const = 0; |
+}; |
+enum FDE_CSSPROPERTY { |
+ FDE_CSSPROPERTY_WritingMode, |
+ FDE_CSSPROPERTY_ColumnRuleWidth, |
+ FDE_CSSPROPERTY_BorderLeft, |
+ FDE_CSSPROPERTY_ColumnRule, |
+ FDE_CSSPROPERTY_Height, |
+ FDE_CSSPROPERTY_CounterReset, |
+ FDE_CSSPROPERTY_Content, |
+ FDE_CSSPROPERTY_RubyPosition, |
+ FDE_CSSPROPERTY_BackgroundColor, |
+ FDE_CSSPROPERTY_Width, |
+ FDE_CSSPROPERTY_Src, |
+ FDE_CSSPROPERTY_Top, |
+ FDE_CSSPROPERTY_Margin, |
+ FDE_CSSPROPERTY_BorderColor, |
+ FDE_CSSPROPERTY_Widows, |
+ FDE_CSSPROPERTY_BorderBottomColor, |
+ FDE_CSSPROPERTY_TextIndent, |
+ FDE_CSSPROPERTY_Right, |
+ FDE_CSSPROPERTY_TextEmphasisStyle, |
+ FDE_CSSPROPERTY_PaddingLeft, |
+ FDE_CSSPROPERTY_ColumnWidth, |
+ FDE_CSSPROPERTY_MarginLeft, |
+ FDE_CSSPROPERTY_Border, |
+ FDE_CSSPROPERTY_BorderTop, |
+ FDE_CSSPROPERTY_RubyOverhang, |
+ FDE_CSSPROPERTY_PageBreakBefore, |
+ FDE_CSSPROPERTY_MaxHeight, |
+ FDE_CSSPROPERTY_MinWidth, |
+ FDE_CSSPROPERTY_BorderLeftColor, |
+ FDE_CSSPROPERTY_Bottom, |
+ FDE_CSSPROPERTY_Quotes, |
+ FDE_CSSPROPERTY_MaxWidth, |
+ FDE_CSSPROPERTY_PaddingRight, |
+ FDE_CSSPROPERTY_ListStyleImage, |
+ FDE_CSSPROPERTY_WhiteSpace, |
+ FDE_CSSPROPERTY_BorderBottom, |
+ FDE_CSSPROPERTY_ListStyleType, |
+ FDE_CSSPROPERTY_WordBreak, |
+ FDE_CSSPROPERTY_OverflowX, |
+ FDE_CSSPROPERTY_OverflowY, |
+ FDE_CSSPROPERTY_BorderTopColor, |
+ FDE_CSSPROPERTY_FontFamily, |
+ FDE_CSSPROPERTY_Cursor, |
+ FDE_CSSPROPERTY_RubyAlign, |
+ FDE_CSSPROPERTY_ColumnRuleColor, |
+ FDE_CSSPROPERTY_FontWeight, |
+ FDE_CSSPROPERTY_BorderRightStyle, |
+ FDE_CSSPROPERTY_MinHeight, |
+ FDE_CSSPROPERTY_Color, |
+ FDE_CSSPROPERTY_LetterSpacing, |
+ FDE_CSSPROPERTY_EmptyCells, |
+ FDE_CSSPROPERTY_TextAlign, |
+ FDE_CSSPROPERTY_RubySpan, |
+ FDE_CSSPROPERTY_Position, |
+ FDE_CSSPROPERTY_BorderStyle, |
+ FDE_CSSPROPERTY_BorderBottomStyle, |
+ FDE_CSSPROPERTY_BorderCollapse, |
+ FDE_CSSPROPERTY_ColumnCount, |
+ FDE_CSSPROPERTY_BorderRightWidth, |
+ FDE_CSSPROPERTY_UnicodeBidi, |
+ FDE_CSSPROPERTY_VerticalAlign, |
+ FDE_CSSPROPERTY_PaddingTop, |
+ FDE_CSSPROPERTY_Columns, |
+ FDE_CSSPROPERTY_Overflow, |
+ FDE_CSSPROPERTY_TableLayout, |
+ FDE_CSSPROPERTY_FontVariant, |
+ FDE_CSSPROPERTY_ListStyle, |
+ FDE_CSSPROPERTY_BackgroundPosition, |
+ FDE_CSSPROPERTY_BorderWidth, |
+ FDE_CSSPROPERTY_TextEmphasisColor, |
+ FDE_CSSPROPERTY_BorderLeftStyle, |
+ FDE_CSSPROPERTY_PageBreakInside, |
+ FDE_CSSPROPERTY_TextEmphasis, |
+ FDE_CSSPROPERTY_BorderBottomWidth, |
+ FDE_CSSPROPERTY_ColumnGap, |
+ FDE_CSSPROPERTY_Orphans, |
+ FDE_CSSPROPERTY_BorderRight, |
+ FDE_CSSPROPERTY_FontSize, |
+ FDE_CSSPROPERTY_PageBreakAfter, |
+ FDE_CSSPROPERTY_CaptionSide, |
+ FDE_CSSPROPERTY_BackgroundRepeat, |
+ FDE_CSSPROPERTY_BorderTopStyle, |
+ FDE_CSSPROPERTY_BorderSpacing, |
+ FDE_CSSPROPERTY_TextTransform, |
+ FDE_CSSPROPERTY_FontStyle, |
+ FDE_CSSPROPERTY_Font, |
+ FDE_CSSPROPERTY_LineHeight, |
+ FDE_CSSPROPERTY_MarginRight, |
+ FDE_CSSPROPERTY_Float, |
+ FDE_CSSPROPERTY_BorderLeftWidth, |
+ FDE_CSSPROPERTY_Display, |
+ FDE_CSSPROPERTY_Clear, |
+ FDE_CSSPROPERTY_ColumnRuleStyle, |
+ FDE_CSSPROPERTY_TextCombine, |
+ FDE_CSSPROPERTY_ListStylePosition, |
+ FDE_CSSPROPERTY_Visibility, |
+ FDE_CSSPROPERTY_PaddingBottom, |
+ FDE_CSSPROPERTY_BackgroundAttachment, |
+ FDE_CSSPROPERTY_BackgroundImage, |
+ FDE_CSSPROPERTY_LineBreak, |
+ FDE_CSSPROPERTY_Background, |
+ FDE_CSSPROPERTY_BorderTopWidth, |
+ FDE_CSSPROPERTY_WordSpacing, |
+ FDE_CSSPROPERTY_BorderRightColor, |
+ FDE_CSSPROPERTY_CounterIncrement, |
+ FDE_CSSPROPERTY_Left, |
+ FDE_CSSPROPERTY_TextDecoration, |
+ FDE_CSSPROPERTY_Padding, |
+ FDE_CSSPROPERTY_MarginBottom, |
+ FDE_CSSPROPERTY_MarginTop, |
+ FDE_CSSPROPERTY_Direction, |
+ FDE_CSSPROPERTY_MAX |
+}; |
+class IFDE_CSSDeclaration { |
+ public: |
+ virtual ~IFDE_CSSDeclaration() {} |
+ virtual IFDE_CSSValue* GetProperty(FDE_CSSPROPERTY eProperty, |
+ FX_BOOL& bImportant) const = 0; |
+ virtual FX_POSITION GetStartPosition() const = 0; |
+ virtual void GetNextProperty(FX_POSITION& pos, |
+ FDE_CSSPROPERTY& eProperty, |
+ IFDE_CSSValue*& pValue, |
+ FX_BOOL& bImportant) const = 0; |
+ virtual FX_POSITION GetStartCustom() const = 0; |
+ virtual void GetNextCustom(FX_POSITION& pos, |
+ CFX_WideString& wsName, |
+ CFX_WideString& wsValue) const = 0; |
+}; |
+typedef CFX_ArrayTemplate<IFDE_CSSDeclaration*> CFDE_CSSDeclarationArray; |
+enum FDE_CSSPERSUDO { |
+ FDE_CSSPERSUDO_After, |
+ FDE_CSSPERSUDO_Before, |
+ FDE_CSSPERSUDO_NONE |
+}; |
+enum FDE_CSSSELECTORTYPE { |
+ FDE_CSSSELECTORTYPE_Element, |
+ FDE_CSSSELECTORTYPE_Descendant, |
+ FDE_CSSSELECTORTYPE_Class, |
+ FDE_CSSSELECTORTYPE_Persudo, |
+ FDE_CSSSELECTORTYPE_ID, |
+}; |
+class IFDE_CSSSelector { |
+ public: |
+ virtual ~IFDE_CSSSelector() {} |
+ virtual FDE_CSSSELECTORTYPE GetType() const = 0; |
+ virtual FX_DWORD GetNameHash() const = 0; |
+ virtual IFDE_CSSSelector* GetNextSelector() const = 0; |
+}; |
+#define FDE_CSSMEDIATYPE_Braille 0x01 |
+#define FDE_CSSMEDIATYPE_Emboss 0x02 |
+#define FDE_CSSMEDIATYPE_Handheld 0x04 |
+#define FDE_CSSMEDIATYPE_Print 0x08 |
+#define FDE_CSSMEDIATYPE_Projection 0x10 |
+#define FDE_CSSMEDIATYPE_Screen 0x20 |
+#define FDE_CSSMEDIATYPE_TTY 0x40 |
+#define FDE_CSSMEDIATYPE_TV 0x80 |
+#define FDE_CSSMEDIATYPE_ALL 0xFF |
+enum FDE_CSSRULETYPE { |
+ FDE_CSSRULETYPE_Unknown = 0, |
+ FDE_CSSRULETYPE_Style = 1, |
+ FDE_CSSRULETYPE_Media = 4, |
+ FDE_CSSRULETYPE_FontFace = 5, |
+}; |
+class IFDE_CSSRule { |
+ public: |
+ virtual ~IFDE_CSSRule() {} |
+ virtual FDE_CSSRULETYPE GetType() const = 0; |
+}; |
+typedef CFX_MassArrayTemplate<IFDE_CSSRule*> CFDE_CSSRuleArray; |
+class IFDE_CSSStyleRule : public IFDE_CSSRule { |
+ public: |
+ virtual FDE_CSSRULETYPE GetType() const { return FDE_CSSRULETYPE_Style; } |
+ virtual int32_t CountSelectorLists() const = 0; |
+ virtual IFDE_CSSSelector* GetSelectorList(int32_t index) const = 0; |
+ virtual IFDE_CSSDeclaration* GetDeclaration() const = 0; |
+}; |
+class IFDE_CSSMediaRule : public IFDE_CSSRule { |
+ public: |
+ virtual FDE_CSSRULETYPE GetType() const { return FDE_CSSRULETYPE_Media; } |
+ virtual FX_DWORD GetMediaList() const = 0; |
+ virtual int32_t CountRules() const = 0; |
+ virtual IFDE_CSSRule* GetRule(int32_t index) = 0; |
+}; |
+class IFDE_CSSFontFaceRule : public IFDE_CSSRule { |
+ public: |
+ virtual FDE_CSSRULETYPE GetType() const { return FDE_CSSRULETYPE_FontFace; } |
+ virtual IFDE_CSSDeclaration* GetDeclaration() const = 0; |
+}; |
+class IFDE_CSSStyleSheet : public IFX_Unknown { |
+ public: |
+ static IFDE_CSSStyleSheet* LoadHTMLStandardStyleSheet(); |
+ static IFDE_CSSStyleSheet* LoadFromStream( |
+ const CFX_WideString& szUrl, |
+ IFX_Stream* pStream, |
+ FX_WORD wCodePage, |
+ FX_DWORD dwMediaList = FDE_CSSMEDIATYPE_ALL); |
+ static IFDE_CSSStyleSheet* LoadFromBuffer( |
+ const CFX_WideString& szUrl, |
+ const FX_WCHAR* pBuffer, |
+ int32_t iBufSize, |
+ FX_WORD wCodePage, |
+ FX_DWORD dwMediaList = FDE_CSSMEDIATYPE_ALL); |
+ virtual FX_BOOL GetUrl(CFX_WideString& szUrl) = 0; |
+ virtual FX_DWORD GetMediaList() const = 0; |
+ virtual FX_WORD GetCodePage() const = 0; |
+ |
+ virtual int32_t CountRules() const = 0; |
+ virtual IFDE_CSSRule* GetRule(int32_t index) = 0; |
+}; |
+typedef CFX_ArrayTemplate<IFDE_CSSStyleSheet*> CFDE_CSSStyleSheetArray; |
+#define FDE_CSSUSERSTYLESHEET (FX_BSTRC("#USERSHEET")) |
+#define FDE_CSSUAGENTSTYLESHEET (FX_BSTRC("#AGENTSHEET")) |
+class IFDE_CSSStyleSheetCache { |
+ public: |
+ static IFDE_CSSStyleSheetCache* Create(); |
+ virtual ~IFDE_CSSStyleSheetCache() {} |
+ virtual void Release() = 0; |
+ virtual void SetMaxItems(int32_t iMaxCount = 5) = 0; |
+ virtual void AddStyleSheet(const CFX_ByteStringC& szKey, |
+ IFDE_CSSStyleSheet* pStyleSheet) = 0; |
+ virtual IFDE_CSSStyleSheet* GetStyleSheet( |
+ const CFX_ByteStringC& szKey) const = 0; |
+ virtual void RemoveStyleSheet(const CFX_ByteStringC& szKey) = 0; |
+}; |
+enum FDE_CSSSYNTAXSTATUS { |
+ FDE_CSSSYNTAXSTATUS_Error, |
+ FDE_CSSSYNTAXSTATUS_EOS, |
+ FDE_CSSSYNTAXSTATUS_None, |
+ FDE_CSSSYNTAXSTATUS_Charset, |
+ FDE_CSSSYNTAXSTATUS_ImportRule, |
+ FDE_CSSSYNTAXSTATUS_ImportClose, |
+ FDE_CSSSYNTAXSTATUS_PageRule, |
+ FDE_CSSSYNTAXSTATUS_StyleRule, |
+ FDE_CSSSYNTAXSTATUS_FontFaceRule, |
+ FDE_CSSSYNTAXSTATUS_MediaRule, |
+ FDE_CSSSYNTAXSTATUS_MediaType, |
+ FDE_CSSSYNTAXSTATUS_URI, |
+ FDE_CSSSYNTAXSTATUS_Selector, |
+ FDE_CSSSYNTAXSTATUS_DeclOpen, |
+ FDE_CSSSYNTAXSTATUS_DeclClose, |
+ FDE_CSSSYNTAXSTATUS_PropertyName, |
+ FDE_CSSSYNTAXSTATUS_PropertyValue, |
+}; |
+class IFDE_CSSSyntaxParser { |
+ public: |
+ static IFDE_CSSSyntaxParser* Create(); |
+ virtual ~IFDE_CSSSyntaxParser() {} |
+ virtual void Release() = 0; |
+ virtual FX_BOOL Init(IFX_Stream* pStream, |
+ int32_t iCSSPlaneSize, |
+ int32_t iTextDataSize = 32, |
+ FX_BOOL bOnlyDeclaration = FALSE) = 0; |
+ virtual FX_BOOL Init(const FX_WCHAR* pBuffer, |
+ int32_t iBufferSize, |
+ int32_t iTextDatSize = 32, |
+ FX_BOOL bOnlyDeclaration = FALSE) = 0; |
+ |
+ virtual FDE_CSSSYNTAXSTATUS DoSyntaxParse() = 0; |
+ virtual const FX_WCHAR* GetCurrentString(int32_t& iLength) const = 0; |
+}; |
+enum FDE_CSSLENGTHUNIT { |
+ FDE_CSSLENGTHUNIT_Auto, |
+ FDE_CSSLENGTHUNIT_None, |
+ FDE_CSSLENGTHUNIT_Normal, |
+ FDE_CSSLENGTHUNIT_Point, |
+ FDE_CSSLENGTHUNIT_Percent, |
+}; |
+#define FDE_CSSUNITBITS (3) |
+#define FDE_CSSUNITMASK ((1 << FDE_CSSUNITBITS) - 1) |
+struct FDE_CSSLENGTH { |
+ FDE_CSSLENGTH& Set(FDE_CSSLENGTHUNIT eUnit) { |
+ m_iData = eUnit; |
+ return *this; |
+ } |
+ FDE_CSSLENGTH& Set(FDE_CSSLENGTHUNIT eUnit, FX_FLOAT fValue) { |
+ m_iData = ((intptr_t)(fValue * 1024.0f) << FDE_CSSUNITBITS) | eUnit; |
+ return *this; |
+ } |
+ FDE_CSSLENGTHUNIT GetUnit() const { |
+ return (FDE_CSSLENGTHUNIT)(m_iData & FDE_CSSUNITMASK); |
+ } |
+ FX_FLOAT GetValue() const { return (m_iData >> FDE_CSSUNITBITS) / 1024.0f; } |
+ FX_BOOL NonZero() const { return (m_iData >> FDE_CSSUNITBITS) != 0; } |
+ |
+ private: |
+ intptr_t m_iData; |
+}; |
+struct FDE_CSSPOINT { |
+ FDE_CSSPOINT& Set(FDE_CSSLENGTHUNIT eUnit) { |
+ x.Set(eUnit); |
+ y.Set(eUnit); |
+ return *this; |
+ } |
+ FDE_CSSPOINT& Set(FDE_CSSLENGTHUNIT eUnit, FX_FLOAT fValue) { |
+ x.Set(eUnit, fValue); |
+ y.Set(eUnit, fValue); |
+ return *this; |
+ } |
+ FDE_CSSLENGTH x, y; |
+}; |
+struct FDE_CSSSIZE { |
+ FDE_CSSSIZE& Set(FDE_CSSLENGTHUNIT eUnit) { |
+ cx.Set(eUnit); |
+ cy.Set(eUnit); |
+ return *this; |
+ } |
+ FDE_CSSSIZE& Set(FDE_CSSLENGTHUNIT eUnit, FX_FLOAT fValue) { |
+ cx.Set(eUnit, fValue); |
+ cy.Set(eUnit, fValue); |
+ return *this; |
+ } |
+ FDE_CSSLENGTH cx, cy; |
+}; |
+struct FDE_CSSRECT { |
+ FDE_CSSRECT& Set(FDE_CSSLENGTHUNIT eUnit) { |
+ left.Set(eUnit); |
+ top.Set(eUnit); |
+ right.Set(eUnit); |
+ bottom.Set(eUnit); |
+ return *this; |
+ } |
+ FDE_CSSRECT& Set(FDE_CSSLENGTHUNIT eUnit, FX_FLOAT fValue) { |
+ left.Set(eUnit, fValue); |
+ top.Set(eUnit, fValue); |
+ right.Set(eUnit, fValue); |
+ bottom.Set(eUnit, fValue); |
+ return *this; |
+ } |
+ |
+ FDE_CSSLENGTH left, top, right, bottom; |
+}; |
+enum FDE_CSSBKGATTACHMENT { |
+ FDE_CSSBKGATTACHMENT_Scroll, |
+ FDE_CSSBKGATTACHMENT_Fixed, |
+}; |
+enum FDE_CSSBKGREPEAT { |
+ FDE_CSSBKGREPEAT_Repeat, |
+ FDE_CSSBKGREPEAT_RepeatX, |
+ FDE_CSSBKGREPEAT_RepeatY, |
+ FDE_CSSBKGREPEAT_NoRepeat, |
+}; |
+enum FDE_CSSBORDERSTYLE { |
+ FDE_CSSBORDERSTYLE_None, |
+ FDE_CSSBORDERSTYLE_Hidden, |
+ FDE_CSSBORDERSTYLE_Dotted, |
+ FDE_CSSBORDERSTYLE_Dashed, |
+ FDE_CSSBORDERSTYLE_Solid, |
+ FDE_CSSBORDERSTYLE_Double, |
+ FDE_CSSBORDERSTYLE_Groove, |
+ FDE_CSSBORDERSTYLE_Ridge, |
+ FDE_CSSBORDERSTYLE_Inset, |
+ FDE_CSSBORDERSTYLE_outset, |
+}; |
+enum FDE_CSSCLEAR { |
+ FDE_CSSCLEAR_None, |
+ FDE_CSSCLEAR_Left, |
+ FDE_CSSCLEAR_Right, |
+ FDE_CSSCLEAR_Both, |
+}; |
+enum FDE_CSSDISPLAY { |
+ FDE_CSSDISPLAY_None, |
+ FDE_CSSDISPLAY_ListItem, |
+ FDE_CSSDISPLAY_RunIn, |
+ FDE_CSSDISPLAY_Block, |
+ FDE_CSSDISPLAY_Inline, |
+ FDE_CSSDISPLAY_InlineBlock, |
+ FDE_CSSDISPLAY_InlineTable, |
+ FDE_CSSDISPLAY_Table, |
+ FDE_CSSDISPLAY_TableRow, |
+ FDE_CSSDISPLAY_TableCell, |
+ FDE_CSSDISPLAY_TableCaption, |
+ FDE_CSSDISPLAY_TableColumn, |
+ FDE_CSSDISPLAY_TableRowGroup, |
+ FDE_CSSDISPLAY_TableColumnGroup, |
+ FDE_CSSDISPLAY_TableHeaderGroup, |
+ FDE_CSSDISPLAY_TableFooterGroup, |
+ FDE_CSSDISPLAY_Ruby, |
+ FDE_CSSDISPLAY_RubyBase, |
+ FDE_CSSDISPLAY_RubyText, |
+ FDE_CSSDISPLSY_RubyBaseGroup, |
+ FDE_CSSDISPLAY_RubyTextGroup, |
+}; |
+enum FDE_CSSVISIBILITY { |
+ FDE_CSSVISIBILITY_Visible, |
+ FDE_CSSVISIBILITY_Hidden, |
+ FDE_CSSVISIBILITY_Collapse, |
+}; |
+enum FDE_CSSFONTSTYLE { |
+ FDE_CSSFONTSTYLE_Normal, |
+ FDE_CSSFONTSTYLE_Italic, |
+}; |
+enum FDE_CSSFLOAT { |
+ FDE_CSSFLOAT_None, |
+ FDE_CSSFLOAT_Left, |
+ FDE_CSSFLOAT_Right, |
+}; |
+enum FDE_CSSWRITINGMODE { |
+ FDE_CSSWRITINGMODE_HorizontalTb, |
+ FDE_CSSWRITINGMODE_VerticalRl, |
+ FDE_CSSWRITINGMODE_VerticalLr, |
+}; |
+enum FDE_CSSWORDBREAK { |
+ FDE_CSSWORDBREAK_Normal, |
+ FDE_CSSWORDBREAK_KeepAll, |
+ FDE_CSSWORDBREAK_BreakAll, |
+ FDE_CSSWORDBREAK_KeepWords, |
+}; |
+enum FDE_CSSPAGEBREAK { |
+ FDE_CSSPAGEBREAK_Auto, |
+ FDE_CSSPAGEBREAK_Always, |
+ FDE_CSSPAGEBREAK_Avoid, |
+ FDE_CSSPAGEBREAK_Left, |
+ FDE_CSSPAGEBREAK_Right, |
+}; |
+enum FDE_CSSOVERFLOW { |
+ FDE_CSSOVERFLOW_Visible, |
+ FDE_CSSOVERFLOW_Hidden, |
+ FDE_CSSOVERFLOW_Scroll, |
+ FDE_CSSOVERFLOW_Auto, |
+ FDE_CSSOVERFLOW_NoDisplay, |
+ FDE_CSSOVERFLOW_NoContent, |
+}; |
+enum FDE_CSSLINEBREAK { |
+ FDE_CSSLINEBREAK_Auto, |
+ FDE_CSSLINEBREAK_Loose, |
+ FDE_CSSLINEBREAK_Normal, |
+ FDE_CSSLINEBREAK_Strict, |
+}; |
+enum FDE_CSSTEXTEMPHASISFILL { |
+ FDE_CSSTEXTEMPHASISFILL_Filled, |
+ FDE_CSSTEXTEMPHASISFILL_Open, |
+}; |
+enum FDE_CSSTEXTEMPHASISMARK { |
+ FDE_CSSTEXTEMPHASISMARK_None, |
+ FDE_CSSTEXTEMPHASISMARK_Auto, |
+ FDE_CSSTEXTEMPHASISMARK_Dot, |
+ FDE_CSSTEXTEMPHASISMARK_Circle, |
+ FDE_CSSTEXTEMPHASISMARK_DoubleCircle, |
+ FDE_CSSTEXTEMPHASISMARK_Triangle, |
+ FDE_CSSTEXTEMPHASISMARK_Sesame, |
+ FDE_CSSTEXTEMPHASISMARK_Custom, |
+}; |
+enum FDE_CSSTEXTCOMBINE { |
+ FDE_CSSTEXTCOMBINE_Horizontal, |
+ FDE_CSSTEXTCOMBINE_None, |
+}; |
+enum FDE_CSSCURSOR { |
+ FDE_CSSCURSOR_Auto, |
+ FDE_CSSCURSOR_Crosshair, |
+ FDE_CSSCURSOR_Default, |
+ FDE_CSSCURSOR_Pointer, |
+ FDE_CSSCURSOR_Move, |
+ FDE_CSSCURSOR_EResize, |
+ FDE_CSSCURSOR_NeResize, |
+ FDE_CSSCURSOR_NwResize, |
+ FDE_CSSCURSOR_NResize, |
+ FDE_CSSCURSOR_SeResize, |
+ FDE_CSSCURSOR_SwResize, |
+ FDE_CSSCURSOR_SResize, |
+ FDE_CSSCURSOR_WResize, |
+ FDE_CSSCURSOR_Text, |
+ FDE_CSSCURSOR_Wait, |
+ FDE_CSSCURSOR_Help, |
+ FDE_CSSCURSOR_Progress, |
+}; |
+enum FDE_CSSPOSITION { |
+ FDE_CSSPOSITION_Static, |
+ FDE_CSSPOSITION_Relative, |
+ FDE_CSSPOSITION_Absolute, |
+ FDE_CSSPOSITION_Fixed, |
+}; |
+enum FDE_CSSCAPTIONSIDE { |
+ FDE_CSSCAPTIONSIDE_Top, |
+ FDE_CSSCAPTIONSIDE_Bottom, |
+ FDE_CSSCAPTIONSIDE_Left, |
+ FDE_CSSCAPTIONSIDE_Right, |
+ FDE_CSSCAPTIONSIDE_Before, |
+ FDE_CSSCAPTIONSIDE_After, |
+}; |
+enum FDE_CSSRUBYALIGN { |
+ FDE_CSSRUBYALIGN_Auto, |
+ FDE_CSSRUBYALIGN_Start, |
+ FDE_CSSRUBYALIGN_Left, |
+ FDE_CSSRUBYALIGN_Center, |
+ FDE_CSSRUBYALIGN_End, |
+ FDE_CSSRUBYALIGN_Right, |
+ FDE_CSSRUBYALIGN_DistributeLetter, |
+ FDE_CSSRUBYALIGN_DistributeSpace, |
+ FDE_CSSRUBYALIGN_LineEdge, |
+}; |
+enum FDE_CSSRUBYOVERHANG { |
+ FDE_CSSRUBYOVERHANG_Auto, |
+ FDE_CSSRUBYOVERHANG_Start, |
+ FDE_CSSRUBYOVERHANG_End, |
+ FDE_CSSRUBYOVERHANG_None, |
+}; |
+enum FDE_CSSRUBYPOSITION { |
+ FDE_CSSRUBYPOSITION_Before, |
+ FDE_CSSRUBYPOSITION_After, |
+ FDE_CSSRUBYPOSITION_Right, |
+ FDE_CSSRUBYPOSITION_Inline, |
+}; |
+enum FDE_CSSRUBYSPAN { |
+ FDE_CSSRUBYSPAN_None, |
+ FDE_CSSRUBYSPAN_Attr, |
+}; |
+enum FDE_CSSTEXTALIGN { |
+ FDE_CSSTEXTALIGN_Left, |
+ FDE_CSSTEXTALIGN_Right, |
+ FDE_CSSTEXTALIGN_Center, |
+ FDE_CSSTEXTALIGN_Justify, |
+ FDE_CSSTEXTALIGN_JustifyAll, |
+}; |
+enum FDE_CSSVERTICALALIGN { |
+ FDE_CSSVERTICALALIGN_Baseline, |
+ FDE_CSSVERTICALALIGN_Sub, |
+ FDE_CSSVERTICALALIGN_Super, |
+ FDE_CSSVERTICALALIGN_Top, |
+ FDE_CSSVERTICALALIGN_TextTop, |
+ FDE_CSSVERTICALALIGN_Middle, |
+ FDE_CSSVERTICALALIGN_Bottom, |
+ FDE_CSSVERTICALALIGN_TextBottom, |
+ FDE_CSSVERTICALALIGN_Number, |
+}; |
+enum FDE_CSSLISTSTYLETYPE { |
+ FDE_CSSLISTSTYLETYPE_Disc, |
+ FDE_CSSLISTSTYLETYPE_Circle, |
+ FDE_CSSLISTSTYLETYPE_Square, |
+ FDE_CSSLISTSTYLETYPE_Decimal, |
+ FDE_CSSLISTSTYLETYPE_DecimalLeadingZero, |
+ FDE_CSSLISTSTYLETYPE_LowerRoman, |
+ FDE_CSSLISTSTYLETYPE_UpperRoman, |
+ FDE_CSSLISTSTYLETYPE_LowerGreek, |
+ FDE_CSSLISTSTYLETYPE_LowerLatin, |
+ FDE_CSSLISTSTYLETYPE_UpperLatin, |
+ FDE_CSSLISTSTYLETYPE_Armenian, |
+ FDE_CSSLISTSTYLETYPE_Georgian, |
+ FDE_CSSLISTSTYLETYPE_LowerAlpha, |
+ FDE_CSSLISTSTYLETYPE_UpperAlpha, |
+ FDE_CSSLISTSTYLETYPE_None, |
+ FDE_CSSLISTSTYLETYPE_CjkIdeographic, |
+ FDE_CSSLISTSTYLETYPE_Hebrew, |
+ FDE_CSSLISTSTYLETYPE_Hiragana, |
+ FDE_CSSLISTSTYLETYPE_HiraganaIroha, |
+ FDE_CSSLISTSTYLETYPE_Katakana, |
+ FDE_CSSLISTSTYLETYPE_KatakanaIroha, |
+}; |
+enum FDE_CSSLISTSTYLEPOSITION { |
+ FDE_CSSLISTSTYLEPOSITION_Outside, |
+ FDE_CSSLISTSTYLEPOSITION_Inside, |
+}; |
+enum FDE_CSSWHITESPACE { |
+ FDE_CSSWHITESPACE_Normal, |
+ FDE_CSSWHITESPACE_Pre, |
+ FDE_CSSWHITESPACE_Nowrap, |
+ FDE_CSSWHITESPACE_PreWrap, |
+ FDE_CSSWHITESPACE_PreLine, |
+}; |
+enum FDE_CSSFONTVARIANT { |
+ FDE_CSSFONTVARIANT_Normal, |
+ FDE_CSSFONTVARIANT_SmallCaps, |
+}; |
+enum FDE_CSSTEXTTRANSFORM { |
+ FDE_CSSTEXTTRANSFORM_None, |
+ FDE_CSSTEXTTRANSFORM_Capitalize, |
+ FDE_CSSTEXTTRANSFORM_UpperCase, |
+ FDE_CSSTEXTTRANSFORM_LowerCase, |
+}; |
+enum FDE_CSSTEXTDECORATION { |
+ FDE_CSSTEXTDECORATION_None = 0, |
+ FDE_CSSTEXTDECORATION_Underline = 1, |
+ FDE_CSSTEXTDECORATION_Overline = 2, |
+ FDE_CSSTEXTDECORATION_LineThrough = 4, |
+ FDE_CSSTEXTDECORATION_Blink = 8, |
+ FDE_CSSTEXTDECORATION_Double = 16, |
+}; |
+class IFDE_CSSRubyStyle { |
+ public: |
+ virtual ~IFDE_CSSRubyStyle() {} |
+ virtual FDE_CSSRUBYALIGN GetRubyAlign() const = 0; |
+ virtual FDE_CSSRUBYOVERHANG GetRubyOverhang() const = 0; |
+ virtual FDE_CSSRUBYPOSITION GetRubyPosition() const = 0; |
+ virtual FDE_CSSRUBYSPAN GetRubySpanType() const = 0; |
+ virtual IFDE_CSSValue* GetRubySpanAttr() const = 0; |
+}; |
+class IFDE_CSSMultiColumnStyle { |
+ public: |
+ virtual ~IFDE_CSSMultiColumnStyle() {} |
+ virtual const FDE_CSSLENGTH& GetColumnCount() const = 0; |
+ virtual const FDE_CSSLENGTH& GetColumnGap() const = 0; |
+ virtual FX_ARGB GetColumnRuleColor() const = 0; |
+ virtual FDE_CSSBORDERSTYLE GetColumnRuleStyle() const = 0; |
+ virtual const FDE_CSSLENGTH& GetColumnRuleWidth() const = 0; |
+ virtual const FDE_CSSLENGTH& GetColumnWidth() const = 0; |
+ virtual void SetColumnCount(const FDE_CSSLENGTH& columnCount) = 0; |
+ virtual void SetColumnGap(const FDE_CSSLENGTH& columnGap) = 0; |
+ virtual void SetColumnRuleColor(FX_ARGB dwColumnRuleColor) = 0; |
+ virtual void SetColumnRuleStyle(FDE_CSSBORDERSTYLE eColumnRuleStyle) = 0; |
+ virtual void SetColumnRuleWidth(const FDE_CSSLENGTH& columnRuleWidth) = 0; |
+ virtual void SetColumnWidth(const FDE_CSSLENGTH& columnWidth) = 0; |
+}; |
+class IFDE_CSSGeneratedContentStyle { |
+ public: |
+ virtual ~IFDE_CSSGeneratedContentStyle() {} |
+ virtual int32_t CountCounters() = 0; |
+ virtual const FX_WCHAR* GetCounterIdentifier(int32_t index) = 0; |
+ virtual FX_BOOL GetCounterReset(int32_t index, int32_t& iValue) = 0; |
+ virtual FX_BOOL GetCounterIncrement(int32_t index, int32_t& iValue) = 0; |
+ virtual IFDE_CSSValueList* GetContent() const = 0; |
+ virtual int32_t CountQuotes() const = 0; |
+ virtual const FX_WCHAR* GetQuotes(int32_t index) const = 0; |
+}; |
+class IFDE_CSSFontStyle { |
+ public: |
+ virtual ~IFDE_CSSFontStyle() {} |
+ virtual int32_t CountFontFamilies() const = 0; |
+ virtual const FX_WCHAR* GetFontFamily(int32_t index) const = 0; |
+ virtual FX_WORD GetFontWeight() const = 0; |
+ virtual FDE_CSSFONTVARIANT GetFontVariant() const = 0; |
+ virtual FDE_CSSFONTSTYLE GetFontStyle() const = 0; |
+ virtual FX_FLOAT GetFontSize() const = 0; |
+ virtual FX_ARGB GetColor() const = 0; |
+ virtual void SetFontWeight(FX_WORD wFontWeight) = 0; |
+ virtual void SetFontVariant(FDE_CSSFONTVARIANT eFontVariant) = 0; |
+ virtual void SetFontStyle(FDE_CSSFONTSTYLE eFontStyle) = 0; |
+ virtual void SetFontSize(FX_FLOAT fFontSize) = 0; |
+ virtual void SetColor(FX_ARGB dwFontColor) = 0; |
+}; |
+class IFDE_CSSBoundaryStyle { |
+ public: |
+ virtual ~IFDE_CSSBoundaryStyle() {} |
+ virtual FX_ARGB GetBorderLeftColor() const = 0; |
+ virtual FX_ARGB GetBorderTopColor() const = 0; |
+ virtual FX_ARGB GetBorderRightColor() const = 0; |
+ virtual FX_ARGB GetBorderBottomColor() const = 0; |
+ virtual FDE_CSSBORDERSTYLE GetBorderLeftStyle() const = 0; |
+ virtual FDE_CSSBORDERSTYLE GetBorderTopStyle() const = 0; |
+ virtual FDE_CSSBORDERSTYLE GetBorderRightStyle() const = 0; |
+ virtual FDE_CSSBORDERSTYLE GetBorderBottomStyle() const = 0; |
+ virtual const FDE_CSSRECT* GetBorderWidth() const = 0; |
+ virtual const FDE_CSSRECT* GetMarginWidth() const = 0; |
+ virtual const FDE_CSSRECT* GetPaddingWidth() const = 0; |
+ virtual void SetBorderLeftColor(FX_ARGB dwBorderColor) = 0; |
+ virtual void SetBorderTopColor(FX_ARGB dwBorderColor) = 0; |
+ virtual void SetBorderRightColor(FX_ARGB dwBorderColor) = 0; |
+ virtual void SetBorderBottomColor(FX_ARGB dwBorderColor) = 0; |
+ |
+ virtual void SetBorderLeftStyle(FDE_CSSBORDERSTYLE eBorderStyle) = 0; |
+ virtual void SetBorderTopStyle(FDE_CSSBORDERSTYLE eBorderStyle) = 0; |
+ virtual void SetBorderRightStyle(FDE_CSSBORDERSTYLE eBorderStyle) = 0; |
+ virtual void SetBorderBottomStyle(FDE_CSSBORDERSTYLE eBorderStyle) = 0; |
+ |
+ virtual void SetBorderWidth(const FDE_CSSRECT& rect) = 0; |
+ virtual void SetMarginWidth(const FDE_CSSRECT& rect) = 0; |
+ virtual void SetPaddingWidth(const FDE_CSSRECT& rect) = 0; |
+}; |
+class IFDE_CSSPositionStyle { |
+ public: |
+ virtual ~IFDE_CSSPositionStyle() {} |
+ virtual FDE_CSSDISPLAY GetDisplay() const = 0; |
+ virtual const FDE_CSSSIZE& GetBoxSize() const = 0; |
+ virtual const FDE_CSSSIZE& GetMinBoxSize() const = 0; |
+ virtual const FDE_CSSSIZE& GetMaxBoxSize() const = 0; |
+ virtual FDE_CSSFLOAT GetFloat() const = 0; |
+ virtual FDE_CSSCLEAR GetClear() const = 0; |
+ virtual FDE_CSSPOSITION GetPosition() const = 0; |
+ virtual FDE_CSSLENGTH GetTop() const = 0; |
+ virtual FDE_CSSLENGTH GetBottom() const = 0; |
+ virtual FDE_CSSLENGTH GetLeft() const = 0; |
+ virtual FDE_CSSLENGTH GetRight() const = 0; |
+ virtual void SetDisplay(FDE_CSSDISPLAY eDisplay) = 0; |
+ virtual void SetBoxSize(const FDE_CSSSIZE& boxSize) = 0; |
+ virtual void SetMinBoxSize(const FDE_CSSSIZE& minBoxSize) = 0; |
+ virtual void SetMaxBoxSize(const FDE_CSSSIZE& maxBoxSize) = 0; |
+ virtual void SetFloat(FDE_CSSFLOAT eFloat) = 0; |
+ virtual void SetClear(FDE_CSSCLEAR eClear) = 0; |
+}; |
+class IFDE_CSSParagraphStyle { |
+ public: |
+ virtual ~IFDE_CSSParagraphStyle() {} |
+ virtual FX_FLOAT GetLineHeight() const = 0; |
+ virtual FDE_CSSWHITESPACE GetWhiteSpace() const = 0; |
+ virtual const FDE_CSSLENGTH& GetTextIndent() const = 0; |
+ virtual FDE_CSSTEXTALIGN GetTextAlign() const = 0; |
+ virtual FDE_CSSVERTICALALIGN GetVerticalAlign() const = 0; |
+ virtual FX_FLOAT GetNumberVerticalAlign() const = 0; |
+ virtual FDE_CSSTEXTTRANSFORM GetTextTransform() const = 0; |
+ virtual FX_DWORD GetTextDecoration() const = 0; |
+ virtual const FDE_CSSLENGTH& GetLetterSpacing() const = 0; |
+ virtual const FDE_CSSLENGTH& GetWordSpacing() const = 0; |
+ virtual FDE_CSSWRITINGMODE GetWritingMode() const = 0; |
+ virtual FDE_CSSWORDBREAK GetWordBreak() const = 0; |
+ virtual int32_t GetWidows() const = 0; |
+ virtual FX_ARGB GetTextEmphasisColor() const = 0; |
+ virtual FDE_CSSPAGEBREAK GetPageBreakBefore() const = 0; |
+ virtual FDE_CSSPAGEBREAK GetPageBreakAfter() const = 0; |
+ virtual FDE_CSSPAGEBREAK GetPageBreakInside() const = 0; |
+ virtual int32_t GetOrphans() const = 0; |
+ virtual FDE_CSSLINEBREAK GetLineBreak() const = 0; |
+ virtual FDE_CSSTEXTEMPHASISMARK GetTextEmphasisMark() const = 0; |
+ virtual FDE_CSSTEXTEMPHASISFILL GetTextEmphasisFill() const = 0; |
+ virtual const FX_WCHAR* GetTextEmphasisCustom() const = 0; |
+ virtual FDE_CSSTEXTCOMBINE GetTextCombineType() const = 0; |
+ virtual FX_BOOL HasTextCombineNumber() const = 0; |
+ virtual FX_FLOAT GetTextCombineNumber() const = 0; |
+ virtual void SetLineHeight(FX_FLOAT fLineHeight) = 0; |
+ virtual void SetWhiteSpace(FDE_CSSWHITESPACE eWhiteSpace) = 0; |
+ virtual void SetTextIndent(const FDE_CSSLENGTH& textIndent) = 0; |
+ virtual void SetTextAlign(FDE_CSSTEXTALIGN eTextAlign) = 0; |
+ virtual void SetVerticalAlign(FDE_CSSVERTICALALIGN eVerticalAlign) = 0; |
+ virtual void SetNumberVerticalAlign(FX_FLOAT fAlign) = 0; |
+ virtual void SetTextTransform(FDE_CSSTEXTTRANSFORM eTextTransform) = 0; |
+ virtual void SetTextDecoration(FX_DWORD dwTextDecoration) = 0; |
+ virtual void SetLetterSpacing(const FDE_CSSLENGTH& letterSpacing) = 0; |
+ virtual void SetWordSpacing(const FDE_CSSLENGTH& wordSpacing) = 0; |
+ virtual void SetWritingMode(FDE_CSSWRITINGMODE eWritingMode) = 0; |
+ virtual void SetWordBreak(FDE_CSSWORDBREAK eWordBreak) = 0; |
+ virtual void SetWidows(int32_t iWidows) = 0; |
+ virtual void SetTextEmphasisColor(FX_ARGB dwTextEmphasisColor) = 0; |
+ virtual void SetPageBreakBefore(FDE_CSSPAGEBREAK ePageBreakBefore) = 0; |
+ virtual void SetPageBreakAfter(FDE_CSSPAGEBREAK ePageBreakAfter) = 0; |
+ virtual void SetPageBreakInside(FDE_CSSPAGEBREAK ePageBreakInside) = 0; |
+ virtual void SetOrphans(int32_t iOrphans) = 0; |
+ virtual void SetLineBreak(FDE_CSSLINEBREAK eLineBreak) = 0; |
+}; |
+class IFDE_CSSBackgroundStyle { |
+ public: |
+ virtual ~IFDE_CSSBackgroundStyle() {} |
+ virtual FX_ARGB GetBKGColor() const = 0; |
+ virtual const FX_WCHAR* GetBKGImage() const = 0; |
+ virtual FDE_CSSBKGREPEAT GetBKGRepeat() const = 0; |
+ virtual FDE_CSSBKGATTACHMENT GetBKGAttachment() const = 0; |
+ virtual const FDE_CSSPOINT& GetBKGPosition() const = 0; |
+ virtual void SetBKGColor(FX_ARGB dwBKGColor) = 0; |
+ virtual void SetBKGPosition(const FDE_CSSPOINT& bkgPosition) = 0; |
+}; |
+class IFDE_CSSListStyle { |
+ public: |
+ virtual ~IFDE_CSSListStyle() {} |
+ virtual FDE_CSSLISTSTYLETYPE GetListStyleType() const = 0; |
+ virtual FDE_CSSLISTSTYLEPOSITION GetListStylePosition() const = 0; |
+ virtual const FX_WCHAR* GetListStyleImage() const = 0; |
+ virtual void SetListStyleType(FDE_CSSLISTSTYLETYPE eListStyleType) = 0; |
+ virtual void SetListStylePosition( |
+ FDE_CSSLISTSTYLEPOSITION eListStylePosition) = 0; |
+}; |
+class IFDE_CSSTableStyle { |
+ public: |
+ virtual ~IFDE_CSSTableStyle() {} |
+ virtual FDE_CSSCAPTIONSIDE GetCaptionSide() const = 0; |
+}; |
+class IFDE_CSSVisualStyle { |
+ public: |
+ virtual ~IFDE_CSSVisualStyle() {} |
+ virtual FDE_CSSVISIBILITY GetVisibility() const = 0; |
+ virtual FDE_CSSOVERFLOW GetOverflowX() const = 0; |
+ virtual FDE_CSSOVERFLOW GetOverflowY() const = 0; |
+ virtual void SetVisibility(FDE_CSSVISIBILITY eVisibility) = 0; |
+}; |
+class IFDE_CSSComputedStyle : public IFX_Unknown { |
+ public: |
+ virtual void Reset() = 0; |
+ virtual IFDE_CSSFontStyle* GetFontStyles() const = 0; |
+ virtual IFDE_CSSBoundaryStyle* GetBoundaryStyles() const = 0; |
+ virtual IFDE_CSSPositionStyle* GetPositionStyles() const = 0; |
+ virtual IFDE_CSSParagraphStyle* GetParagraphStyles() const = 0; |
+ virtual IFDE_CSSBackgroundStyle* GetBackgroundStyles() const = 0; |
+ virtual IFDE_CSSVisualStyle* GetVisualStyles() const = 0; |
+ virtual IFDE_CSSListStyle* GetListStyles() const = 0; |
+ virtual IFDE_CSSMultiColumnStyle* GetMultiColumnStyle() const = 0; |
+ virtual IFDE_CSSTableStyle* GetTableStyle() const = 0; |
+ virtual IFDE_CSSGeneratedContentStyle* GetGeneratedContentStyle() const = 0; |
+ virtual IFDE_CSSRubyStyle* GetRubyStyle() const = 0; |
+ virtual FX_BOOL GetCustomStyle(const CFX_WideStringC& wsName, |
+ CFX_WideString& wsValue) const = 0; |
+}; |
+enum FDE_CSSSTYLESHEETGROUP { |
+ FDE_CSSSTYLESHEETGROUP_UserAgent, |
+ FDE_CSSSTYLESHEETGROUP_User, |
+ FDE_CSSSTYLESHEETGROUP_Author, |
+ FDE_CSSSTYLESHEETGROUP_MAX, |
+}; |
+enum FDE_CSSSTYLESHEETPRIORITY { |
+ FDE_CSSSTYLESHEETPRIORITY_High, |
+ FDE_CSSSTYLESHEETPRIORITY_Mid, |
+ FDE_CSSSTYLESHEETPRIORITY_Low, |
+ FDE_CSSSTYLESHEETPRIORITY_MAX, |
+}; |
+class IFDE_CSSTagProvider { |
+ public: |
+ virtual ~IFDE_CSSTagProvider() {} |
+ virtual CFX_WideStringC GetTagName() = 0; |
+ virtual FX_POSITION GetFirstAttribute() = 0; |
+ virtual void GetNextAttribute(FX_POSITION& pos, |
+ CFX_WideStringC& wsAttr, |
+ CFX_WideStringC& wsValue) = 0; |
+}; |
+class IFDE_CSSAccelerator { |
+ public: |
+ virtual ~IFDE_CSSAccelerator() {} |
+ virtual void OnEnterTag(IFDE_CSSTagProvider* pTag) = 0; |
+ virtual void OnLeaveTag(IFDE_CSSTagProvider* pTag) = 0; |
+}; |
+class IFDE_CSSStyleSelector { |
+ public: |
+ static IFDE_CSSStyleSelector* Create(); |
+ virtual ~IFDE_CSSStyleSelector() {} |
+ virtual void Release() = 0; |
+ virtual void SetFontMgr(IFX_FontMgr* pFontMgr) = 0; |
+ virtual void SetDefFontSize(FX_FLOAT fFontSize) = 0; |
+ virtual FX_BOOL SetStyleSheet(FDE_CSSSTYLESHEETGROUP eType, |
+ IFDE_CSSStyleSheet* pSheet) = 0; |
+ virtual FX_BOOL SetStyleSheets(FDE_CSSSTYLESHEETGROUP eType, |
+ const CFDE_CSSStyleSheetArray* pArray) = 0; |
+ virtual void SetStylePriority(FDE_CSSSTYLESHEETGROUP eType, |
+ FDE_CSSSTYLESHEETPRIORITY ePriority) = 0; |
+ virtual void UpdateStyleIndex(FX_DWORD dwMediaList) = 0; |
+ virtual IFDE_CSSAccelerator* InitAccelerator() = 0; |
+ virtual IFDE_CSSComputedStyle* CreateComputedStyle( |
+ IFDE_CSSComputedStyle* pParentStyle) = 0; |
+ virtual int32_t MatchDeclarations( |
+ IFDE_CSSTagProvider* pTag, |
+ CFDE_CSSDeclarationArray& matchedDecls, |
+ FDE_CSSPERSUDO ePersudoType = FDE_CSSPERSUDO_NONE) = 0; |
+ virtual void ComputeStyle(IFDE_CSSTagProvider* pTag, |
+ const IFDE_CSSDeclaration** ppDeclArray, |
+ int32_t iDeclCount, |
+ IFDE_CSSComputedStyle* pDestStyle) = 0; |
+}; |
+#endif |