Blame | Last modification | View Log | RSS feed
//************************************************************************//// LCDBase.h//// The CLCDBase class is the generic base class for all lcd ui objects//// Logitech LCD SDK//// Copyright 2005 Logitech Inc.//************************************************************************#ifndef _LCDBASE_H_INCLUDED_#define _LCDBASE_H_INCLUDED_#include "LCDGfx.h"typedef enum{LG_SCROLLING_TEXT, LG_STATIC_TEXT, LG_ICON, LG_PROGRESS_BAR, LG_SCROLLING_TEXT_FAST, LG_UNKNOWN} LGObjectType;class CLCDBase{public:CLCDBase(void);virtual ~CLCDBase(void);public:virtual HRESULT Initialize(void);virtual void Shutdown(void);virtual void SetOrigin(POINT pt);virtual void SetOrigin(int nX, int nY);virtual POINT& GetOrigin(void);virtual void SetSize(SIZE& size);virtual void SetSize(int nCX, int nCY);virtual SIZE& GetSize(void);virtual int GetWidth(void) { return GetSize().cx; }virtual int GetHeight(void) { return GetSize().cy; };virtual void Show(BOOL bShow);virtual BOOL IsVisible();virtual void Invert(BOOL bEnable);virtual void ResetUpdate(void);// local coordinatesvirtual void SetLogicalOrigin(POINT& rLogical);virtual void SetLogicalOrigin(int nX, int nY);virtual POINT& GetLogicalOrigin(void);virtual void SetLogicalSize(SIZE& size);virtual void SetLogicalSize(int nCX, int nCY);virtual SIZE& GetLogicalSize(void);virtual void SetBackgroundMode(int nMode);virtual int GetBackgroundMode();virtual const LGObjectType GetObjectType();virtual void SetObjectType(const LGObjectType type);public:virtual void OnDraw(CLCDGfx &rGfx) = 0;virtual void OnUpdate(DWORD dwTimestamp);protected:SIZE m_Size;POINT m_Origin;BOOL m_bVisible;BOOL m_bInverted;POINT m_ptLogical;SIZE m_sizeLogical;int m_nBkMode;LGObjectType m_objectType;};#endif // !_LCDBASE_H_INCLUDED_//** end of LCDBase.h ****************************************************