Subversion Repositories spk

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
79 cycrow 1
//************************************************************************
2
//
3
// LCDBase.h
4
//
5
// The CLCDBase class is the generic base class for all lcd ui objects
6
// 
7
// Logitech LCD SDK
8
//
9
// Copyright 2005 Logitech Inc.
10
//************************************************************************
11
 
12
#ifndef _LCDBASE_H_INCLUDED_
13
#define _LCDBASE_H_INCLUDED_
14
 
15
#include "LCDGfx.h"
16
 
17
 
18
typedef enum
19
{
20
    LG_SCROLLING_TEXT, LG_STATIC_TEXT, LG_ICON, LG_PROGRESS_BAR, LG_SCROLLING_TEXT_FAST, LG_UNKNOWN
21
} LGObjectType;
22
 
23
class CLCDBase
24
{
25
public:
26
    CLCDBase(void);
27
    virtual ~CLCDBase(void);
28
 
29
public:
30
    virtual HRESULT Initialize(void);
31
    virtual void Shutdown(void);
32
 
33
    virtual void SetOrigin(POINT pt);
34
    virtual void SetOrigin(int nX, int nY);
35
    virtual POINT& GetOrigin(void);
36
 
37
    virtual void SetSize(SIZE& size);
38
    virtual void SetSize(int nCX, int nCY);
39
    virtual SIZE& GetSize(void);
40
 
41
    virtual int GetWidth(void) { return GetSize().cx; }
42
    virtual int GetHeight(void) { return GetSize().cy; };
43
 
44
    virtual void Show(BOOL bShow);
45
    virtual BOOL IsVisible();
46
 
47
    virtual void Invert(BOOL bEnable);
48
    virtual void ResetUpdate(void);
49
 
50
    // local coordinates
51
    virtual void SetLogicalOrigin(POINT& rLogical);
52
    virtual void SetLogicalOrigin(int nX, int nY);
53
    virtual POINT& GetLogicalOrigin(void);
54
    virtual void SetLogicalSize(SIZE& size);
55
    virtual void SetLogicalSize(int nCX, int nCY);
56
    virtual SIZE& GetLogicalSize(void);
57
 
58
    virtual void SetBackgroundMode(int nMode);
59
    virtual int  GetBackgroundMode();
60
 
61
    virtual const LGObjectType GetObjectType();
62
    virtual void SetObjectType(const LGObjectType type);
63
 
64
public:
65
    virtual void OnDraw(CLCDGfx &rGfx) = 0;
66
    virtual void OnUpdate(DWORD dwTimestamp);
67
 
68
protected:    
69
    SIZE m_Size;
70
    POINT m_Origin;
71
    BOOL m_bVisible;
72
    BOOL m_bInverted;
73
 
74
    POINT m_ptLogical;
75
    SIZE m_sizeLogical;
76
    int m_nBkMode;
77
 
78
    LGObjectType m_objectType;
79
};
80
 
81
 
82
#endif // !_LCDBASE_H_INCLUDED_
83
 
84
//** end of LCDBase.h ****************************************************