OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef XFA_FDE_CSS_FDE_CSS_H_ | 7 #ifndef XFA_FDE_CSS_FDE_CSS_H_ |
8 #define XFA_FDE_CSS_FDE_CSS_H_ | 8 #define XFA_FDE_CSS_FDE_CSS_H_ |
9 | 9 |
10 #include "core/fxge/include/fx_dib.h" | 10 #include "core/fxge/include/fx_dib.h" |
11 #include "xfa/fgas/crt/fgas_stream.h" | 11 #include "xfa/fgas/crt/fgas_stream.h" |
12 #include "xfa/fgas/crt/fgas_utils.h" | 12 #include "xfa/fgas/crt/fgas_utils.h" |
13 #include "xfa/fgas/font/fgas_font.h" | 13 #include "xfa/fgas/font/fgas_font.h" |
14 | 14 |
15 class CFDE_CSSAccelerator; | 15 class CFDE_CSSAccelerator; |
16 class IFDE_CSSBoundaryStyle; | 16 class IFDE_CSSBoundaryStyle; |
17 class IFDE_CSSComputedStyle; | 17 class IFDE_CSSComputedStyle; |
18 class IFDE_CSSDeclaration; | 18 class IFDE_CSSDeclaration; |
19 class IFDE_CSSFontStyle; | 19 class IFDE_CSSFontStyle; |
20 class IFDE_CSSParagraphStyle; | 20 class IFDE_CSSParagraphStyle; |
21 class IFDE_CSSPositionStyle; | 21 class IFDE_CSSPositionStyle; |
22 class IFDE_CSSRule; | 22 class IFDE_CSSRule; |
23 class IFDE_CSSSelector; | 23 class IFDE_CSSSelector; |
24 class IFDE_CSSStyleSelector; | 24 class IFDE_CSSStyleSelector; |
25 class IFDE_CSSStyleSheet; | 25 class IFDE_CSSStyleSheet; |
26 class IFDE_CSSStyleSheetCache; | |
27 class IFDE_CSSSyntaxParser; | 26 class IFDE_CSSSyntaxParser; |
28 class IFDE_CSSTagProvider; | 27 class IFDE_CSSTagProvider; |
29 class IFDE_CSSValue; | 28 class IFDE_CSSValue; |
30 class IFDE_CSSValueList; | 29 class IFDE_CSSValueList; |
31 | 30 |
32 enum FDE_CSSVALUETYPE { | 31 enum FDE_CSSVALUETYPE { |
33 FDE_CSSVALUETYPE_Primitive = 1, | 32 FDE_CSSVALUETYPE_Primitive = 1, |
34 FDE_CSSVALUETYPE_List = 2, | 33 FDE_CSSVALUETYPE_List = 2, |
35 FDE_CSSVALUETYPE_Shorthand, | 34 FDE_CSSVALUETYPE_Shorthand, |
36 }; | 35 }; |
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 uint32_t dwMediaList = FDE_CSSMEDIATYPE_ALL); | 445 uint32_t dwMediaList = FDE_CSSMEDIATYPE_ALL); |
447 virtual FX_BOOL GetUrl(CFX_WideString& szUrl) = 0; | 446 virtual FX_BOOL GetUrl(CFX_WideString& szUrl) = 0; |
448 virtual uint32_t GetMediaList() const = 0; | 447 virtual uint32_t GetMediaList() const = 0; |
449 virtual uint16_t GetCodePage() const = 0; | 448 virtual uint16_t GetCodePage() const = 0; |
450 | 449 |
451 virtual int32_t CountRules() const = 0; | 450 virtual int32_t CountRules() const = 0; |
452 virtual IFDE_CSSRule* GetRule(int32_t index) = 0; | 451 virtual IFDE_CSSRule* GetRule(int32_t index) = 0; |
453 }; | 452 }; |
454 typedef CFX_ArrayTemplate<IFDE_CSSStyleSheet*> CFDE_CSSStyleSheetArray; | 453 typedef CFX_ArrayTemplate<IFDE_CSSStyleSheet*> CFDE_CSSStyleSheetArray; |
455 | 454 |
456 class IFDE_CSSStyleSheetCache { | |
457 public: | |
458 static IFDE_CSSStyleSheetCache* Create(); | |
459 virtual ~IFDE_CSSStyleSheetCache() {} | |
460 virtual void Release() = 0; | |
461 virtual void SetMaxItems(int32_t iMaxCount = 5) = 0; | |
462 virtual void AddStyleSheet(const CFX_ByteStringC& szKey, | |
463 IFDE_CSSStyleSheet* pStyleSheet) = 0; | |
464 virtual IFDE_CSSStyleSheet* GetStyleSheet( | |
465 const CFX_ByteStringC& szKey) const = 0; | |
466 virtual void RemoveStyleSheet(const CFX_ByteStringC& szKey) = 0; | |
467 }; | |
468 enum FDE_CSSSYNTAXSTATUS { | 455 enum FDE_CSSSYNTAXSTATUS { |
469 FDE_CSSSYNTAXSTATUS_Error, | 456 FDE_CSSSYNTAXSTATUS_Error, |
470 FDE_CSSSYNTAXSTATUS_EOS, | 457 FDE_CSSSYNTAXSTATUS_EOS, |
471 FDE_CSSSYNTAXSTATUS_None, | 458 FDE_CSSSYNTAXSTATUS_None, |
472 FDE_CSSSYNTAXSTATUS_Charset, | 459 FDE_CSSSYNTAXSTATUS_Charset, |
473 FDE_CSSSYNTAXSTATUS_ImportRule, | 460 FDE_CSSSYNTAXSTATUS_ImportRule, |
474 FDE_CSSSYNTAXSTATUS_ImportClose, | 461 FDE_CSSSYNTAXSTATUS_ImportClose, |
475 FDE_CSSSYNTAXSTATUS_PageRule, | 462 FDE_CSSSYNTAXSTATUS_PageRule, |
476 FDE_CSSSYNTAXSTATUS_StyleRule, | 463 FDE_CSSSYNTAXSTATUS_StyleRule, |
477 FDE_CSSSYNTAXSTATUS_FontFaceRule, | 464 FDE_CSSSYNTAXSTATUS_FontFaceRule, |
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
925 IFDE_CSSTagProvider* pTag, | 912 IFDE_CSSTagProvider* pTag, |
926 CFDE_CSSDeclarationArray& matchedDecls, | 913 CFDE_CSSDeclarationArray& matchedDecls, |
927 FDE_CSSPERSUDO ePersudoType = FDE_CSSPERSUDO_NONE) = 0; | 914 FDE_CSSPERSUDO ePersudoType = FDE_CSSPERSUDO_NONE) = 0; |
928 virtual void ComputeStyle(IFDE_CSSTagProvider* pTag, | 915 virtual void ComputeStyle(IFDE_CSSTagProvider* pTag, |
929 const IFDE_CSSDeclaration** ppDeclArray, | 916 const IFDE_CSSDeclaration** ppDeclArray, |
930 int32_t iDeclCount, | 917 int32_t iDeclCount, |
931 IFDE_CSSComputedStyle* pDestStyle) = 0; | 918 IFDE_CSSComputedStyle* pDestStyle) = 0; |
932 }; | 919 }; |
933 | 920 |
934 #endif // XFA_FDE_CSS_FDE_CSS_H_ | 921 #endif // XFA_FDE_CSS_FDE_CSS_H_ |
OLD | NEW |