| 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_CSSSYNTAX_H_ | 7 #ifndef XFA_FDE_CSS_FDE_CSSSYNTAX_H_ |
| 8 #define XFA_FDE_CSS_FDE_CSSSYNTAX_H_ | 8 #define XFA_FDE_CSS_FDE_CSSSYNTAX_H_ |
| 9 | 9 |
| 10 #include "xfa/fde/css/fde_css.h" | 10 #include "xfa/fde/css/fde_css.h" |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 FDE_CSSSYNTAXMODE_Charset, | 67 FDE_CSSSYNTAXMODE_Charset, |
| 68 FDE_CSSSYNTAXMODE_Import, | 68 FDE_CSSSYNTAXMODE_Import, |
| 69 FDE_CSSSYNTAXMODE_MediaRule, | 69 FDE_CSSSYNTAXMODE_MediaRule, |
| 70 FDE_CSSSYNTAXMODE_URI, | 70 FDE_CSSSYNTAXMODE_URI, |
| 71 FDE_CSSSYNTAXMODE_MediaType, | 71 FDE_CSSSYNTAXMODE_MediaType, |
| 72 FDE_CSSSYNTAXMODE_Selector, | 72 FDE_CSSSYNTAXMODE_Selector, |
| 73 FDE_CSSSYNTAXMODE_PropertyName, | 73 FDE_CSSSYNTAXMODE_PropertyName, |
| 74 FDE_CSSSYNTAXMODE_PropertyValue, | 74 FDE_CSSSYNTAXMODE_PropertyValue, |
| 75 }; | 75 }; |
| 76 | 76 |
| 77 class CFDE_CSSSyntaxParser : public IFDE_CSSSyntaxParser, public CFX_Target { | 77 class CFDE_CSSSyntaxParser : public CFX_Target { |
| 78 public: | 78 public: |
| 79 CFDE_CSSSyntaxParser(); | 79 CFDE_CSSSyntaxParser(); |
| 80 ~CFDE_CSSSyntaxParser(); | 80 ~CFDE_CSSSyntaxParser(); |
| 81 virtual void Release() { delete this; } | 81 |
| 82 virtual FX_BOOL Init(IFX_Stream* pStream, | 82 void Release() { delete this; } |
| 83 int32_t iCSSPlaneSize, | 83 FX_BOOL Init(IFX_Stream* pStream, |
| 84 int32_t iTextDataSize = 32, | 84 int32_t iCSSPlaneSize, |
| 85 FX_BOOL bOnlyDeclaration = FALSE); | 85 int32_t iTextDataSize = 32, |
| 86 virtual FX_BOOL Init(const FX_WCHAR* pBuffer, | 86 FX_BOOL bOnlyDeclaration = FALSE); |
| 87 int32_t iBufferSize, | 87 FX_BOOL Init(const FX_WCHAR* pBuffer, |
| 88 int32_t iTextDatSize = 32, | 88 int32_t iBufferSize, |
| 89 FX_BOOL bOnlyDeclaration = FALSE); | 89 int32_t iTextDatSize = 32, |
| 90 virtual FDE_CSSSYNTAXSTATUS DoSyntaxParse(); | 90 FX_BOOL bOnlyDeclaration = FALSE); |
| 91 virtual const FX_WCHAR* GetCurrentString(int32_t& iLength) const; | 91 FDE_CSSSYNTAXSTATUS DoSyntaxParse(); |
| 92 const FX_WCHAR* GetCurrentString(int32_t& iLength) const; |
| 92 | 93 |
| 93 protected: | 94 protected: |
| 94 void Reset(FX_BOOL bOnlyDeclaration); | 95 void Reset(FX_BOOL bOnlyDeclaration); |
| 95 void SwitchMode(FDE_CSSSYNTAXMODE eMode); | 96 void SwitchMode(FDE_CSSSYNTAXMODE eMode); |
| 96 int32_t SwitchToComment(); | 97 int32_t SwitchToComment(); |
| 97 | 98 |
| 98 FX_BOOL RestoreMode(); | 99 FX_BOOL RestoreMode(); |
| 99 FX_BOOL AppendChar(FX_WCHAR wch); | 100 FX_BOOL AppendChar(FX_WCHAR wch); |
| 100 int32_t SaveTextData(); | 101 int32_t SaveTextData(); |
| 101 FX_BOOL IsCharsetEnabled() const { | 102 FX_BOOL IsCharsetEnabled() const { |
| 102 return (m_dwCheck & FDE_CSSSYNTAXCHECK_AllowCharset) != 0; | 103 return (m_dwCheck & FDE_CSSSYNTAXCHECK_AllowCharset) != 0; |
| 103 } | 104 } |
| 104 void DisableCharset() { m_dwCheck = FDE_CSSSYNTAXCHECK_AllowImport; } | 105 void DisableCharset() { m_dwCheck = FDE_CSSSYNTAXCHECK_AllowImport; } |
| 105 FX_BOOL IsImportEnabled() const; | 106 FX_BOOL IsImportEnabled() const; |
| 106 void DisableImport() { m_dwCheck = 0; } | 107 void DisableImport() { m_dwCheck = 0; } |
| 108 |
| 107 IFX_Stream* m_pStream; | 109 IFX_Stream* m_pStream; |
| 108 int32_t m_iStreamPos; | 110 int32_t m_iStreamPos; |
| 109 int32_t m_iPlaneSize; | 111 int32_t m_iPlaneSize; |
| 110 CFDE_CSSTextBuf m_TextData; | 112 CFDE_CSSTextBuf m_TextData; |
| 111 CFDE_CSSTextBuf m_TextPlane; | 113 CFDE_CSSTextBuf m_TextPlane; |
| 112 int32_t m_iTextDatLen; | 114 int32_t m_iTextDatLen; |
| 113 uint32_t m_dwCheck; | 115 uint32_t m_dwCheck; |
| 114 FDE_CSSSYNTAXMODE m_eMode; | 116 FDE_CSSSYNTAXMODE m_eMode; |
| 115 FDE_CSSSYNTAXSTATUS m_eStatus; | 117 FDE_CSSSYNTAXSTATUS m_eStatus; |
| 116 CFX_StackTemplate<FDE_CSSSYNTAXMODE> m_ModeStack; | 118 CFX_StackTemplate<FDE_CSSSYNTAXMODE> m_ModeStack; |
| 117 }; | 119 }; |
| 118 | 120 |
| 119 #endif // XFA_FDE_CSS_FDE_CSSSYNTAX_H_ | 121 #endif // XFA_FDE_CSS_FDE_CSSSYNTAX_H_ |
| OLD | NEW |