MediaInfDraw.hpp
1 //
2 // Created by tangfahong on 2024/3/21.
3 //
4 
5 #ifndef EMX_MediaInfDraw_HPP
6 #define EMX_MediaInfDraw_HPP
7 
8 #include "media/common/MediaTypedef.hpp"
9 #include <vector>
10 
11 namespace Emx {
15  class MediaInfDraw {
16  public:
17  static const int RateBase = 10000;
19  enum class TypeE : uint8_t {
20  Line = 0,
21  Rect,
22  Ellipse,
23  };
25  struct Point {
26  float x;
27  float y;
28  };
30  struct ParamLine {
33  };
34 
36  struct ParamRect {
37  bool fill;
38  float x;
39  float y;
40  float width;
41  float height;
42  };
44  struct ParamEllipse {
45  bool fill;
46  float x;
47  float y;
48  float majorAxis;
49  float minorAxis;
50  };
51 
53  struct ParamItem {
55  bool ena;
56  int layer;
57  int thickness;
58  uint32_t color;
59  union {
63  };
64  };
65 
66  struct Param {
67  std::vector<std::shared_ptr<ParamItem>> array;
68  };
69  };
71 }// namespace Emx
72 
73 #endif//EMX_MediaInfDraw_HPP
Definition: MediaInfDraw.hpp:15
static const int RateBase
Definition: MediaInfDraw.hpp:17
TypeE
DRAW类型
Definition: MediaInfDraw.hpp:19
@ Rect
矩形框显示
Definition: EmxGpio.hpp:10
椭圆
Definition: MediaInfDraw.hpp:44
float x
中心点x
Definition: MediaInfDraw.hpp:46
float majorAxis
长轴
Definition: MediaInfDraw.hpp:48
bool fill
是否是实心
Definition: MediaInfDraw.hpp:45
float minorAxis
短轴
Definition: MediaInfDraw.hpp:49
float y
中心点y
Definition: MediaInfDraw.hpp:47
持久化参数
Definition: MediaInfDraw.hpp:53
ParamRect rect
矩形框类型,仅支持矩形
Definition: MediaInfDraw.hpp:61
int layer
显示层级
Definition: MediaInfDraw.hpp:56
uint32_t color
颜色 rgba ff0000ff(默认红色)
Definition: MediaInfDraw.hpp:58
TypeE type
DRAW类型
Definition: MediaInfDraw.hpp:54
ParamLine line
画线类型,支持各种形状
Definition: MediaInfDraw.hpp:60
bool ena
是否使能
Definition: MediaInfDraw.hpp:55
int thickness
线宽
Definition: MediaInfDraw.hpp:57
ParamEllipse ellipse
椭圆形框类型
Definition: MediaInfDraw.hpp:62
线段
Definition: MediaInfDraw.hpp:30
Point ep
终点
Definition: MediaInfDraw.hpp:32
Point sp
起点
Definition: MediaInfDraw.hpp:31
矩形
Definition: MediaInfDraw.hpp:36
float x
起点x
Definition: MediaInfDraw.hpp:38
float height
矩形高
Definition: MediaInfDraw.hpp:41
bool fill
是否是实心
Definition: MediaInfDraw.hpp:37
float y
起点y
Definition: MediaInfDraw.hpp:39
float width
矩形宽
Definition: MediaInfDraw.hpp:40
Definition: MediaInfDraw.hpp:66
std::vector< std::shared_ptr< ParamItem > > array
Definition: MediaInfDraw.hpp:67
坐标点
Definition: MediaInfDraw.hpp:25
float x
横坐标 基准值RateBase
Definition: MediaInfDraw.hpp:26
float y
纵坐标 基准值RateBase
Definition: MediaInfDraw.hpp:27