houxiao
2017-07-24 364c97e3a055201af18e70f951dd0f0de26044af
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;
};