From b022b91c0c6fa807424b6c12cc92ac5946838083 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 13 七月 2017 16:34:39 +0800
Subject: [PATCH] update pipeline

---
 RtspFace/PL_Paint.h |   70 +++++++++++++++++++++++++++++++++++
 1 files changed, 70 insertions(+), 0 deletions(-)

diff --git a/RtspFace/PL_Paint.h b/RtspFace/PL_Paint.h
index 9421a02..9e7edab 100644
--- a/RtspFace/PL_Paint.h
+++ b/RtspFace/PL_Paint.h
@@ -2,6 +2,73 @@
 #define _PL_PAINT_H_
 
 #include "PipeLine.h"
+#include "GraphicHelper.h"
+
+/*
+PLPaint Language:
+COLOR F/B,R,G,B,A
+FILL 0/1
+PEN TYPE,WIDTH
+RECT LTX,LTY,RBX,RBY
+TEXT LTX,LTY,"STRING"
+*/
+
+enum PLPLCmd
+{
+	PLPLC__FIRST,
+	
+	PLPLC_COLOR,
+	PLPLC_FILL,
+	PLPLC_PEN,
+	PLPLC_RECT,
+	PLPLC_TEXT,
+	
+	PLPLC__LAST
+};
+
+union PLPLType
+{
+	int val_i;
+	float val_f;
+	char val_s[sizeof(int)];
+
+    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];
+    }
+};
+
+typedef std::vector<PLPLCmd> plplc_vec_t;
+typedef std::vector<PLPLType> plplt_vec_t;
+
+struct PLPLContext
+{
+	plplc_vec_t cmds;
+	plplt_vec_t params;
+
+    PLGH_Color_RGBA color_front;
+    PLGH_Color_RGBA color_back;
+    int fill;
+    PLGH_Pen pen;
+
+    PLPLContext() :
+            cmds(), params(), color_front(), color_back(), fill(0), pen(0, 0)
+    {}
+};
+
+struct PL_Paint_Config
+{
+	bool copyData;
+	PLPLContext* plplCtx;
+	
+	PL_Paint_Config() : 
+		copyData(false), plplCtx(nullptr)
+	{ }
+};
 
 class PL_Paint : public PipeLineElem
 {
@@ -16,6 +83,9 @@
 	virtual bool gain(PipeMaterial& pm);
 	
 private:
+	static bool pay_breaker_MBFT_YUV(const PipeMaterial* pm, void* args);
+	
+private:
 	void* internal;
 };
 

--
Gitblit v1.8.0