summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_page/cpdf_textstatedata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/fpdf_page/cpdf_textstatedata.cpp')
-rw-r--r--core/fpdfapi/fpdf_page/cpdf_textstatedata.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/core/fpdfapi/fpdf_page/cpdf_textstatedata.cpp b/core/fpdfapi/fpdf_page/cpdf_textstatedata.cpp
index 5cd6061542..e60af0076e 100644
--- a/core/fpdfapi/fpdf_page/cpdf_textstatedata.cpp
+++ b/core/fpdfapi/fpdf_page/cpdf_textstatedata.cpp
@@ -10,13 +10,44 @@
#include "core/fpdfapi/fpdf_page/pageint.h"
#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+bool SetTextRenderingModeFromInt(int iMode, TextRenderingMode* mode) {
+ if (iMode < 0 || iMode > 7)
+ return false;
+ *mode = static_cast<TextRenderingMode>(iMode);
+ return true;
+}
+
+bool TextRenderingModeIsClipMode(const TextRenderingMode& mode) {
+ switch (mode) {
+ case TextRenderingMode::MODE_FILL_CLIP:
+ case TextRenderingMode::MODE_STROKE_CLIP:
+ case TextRenderingMode::MODE_FILL_STROKE_CLIP:
+ case TextRenderingMode::MODE_CLIP:
+ return true;
+ default:
+ return false;
+ }
+}
+
+bool TextRenderingModeIsStrokeMode(const TextRenderingMode& mode) {
+ switch (mode) {
+ case TextRenderingMode::MODE_STROKE:
+ case TextRenderingMode::MODE_FILL_STROKE:
+ case TextRenderingMode::MODE_STROKE_CLIP:
+ case TextRenderingMode::MODE_FILL_STROKE_CLIP:
+ return true;
+ default:
+ return false;
+ }
+}
+
CPDF_TextStateData::CPDF_TextStateData()
: m_pFont(nullptr),
m_pDocument(nullptr),
m_FontSize(1.0f),
m_CharSpace(0),
m_WordSpace(0),
- m_TextMode(0) {
+ m_TextMode(TextRenderingMode::MODE_FILL) {
m_Matrix[0] = m_Matrix[3] = 1.0f;
m_Matrix[1] = m_Matrix[2] = 0;
m_CTM[0] = m_CTM[3] = 1.0f;