summaryrefslogtreecommitdiff
path: root/core/fpdfapi/page/cpdf_meshstream.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/page/cpdf_meshstream.h')
-rw-r--r--core/fpdfapi/page/cpdf_meshstream.h25
1 files changed, 15 insertions, 10 deletions
diff --git a/core/fpdfapi/page/cpdf_meshstream.h b/core/fpdfapi/page/cpdf_meshstream.h
index 21a6c2fa8c..24f1d66cfd 100644
--- a/core/fpdfapi/page/cpdf_meshstream.h
+++ b/core/fpdfapi/page/cpdf_meshstream.h
@@ -8,6 +8,7 @@
#define CORE_FPDFAPI_PAGE_CPDF_MESHSTREAM_H_
#include <memory>
+#include <tuple>
#include <vector>
#include "core/fpdfapi/page/cpdf_shadingpattern.h"
@@ -15,9 +16,13 @@
#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_system.h"
-struct CPDF_MeshVertex {
- FX_FLOAT x;
- FX_FLOAT y;
+class CPDF_MeshVertex {
+ public:
+ CPDF_MeshVertex();
+ CPDF_MeshVertex(const CPDF_MeshVertex&);
+ ~CPDF_MeshVertex();
+
+ CFX_PointF position;
FX_FLOAT r;
FX_FLOAT g;
FX_FLOAT b;
@@ -37,14 +42,14 @@ class CPDF_MeshStream {
bool Load();
- uint32_t GetFlag();
- void GetCoords(FX_FLOAT& x, FX_FLOAT& y);
- void GetColor(FX_FLOAT& r, FX_FLOAT& g, FX_FLOAT& b);
+ uint32_t ReadFlag();
+ CFX_PointF ReadCoords();
+ std::tuple<FX_FLOAT, FX_FLOAT, FX_FLOAT> ReadColor();
- uint32_t GetVertex(CPDF_MeshVertex& vertex, CFX_Matrix* pObject2Bitmap);
- bool GetVertexRow(CPDF_MeshVertex* vertex,
- int count,
- CFX_Matrix* pObject2Bitmap);
+ CPDF_MeshVertex ReadVertex(const CFX_Matrix& pObject2Bitmap, uint32_t* flag);
+ bool ReadVertexRow(const CFX_Matrix& pObject2Bitmap,
+ int count,
+ CPDF_MeshVertex* vertex);
CFX_BitStream* BitStream() { return &m_BitStream; }
uint32_t ComponentBits() const { return m_nComponentBits; }