Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#ifndef EZLCD_H_INCLUDED_
#define EZLCD_H_INCLUDED_
#include "LCDManager.h"
#include "LCDOutput.h"
#include "EZ_LCD_Defines.h"
#include "EZ_LCD_Page.h"
class CEzLcd
{
public:
CEzLcd();
~CEzLcd();
CEzLcd(LPCTSTR pFriendlyName,
INT iWidth = LCD_DEFAULT_WIDTH,
INT iHeight = LCD_DEFAULT_HEIGHT);
HRESULT InitYourself(LPCTSTR pFriendlyName,
BOOL bIsAutoStartable = FALSE,
BOOL bIsPersistent = FALSE,
lgLcdConfigureContext * pConfigContext = NULL,
INT iWidth = LCD_DEFAULT_WIDTH,
INT iHeight = LCD_DEFAULT_HEIGHT);
// Adds one page
INT AddNewPage(VOID);
// Removes a page
INT RemovePage(INT iPageNumber);
// Returns the total number of pages
INT GetPageCount(VOID);
// Adds iNumberOfPages to the total of pages you've created
INT AddNumberOfPages(INT iNumberOfPages);
// Call this method prior to adjusting any control on a page
BOOL ModifyControlsOnPage(INT iPageNumber);
// Call this method to show a certain page on the LCD
BOOL ShowPage(INT iPageNumber);
// The methods below are used to add or modify a control on a certain page. Method
// ModifyControlsOnPage(INT pageNumber) must be called prior to using any of the following
// methods.
HANDLE AddText(LGObjectType type, LGTextSize size, INT iAlignment, INT iMaxLengthPixels);
HANDLE AddText(LGObjectType type, LGTextSize size, INT iAlignment, INT iMaxLengthPixels, INT iNumberOfLines);
HRESULT SetText(HANDLE hHandle, LPCTSTR pText);
HRESULT SetText(HANDLE hHandle, const std::string &pText);
HANDLE AddIcon(HICON hIcon, INT iSizeX, INT iSizeY);
HANDLE AddProgressBar(LGProgressBarType type);
HRESULT SetProgressBarPosition(HANDLE hHandle, FLOAT fPercentage);
HRESULT SetProgressBarSize(HANDLE hHandle, INT iWidth, INT iHeight);
HANDLE AddBitmap();
HRESULT SetBitmap(HANDLE hHandle, HBITMAP hBitmap);
HRESULT SetOrigin(HANDLE hHandle, INT iOriginX, INT iOriginY);
HRESULT SetVisible(HANDLE hHandle, BOOL bVisible);
HRESULT SetSpeed(HANDLE hHandle, DWORD speed);
BOOL IsConnected();
HRESULT SetAsForeground(BOOL bSetAsForeground);
HRESULT SetScreenPriority(DWORD dwPriority);
BOOL ButtonTriggered(INT iButton);
BOOL ButtonReleased(INT iButton);
BOOL ButtonIsPressed(INT iButton);
VOID Update();
virtual void OnLCDButtonDown(INT iButton);
virtual void OnLCDButtonUp(INT iButton);
protected:
INT m_iLcdWidth;
INT m_iLcdHeight;
TCHAR m_chFriendlyName[MAX_PATH];
CLCDOutput m_output;
CEzLcdPage * m_pActivePage;
LCD_PAGE_LIST m_LCDPageList;
INT m_iPageCount; // How many pages are there
INT m_iCurrentPageNumberShown;
BOOL m_bInitNeeded;
BOOL m_bInitSucceeded;
BOOL m_bButtonIsPressed[NUMBER_SOFT_BUTTONS];
BOOL m_bButtonWasPressed[NUMBER_SOFT_BUTTONS];
lgLcdConfigureContext * m_pConfigContext;
BOOL m_bIsPersistent;
BOOL m_bIsAutoStartable;
};
#endif