5 #ifndef EMX_MediaServerOsd_HPP
6 #define EMX_MediaServerOsd_HPP
8 #include "MediaServerBase.hpp"
9 #include "core/euv/EuvTimer.hpp"
10 #include "media/common/MediaInfOsd.hpp"
11 #include "media/common/MediaRegion.hpp"
112 virtual void SetBitMap(
int id, uint8_t *pix,
int w,
int h,
113 std::vector<SwitchColorRect> *switchColorRectList =
nullptr) = 0;
150 void PreproccessAll();
156 void ResourceFreeAll();
164 OutlineOsd *CreateOutline(
int fontSize, uint32_t color,
const char *font);
171 void DestroyOutline(OutlineOsd *outline);
182 void GetTime(time_t time,
char *formatString,
char weekFormat[7][16],
int maxSize,
char *content);
195 void CalcCoordinate(Margin &margin,
int regionWidth,
int regionHeight,
int backgroundWidth,
196 int backgroundHeight,
int &x,
int &y);
203 void SetRunningParam(
Param *param);
243 void ContentPush(OsdContent &info);
255 struct OutlineOsdCfg {
262 std::list<OutlineOsdCfg *> m_outline;
272 std::vector<SwitchColorRect> switchColorRect;
276 std::list<OsdItem> m_osdTime;
277 std::list<OsdItem> m_osdText;
278 std::list<OsdItem> m_osdImage;
279 std::list<RegionInfo> m_region;
283 bool m_threadRunning =
false;
284 bool m_craeteFlag =
false;
285 std::thread m_thread;
286 std::vector<Param> m_paramQueue;
287 std::mutex m_paramMtx;
288 std::vector<OsdContent> m_contentQueue;
289 std::string m_cacheChar;
301 int TextWrapLineSize(ParamText ¶mText, RegionInfo ®ion, OutlineOsd *outline);
310 int TextWrapLine(OsdItem &text);
关于系统需要持久化保存的参数的相关操作
Definition: EmxParam.hpp:18
ErrCodeE
错误码定义
Definition: EmxTypeDef.hpp:29
Definition: EmxGpio.hpp:10
时间或文字类型OSD显示内容
Definition: MediaInfOsd.hpp:106
图像大小
Definition: MediaRegion.hpp:25