#pragma once #include #include "BlockingQueue.h" #include "Displaydef.h" class LCDDisplay; class DisplayCenter { public: DisplayCenter(); ~DisplayCenter(); void PutMsg(DisType distype,int pagenum,ClearScreen clearscreen); void ResetMsgQueue(); DisType getcurdistype(); private: struct MsgPair{ DisType distype; ClearScreen clearscree; unsigned int pagenum; std::string infomsg; }; void runloop(); private: BlockingQueue m_msgs; std::shared_ptr m_showthread; std::shared_ptr m_lcd; volatile DisType m_distype; bool brun; };