diff options
author | tsepez <tsepez@chromium.org> | 2016-09-06 14:51:40 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-09-06 14:51:40 -0700 |
commit | 0a765b832c5b9dd0a46fb5a25ce09d52dedb336b (patch) | |
tree | ec83ef6a7c2434ddf3dfd903dfc216d21c8b71c4 /core/fpdfapi/fpdf_page/include | |
parent | 1897bdc3cf51c84a0356d373e34ec100c93c954e (diff) | |
download | pdfium-0a765b832c5b9dd0a46fb5a25ce09d52dedb336b.tar.xz |
Make CPDF_TextStateData private to CPDF_TextState.chromium/2853
Review-Url: https://codereview.chromium.org/2313083002
Diffstat (limited to 'core/fpdfapi/fpdf_page/include')
-rw-r--r-- | core/fpdfapi/fpdf_page/include/cpdf_textstate.h | 91 | ||||
-rw-r--r-- | core/fpdfapi/fpdf_page/include/cpdf_textstatedata.h | 53 |
2 files changed, 91 insertions, 53 deletions
diff --git a/core/fpdfapi/fpdf_page/include/cpdf_textstate.h b/core/fpdfapi/fpdf_page/include/cpdf_textstate.h new file mode 100644 index 0000000000..b457026bc8 --- /dev/null +++ b/core/fpdfapi/fpdf_page/include/cpdf_textstate.h @@ -0,0 +1,91 @@ +// Copyright 2016 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 CORE_FPDFAPI_FPDF_PAGE_INCLUDE_CPDF_TEXTSTATE_H_ +#define CORE_FPDFAPI_FPDF_PAGE_INCLUDE_CPDF_TEXTSTATE_H_ + +#include "core/fxcrt/include/cfx_count_ref.h" +#include "core/fxcrt/include/fx_basic.h" + +class CPDF_Document; +class CPDF_Font; + +// See PDF Reference 1.7, page 402, table 5.3. +enum class TextRenderingMode { + MODE_FILL = 0, + MODE_STROKE = 1, + MODE_FILL_STROKE = 2, + MODE_INVISIBLE = 3, + MODE_FILL_CLIP = 4, + MODE_STROKE_CLIP = 5, + MODE_FILL_STROKE_CLIP = 6, + MODE_CLIP = 7, +}; + +class CPDF_TextState { + public: + CPDF_TextState(); + ~CPDF_TextState(); + + void Emplace(); + + CPDF_Font* GetFont() const; + void SetFont(CPDF_Font* pFont); + + FX_FLOAT GetFontSize() const; + void SetFontSize(FX_FLOAT size); + + const FX_FLOAT* GetMatrix() const; + FX_FLOAT* GetMutableMatrix(); + + FX_FLOAT GetCharSpace() const; + void SetCharSpace(FX_FLOAT sp); + + FX_FLOAT GetWordSpace() const; + void SetWordSpace(FX_FLOAT sp); + + FX_FLOAT GetFontSizeV() const; + FX_FLOAT GetFontSizeH() const; + FX_FLOAT GetBaselineAngle() const; + FX_FLOAT GetShearAngle() const; + + TextRenderingMode GetTextMode() const; + void SetTextMode(TextRenderingMode mode); + + const FX_FLOAT* GetCTM() const; + FX_FLOAT* GetMutableCTM(); + + private: + class TextData { + public: + TextData(); + TextData(const TextData& src); + ~TextData(); + + void SetFont(CPDF_Font* pFont); + FX_FLOAT GetFontSizeV() const; + FX_FLOAT GetFontSizeH() const; + FX_FLOAT GetBaselineAngle() const; + FX_FLOAT GetShearAngle() const; + + CPDF_Font* m_pFont; + CPDF_Document* m_pDocument; + FX_FLOAT m_FontSize; + FX_FLOAT m_CharSpace; + FX_FLOAT m_WordSpace; + TextRenderingMode m_TextMode; + FX_FLOAT m_Matrix[4]; + FX_FLOAT m_CTM[4]; + }; + + CFX_CountRef<TextData> m_Ref; +}; + +bool SetTextRenderingModeFromInt(int iMode, TextRenderingMode* mode); +bool TextRenderingModeIsClipMode(const TextRenderingMode& mode); +bool TextRenderingModeIsStrokeMode(const TextRenderingMode& mode); + +#endif // CORE_FPDFAPI_FPDF_PAGE_INCLUDE_CPDF_TEXTSTATE_H_ diff --git a/core/fpdfapi/fpdf_page/include/cpdf_textstatedata.h b/core/fpdfapi/fpdf_page/include/cpdf_textstatedata.h deleted file mode 100644 index f3d669690c..0000000000 --- a/core/fpdfapi/fpdf_page/include/cpdf_textstatedata.h +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2016 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 CORE_FPDFAPI_FPDF_PAGE_INCLUDE_CPDF_TEXTSTATEDATA_H_ -#define CORE_FPDFAPI_FPDF_PAGE_INCLUDE_CPDF_TEXTSTATEDATA_H_ - -#include "core/fxcrt/include/fx_system.h" - -class CPDF_Font; -class CPDF_Document; - -// See PDF Reference 1.7, page 402, table 5.3. -enum class TextRenderingMode { - MODE_FILL = 0, - MODE_STROKE = 1, - MODE_FILL_STROKE = 2, - MODE_INVISIBLE = 3, - MODE_FILL_CLIP = 4, - MODE_STROKE_CLIP = 5, - MODE_FILL_STROKE_CLIP = 6, - MODE_CLIP = 7, -}; - -bool SetTextRenderingModeFromInt(int iMode, TextRenderingMode* mode); -bool TextRenderingModeIsClipMode(const TextRenderingMode& mode); -bool TextRenderingModeIsStrokeMode(const TextRenderingMode& mode); - -class CPDF_TextStateData { - public: - CPDF_TextStateData(); - CPDF_TextStateData(const CPDF_TextStateData& src); - ~CPDF_TextStateData(); - - void SetFont(CPDF_Font* pFont); - FX_FLOAT GetFontSizeV() const; - FX_FLOAT GetFontSizeH() const; - FX_FLOAT GetBaselineAngle() const; - FX_FLOAT GetShearAngle() const; - - CPDF_Font* m_pFont; - CPDF_Document* m_pDocument; - FX_FLOAT m_FontSize; - FX_FLOAT m_CharSpace; - FX_FLOAT m_WordSpace; - TextRenderingMode m_TextMode; - FX_FLOAT m_Matrix[4]; - FX_FLOAT m_CTM[4]; -}; - -#endif // CORE_FPDFAPI_FPDF_PAGE_INCLUDE_CPDF_TEXTSTATEDATA_H_ |