Subversion Repositories spk

Rev

Rev 79 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
79 cycrow 1
#ifndef EZLCD_H_INCLUDED_
2
#define EZLCD_H_INCLUDED_
3
 
4
#include "LCDManager.h"
5
#include "LCDOutput.h"
6
 
7
 
8
#include "EZ_LCD_Defines.h"
9
#include "EZ_LCD_Page.h"
10
 
11
 
12
class CEzLcd
13
{
14
public:
15
    CEzLcd();
16
    ~CEzLcd();
17
    CEzLcd(LPCTSTR pFriendlyName, 
18
        INT iWidth = LCD_DEFAULT_WIDTH, 
19
        INT iHeight = LCD_DEFAULT_HEIGHT);
20
 
21
    HRESULT InitYourself(LPCTSTR pFriendlyName, 
22
                    BOOL bIsAutoStartable = FALSE,
23
                    BOOL bIsPersistent = FALSE,
24
                    lgLcdConfigureContext * pConfigContext = NULL, 
25
                    INT iWidth = LCD_DEFAULT_WIDTH, 
26
                    INT	 iHeight = LCD_DEFAULT_HEIGHT);
27
 
28
 
29
    // Adds one page
30
    INT AddNewPage(VOID);
31
    // Removes a page
32
    INT RemovePage(INT iPageNumber);
33
    // Returns the total number of pages
34
    INT GetPageCount(VOID);
35
    // Adds iNumberOfPages to the total of pages you've created
36
    INT AddNumberOfPages(INT iNumberOfPages);
37
    // Call this method prior to adjusting any control on a page
38
    BOOL ModifyControlsOnPage(INT iPageNumber);
39
    // Call this method to show a certain page on the LCD
40
    BOOL ShowPage(INT iPageNumber);
41
 
42
    // The methods below are used to add or modify a control on a certain page. Method
43
    // ModifyControlsOnPage(INT pageNumber) must be called prior to using any of the following
44
    // methods.
45
    HANDLE AddText(LGObjectType type, LGTextSize size, INT iAlignment, INT iMaxLengthPixels);
46
    HANDLE AddText(LGObjectType type, LGTextSize size, INT iAlignment, INT iMaxLengthPixels, INT iNumberOfLines);
47
    HRESULT SetText(HANDLE hHandle, LPCTSTR pText);
242 cycrow 48
    HRESULT SetText(HANDLE hHandle, const std::wstring &pText);
79 cycrow 49
 
50
    HANDLE AddIcon(HICON hIcon, INT iSizeX, INT iSizeY);
51
 
52
    HANDLE AddProgressBar(LGProgressBarType type);
53
    HRESULT SetProgressBarPosition(HANDLE hHandle, FLOAT fPercentage);
54
    HRESULT SetProgressBarSize(HANDLE hHandle, INT iWidth, INT iHeight);
55
 
56
    HANDLE AddBitmap();
57
    HRESULT SetBitmap(HANDLE hHandle, HBITMAP hBitmap);
58
 
59
    HRESULT SetOrigin(HANDLE hHandle, INT iOriginX, INT iOriginY);
60
    HRESULT SetVisible(HANDLE hHandle, BOOL bVisible);
61
	HRESULT SetSpeed(HANDLE hHandle, DWORD speed);
62
 
63
    BOOL IsConnected();
64
    HRESULT SetAsForeground(BOOL bSetAsForeground);
65
    HRESULT SetScreenPriority(DWORD dwPriority);
66
 
67
    BOOL ButtonTriggered(INT iButton);
68
    BOOL ButtonReleased(INT iButton);
69
    BOOL ButtonIsPressed(INT iButton);
70
 
71
    VOID Update();
72
 
73
    virtual void OnLCDButtonDown(INT iButton);
74
    virtual void OnLCDButtonUp(INT iButton);
75
 
76
protected:
77
    INT                     m_iLcdWidth;
78
    INT                     m_iLcdHeight;
79
    TCHAR                   m_chFriendlyName[MAX_PATH];
80
    CLCDOutput              m_output;
81
    CEzLcdPage  *           m_pActivePage;
82
    LCD_PAGE_LIST           m_LCDPageList;
83
    INT                     m_iPageCount;		// How many pages are there
84
    INT                     m_iCurrentPageNumberShown;
85
    BOOL                    m_bInitNeeded;
86
    BOOL                    m_bInitSucceeded;
87
    BOOL                    m_bButtonIsPressed[NUMBER_SOFT_BUTTONS];
88
    BOOL                    m_bButtonWasPressed[NUMBER_SOFT_BUTTONS];
89
    lgLcdConfigureContext * m_pConfigContext;
90
    BOOL                    m_bIsPersistent;
91
    BOOL                    m_bIsAutoStartable;	
92
};
93
 
94
 
95
#endif