From 364c97e3a055201af18e70f951dd0f0de26044af Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期一, 24 七月 2017 10:26:36 +0800
Subject: [PATCH] update native

---
 RtspFace/PL_Paint.h |   44 ++++++++++++++++++++++++--------------------
 1 files changed, 24 insertions(+), 20 deletions(-)

diff --git a/RtspFace/PL_Paint.h b/RtspFace/PL_Paint.h
index 9e7edab..66ada4c 100644
--- a/RtspFace/PL_Paint.h
+++ b/RtspFace/PL_Paint.h
@@ -4,6 +4,8 @@
 #include "PipeLine.h"
 #include "GraphicHelper.h"
 
+#define ENABLE_WTEXT
+
 /*
 PLPaint Language:
 COLOR F/B,R,G,B,A
@@ -22,7 +24,8 @@
 	PLPLC_PEN,
 	PLPLC_RECT,
 	PLPLC_TEXT,
-	
+	PLPLC_WTEXT,
+
 	PLPLC__LAST
 };
 
@@ -30,16 +33,13 @@
 {
 	int val_i;
 	float val_f;
-	char val_s[sizeof(int)];
+	char val_s[20];
 
-    PLPLType() : val_i(0) {}
-    PLPLType(int _val_i) : val_i(_val_i) {}
-    PLPLType(float _val_f) : val_f(_val_f) {}
-    PLPLType(const char* _val_s)
-    {
-        for (int i = 0; i < sizeof(val_s); i++)
-            val_s[i] = _val_s[i];
-    }
+	PLPLType() : val_i(0) {}
+	PLPLType(int _val_i) : val_i(_val_i) {}
+	PLPLType(float _val_f) : val_f(_val_f) {}
+	PLPLType(const char* _val_s);
+	PLPLType(const wchar_t* _val_s);
 };
 
 typedef std::vector<PLPLCmd> plplc_vec_t;
@@ -50,23 +50,27 @@
 	plplc_vec_t cmds;
 	plplt_vec_t params;
 
-    PLGH_Color_RGBA color_front;
-    PLGH_Color_RGBA color_back;
-    int fill;
-    PLGH_Pen pen;
+	PLGH_Color_RGBA color_front;
+	PLGH_Color_RGBA color_back;
+	int fill;
+	PLGH_Pen pen;
+	void* cvxText;
 
-    PLPLContext() :
-            cmds(), params(), color_front(), color_back(), fill(0), pen(0, 0)
-    {}
+	PLPLContext() :
+		cmds(), params(), color_front(), color_back(), fill(0), pen(0, 0), cvxText(nullptr)
+	{}
+
+	~PLPLContext();
 };
 
 struct PL_Paint_Config
 {
 	bool copyData;
 	PLPLContext* plplCtx;
+	std::string fontPath;
 	
 	PL_Paint_Config() : 
-		copyData(false), plplCtx(nullptr)
+		copyData(false), plplCtx(nullptr), fontPath()
 	{ }
 };
 
@@ -83,8 +87,8 @@
 	virtual bool gain(PipeMaterial& pm);
 	
 private:
-	static bool pay_breaker_MBFT_YUV(const PipeMaterial* pm, void* args);
-	
+    static bool pay_breaker_MBFT(const PipeMaterial* pm, void* args);
+
 private:
 	void* internal;
 };

--
Gitblit v1.8.0