//************************************************************************
// The Logitech LCD SDK, including all acompanying documentation,
// is protected by intellectual property laws. All use of the Logitech
// LCD SDK is subject to the License Agreement found in the
// "Logitech LCD SDK License Agreement" file and in the Reference Manual.
// All rights not expressly granted by Logitech are reserved.
//************************************************************************
//************************************************************************
//
// LCDPopup.h
//
// Color LCD Popup class
//
// Logitech LCD SDK
//
// Copyright 2010 Logitech Inc.
//************************************************************************
#ifndef _LCDPOPUP_H_INCLUDED_
#define _LCDPOPUP_H_INCLUDED_
#include "LCDPage.h"
#include "LCDText.h"
#include "LCDBitmap.h"
#define LCDIU_GDIPLUS_ENABLE 0 // MPC-BE no longer uses GDI+
//************************************************************************
//
// CLCDPopupBackground
//
//************************************************************************
class CLCDPopupBackground : public CLCDBase
{
public:
CLCDPopupBackground(void);
virtual ~CLCDPopupBackground(void);
void SetAlphaLevel(BYTE cAlphaStart, BYTE cAlphaEnd = 0xff);
void SetGradientMode(BOOL bGradient);
void SetColor(COLORREF cfColor);
void SetRoundedRecteRadius(int nRadius);
public:
virtual void OnDraw(CLCDGfxBase &rGfx);
virtual void SetSize(int nCX, int nCY);
private:
void RecalcRoundedRectangle(void);
BYTE m_cAlphaStart, m_cAlphaEnd;
COLORREF m_cfColor;
BOOL m_bUseGradient;
int m_nRectRadius;
#if LCDIU_GDIPLUS_ENABLE
Gdiplus::GraphicsPath* m_pGraphicsPath;
#endif
};
//************************************************************************
//
// CLCDPopup
//
//************************************************************************
class CLCDPopup : public CLCDPage
{
public:
enum PB_TYPE { PB_TEXT, PB_OK, PB_OKCANCEL, PB_OKCANCEL_TEXT };
public:
CLCDPopup(void);
virtual HRESULT Initialize(int nMaxPopupWidth = 0);
void SetText(LPCTSTR szMessage, LPCTSTR szOK = NULL, LPCTSTR szCancel = NULL);
void SetPopupType(PB_TYPE pbType);
void SetBitmaps(HBITMAP hbmOK, HBITMAP hbmCancel = NULL);
void SetAlpha(BYTE cAlphaStart, BYTE cAlphaEnd = 0xff);
void SetGradientMode(BOOL bGradient);
void SetColor(COLORREF cfColor);
protected:
void RecalcLayout(void);
// Resizes automatically, so this is now private
virtual void SetSize(int nCX, int nCY);
CLCDText m_MessageText, m_OKText, m_CancelText;
CLCDPopupBackground m_Background;
int m_nMaxPopupWidth;
private:
CLCDBitmap m_OKBitmap, m_CancelBitmap;
PB_TYPE m_pbType;
};
#endif
//** end of LCDPopup.h ***************************************************
↑ V762 It is possible a virtual function was overridden incorrectly. See first argument of function 'Initialize' in derived class 'CLCDPopup' and base class 'CLCDBase'.