152 lines
6.4 KiB
C++
152 lines
6.4 KiB
C++
// XTSkins.h : header file
|
|
//
|
|
// This file is a part of the Xtreme Toolkit for MFC.
|
|
// ©1998-2003 Codejock Software, All Rights Reserved.
|
|
//
|
|
// This source code can only be used under the terms and conditions
|
|
// outlined in the accompanying license agreement.
|
|
//
|
|
// support@codejock.com
|
|
// http://www.codejock.com
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(__XTSKINS_H__)
|
|
#define __XTSKINS_H__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
// forwards
|
|
|
|
class CXTToolBar;
|
|
class CXTFlatEdit;
|
|
class CXTFlatComboBox;
|
|
class CXTCommandsListBox;
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
// Summary: IXTFlatComboProxy is a stand alone interface class. It is an API for
|
|
// skin related operations for a flat combo.
|
|
interface IXTFlatComboProxy
|
|
{
|
|
// Input: pCombo - CXTFlatComboBox pointer to the combo to draw.
|
|
// pDC - CDC pointer to the device context to render on.
|
|
// bHilight - Flag that tells if the combo must be highlighted.
|
|
// Summary: This member function renders the appearance of the combo box.
|
|
virtual void DrawCombo(CXTFlatComboBox* pCombo,CDC* pDC,BOOL bHilight) = 0;
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
// Summary: IXTFlatEditProxy is a stand alone interface class. It is an API for
|
|
// skin related operations for a flat edit.
|
|
interface IXTFlatEditProxy
|
|
{
|
|
|
|
// Input: pCombo - CXTFlatEdit pointer to the combo to draw.
|
|
// pDC - CDC pointer to the device context to render on.
|
|
// bHilight - Flag that tells if the combo must be highlighted.
|
|
// Summary: This member function renders the appearance of the combo box.
|
|
virtual void DrawEdit(CXTFlatEdit* pCombo,CDC* pDC,BOOL bHilight) = 0;
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
// Summary: IXTToolbarProxy is a stand alone interface class. It is used to create
|
|
// an API for skin related operations for a toolbar item.
|
|
interface IXTToolbarProxy
|
|
{
|
|
|
|
// Input: pDC - CDC pointer to the device context to draw on.
|
|
// pOwner - CXTToolBar pointer to a toolbar whose item is being drawn.
|
|
// nIndex - Index of the item (a button) to draw.
|
|
// Summary: This member function fills in a rectangle allocated to a toolbar control.
|
|
virtual void FillControlRect(CDC* pDC,CXTToolBar* pOwner,UINT nIndex) = 0;
|
|
|
|
// Input: pDC - CDC pointer to the device context to draw on.
|
|
// pOwner - CXTToolBar pointer to a toolbar whose item is being drawn.
|
|
// nIndex - Index of the item (a button) to draw.
|
|
// Returns: TRUE if the item has been drawn, or returns FALSE otherwise.
|
|
// Summary: This member function draws a toolbar item.
|
|
virtual BOOL DrawButton(CDC* pDC,CXTToolBar* pOwner,UINT nIndex) = 0;
|
|
|
|
// Input: pDC - CDC pointer to the device context to draw on.
|
|
// pOwner - CXTToolBar pointer to a toolbar whose item is being drawn.
|
|
// nIndex - Index of the item (separator) to draw.
|
|
// Summary: This member function draws a toolbar separator.
|
|
virtual void DrawSeparator(CDC* pDC,CXTToolBar* pOwner,UINT nIndex) = 0;
|
|
|
|
// Input: pDC - CDC pointer to the device context to draw on.
|
|
// pOwner - CXTToolBar pointer to a toolbar whose item is being drawn.
|
|
// nIndex - Index of the item (button) to draw.
|
|
// Summary: This member function draws special effects for a dropped item (shadow).
|
|
virtual void DrawDroppedEffects(CDC* pDC,CXTToolBar* pOwner,UINT nIndex) = 0;
|
|
|
|
// Input: pOwner - CXTToolBar pointer to a toolbar that needs to be refreshed.
|
|
// nIndex - Index of the item (button) to refresh.
|
|
// Summary: This member function removes special effects around a selected item.
|
|
virtual void RemoveDroppedEffects(CXTToolBar* pOwner,UINT nIndex) = 0;
|
|
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
// Summary: IXTCommandsListBoxProxy is a stand alone interface class. It is used to create
|
|
// an API for skin related operations for the commands list box.
|
|
interface IXTCommandsListBoxProxy
|
|
{
|
|
|
|
// Input: lpDIS - LPDRAWITEMSTRUCT pointer that contains information about the
|
|
// item being drawn.
|
|
// pOwner - CXTCommandsListBox pointer to the commands list box whose item
|
|
// is being drawn.
|
|
// Summary: This member function draws each item in the commands list box.
|
|
virtual void OnDrawItem(LPDRAWITEMSTRUCT lpDIS,CXTCommandsListBox* pOwner) = 0;
|
|
|
|
// Input: pOwner - CXTCommandsListBox pointer to the commands list box that needs
|
|
// to be refreshed.
|
|
// Summary: This member function paints the background and handles default
|
|
// drawing for the commands list box.
|
|
virtual void OnPaint(CXTCommandsListBox* pOwner) = 0;
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
// Summary: IXTSkin is a stand alone interface class. It is used to create a skin
|
|
// for rendering UI elements.
|
|
interface IXTSkin
|
|
{
|
|
|
|
// Returns: A proxy for drawing a flat edit control.
|
|
// Summary: This member function is used to get a proxy for drawing a flat edit
|
|
// control. Implementation can return NULL to indicate default control
|
|
// behavior shall be used.
|
|
virtual IXTFlatEditProxy* GetFlatEditProxy() = 0;
|
|
|
|
// Returns: A proxy for drawing a flat combo box.
|
|
// Summary: This member function is used to get a proxy for drawing a flat combo
|
|
// box. Implementation can return NULL to indicate default control behavior
|
|
// shall be used.
|
|
virtual IXTFlatComboProxy* GetFlatComboProxy() = 0;
|
|
|
|
// Returns: A proxy for drawing a toolbar button.
|
|
// Summary: This member function is used to get a proxy for drawing a toolbar
|
|
// button. Implementation can return NULL to indicate default control
|
|
// behaviour shall be used.
|
|
virtual IXTToolbarProxy* GetToolbarProxy() = 0;
|
|
|
|
// Returns: A proxy for drawing a commands list box.
|
|
// Summary: This member function is used to get a proxy for drawing a commands list box
|
|
// control. Implementation can return NULL to indicate default control
|
|
// behavior shall be used.
|
|
virtual IXTCommandsListBoxProxy* GetCommandsListBoxProxy() = 0;
|
|
|
|
// Input: bTracking - Flag designating current operation state. TRUE if tracking
|
|
// toolbar is pending, or FALSE otherwise.
|
|
// Summary: This member function notifies that a toolbar is currently being
|
|
// dragged or resized.
|
|
virtual void NotifyToolbarTracking(BOOL bTracking) = 0;
|
|
|
|
// Returns: An IXTSkin pointer.
|
|
// Summary: This member function is a singleton type instantiation.
|
|
static _XT_EXT_CLASS IXTSkin* GetInstance();
|
|
};
|
|
|
|
#endif // !defined(__XTSKINS_H__)
|