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
{
31
Point
sp
;
32
Point
ep
;
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
{
54
TypeE
type
;
55
bool
ena
;
56
int
layer
;
57
int
thickness
;
58
uint32_t
color
;
59
union
{
60
ParamLine
line
;
61
ParamRect
rect
;
62
ParamEllipse
ellipse
;
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
Emx::MediaInfDraw
Definition:
MediaInfDraw.hpp:15
Emx::MediaInfDraw::RateBase
static const int RateBase
Definition:
MediaInfDraw.hpp:17
Emx::MediaInfDraw::TypeE
TypeE
DRAW类型
Definition:
MediaInfDraw.hpp:19
Emx::MediaInfDraw::TypeE::Ellipse
@ Ellipse
椭圆显示
Emx::MediaInfDraw::TypeE::Line
@ Line
线条显示
Emx::MediaInfDraw::TypeE::Rect
@ Rect
矩形框显示
Emx
Definition:
EmxGpio.hpp:10
Emx::MediaInfDraw::ParamEllipse
椭圆
Definition:
MediaInfDraw.hpp:44
Emx::MediaInfDraw::ParamEllipse::x
float x
中心点x
Definition:
MediaInfDraw.hpp:46
Emx::MediaInfDraw::ParamEllipse::majorAxis
float majorAxis
长轴
Definition:
MediaInfDraw.hpp:48
Emx::MediaInfDraw::ParamEllipse::fill
bool fill
是否是实心
Definition:
MediaInfDraw.hpp:45
Emx::MediaInfDraw::ParamEllipse::minorAxis
float minorAxis
短轴
Definition:
MediaInfDraw.hpp:49
Emx::MediaInfDraw::ParamEllipse::y
float y
中心点y
Definition:
MediaInfDraw.hpp:47
Emx::MediaInfDraw::ParamItem
持久化参数
Definition:
MediaInfDraw.hpp:53
Emx::MediaInfDraw::ParamItem::rect
ParamRect rect
矩形框类型,仅支持矩形
Definition:
MediaInfDraw.hpp:61
Emx::MediaInfDraw::ParamItem::layer
int layer
显示层级
Definition:
MediaInfDraw.hpp:56
Emx::MediaInfDraw::ParamItem::color
uint32_t color
颜色 rgba ff0000ff(默认红色)
Definition:
MediaInfDraw.hpp:58
Emx::MediaInfDraw::ParamItem::type
TypeE type
DRAW类型
Definition:
MediaInfDraw.hpp:54
Emx::MediaInfDraw::ParamItem::line
ParamLine line
画线类型,支持各种形状
Definition:
MediaInfDraw.hpp:60
Emx::MediaInfDraw::ParamItem::ena
bool ena
是否使能
Definition:
MediaInfDraw.hpp:55
Emx::MediaInfDraw::ParamItem::thickness
int thickness
线宽
Definition:
MediaInfDraw.hpp:57
Emx::MediaInfDraw::ParamItem::ellipse
ParamEllipse ellipse
椭圆形框类型
Definition:
MediaInfDraw.hpp:62
Emx::MediaInfDraw::ParamLine
线段
Definition:
MediaInfDraw.hpp:30
Emx::MediaInfDraw::ParamLine::ep
Point ep
终点
Definition:
MediaInfDraw.hpp:32
Emx::MediaInfDraw::ParamLine::sp
Point sp
起点
Definition:
MediaInfDraw.hpp:31
Emx::MediaInfDraw::ParamRect
矩形
Definition:
MediaInfDraw.hpp:36
Emx::MediaInfDraw::ParamRect::x
float x
起点x
Definition:
MediaInfDraw.hpp:38
Emx::MediaInfDraw::ParamRect::height
float height
矩形高
Definition:
MediaInfDraw.hpp:41
Emx::MediaInfDraw::ParamRect::fill
bool fill
是否是实心
Definition:
MediaInfDraw.hpp:37
Emx::MediaInfDraw::ParamRect::y
float y
起点y
Definition:
MediaInfDraw.hpp:39
Emx::MediaInfDraw::ParamRect::width
float width
矩形宽
Definition:
MediaInfDraw.hpp:40
Emx::MediaInfDraw::Param
Definition:
MediaInfDraw.hpp:66
Emx::MediaInfDraw::Param::array
std::vector< std::shared_ptr< ParamItem > > array
Definition:
MediaInfDraw.hpp:67
Emx::MediaInfDraw::Point
坐标点
Definition:
MediaInfDraw.hpp:25
Emx::MediaInfDraw::Point::x
float x
横坐标 基准值RateBase
Definition:
MediaInfDraw.hpp:26
Emx::MediaInfDraw::Point::y
float y
纵坐标 基准值RateBase
Definition:
MediaInfDraw.hpp:27