#pragma once #include "sdk\components\dwin\dwin_screen.hpp" namespace iflytop { namespace dwin { using namespace std; #pragma pack(1) typedef struct { uint16_t m_VP = 0; uint16_t m_PosX = 0; uint16_t m_PosY = 0; uint16_t m_VMin = 0; uint16_t m_VMax = 0; uint16_t m_IconMin = 0; uint16_t m_IconMax = 0; uint8_t m_Mode = 0; uint8_t m_IconLib = 0; uint8_t m_ICONGamma = 0; uint8_t m_LayerMode = 0; uint8_t m_FilterSet = 0; uint8_t m_PICGamma = 0; } VarIconDescript_t; #pragma pack() class VarIcon { DwinScreen *m_dwin_screen = nullptr; uint16_t m_descript_add = 0; VarIconDescript_t m_descript; public: bool init(DwinScreen *dwin_screen, uint16_t descript_add); void initcfg(uint16_t valpointerAdd, uint16_t initval, uint16_t posx, uint16_t posy, uint16_t iconlib, uint16_t iconmin, uint16_t iconmax); public: bool flushcfg(); bool readcfg(); bool setVal(uint16_t val) { return m_dwin_screen->write_varspace16(m_descript.m_VP, val, 100); } uint16_t getVal() { uint16_t val = 0xffff; m_dwin_screen->read_varspace16(m_descript.m_VP, val, 100); return val; } VarIconDescript_t &getDescript() { return m_descript; } void dumpinfo(); public: }; } // namespace dwin } // namespace iflytop