/* * * ChartAxisLabel.h * * Written by Cédric Moonen (cedric_moonen@hotmail.com) * * * * This code may be used for any non-commercial and commercial purposes in a compiled form. * The code may be redistributed as long as it remains unmodified and providing that the * author name and this disclaimer remain intact. The sources can be modified WITH the author * consent only. * * This code is provided without any garanties. I cannot be held responsible for the damage or * the loss of time it causes. Use it at your own risks * * An e-mail to notify me that you are using this code is appreciated also. * * */ #if !defined(AFX_CHARTAXISLABEL_H__0E5519C8_A2F4_4CED_9681_32A56B25D0C5__INCLUDED_) #define AFX_CHARTAXISLABEL_H__0E5519C8_A2F4_4CED_9681_32A56B25D0C5__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "ChartString.h" #include "ChartFont.h" class CChartCtrl; class CChartAxis; //! Draws the label of an axis /** The label axis is displayed under or next to the tick values. The label is retrieved by calling CChartAxis::GetAxisLabel. **/ class CChartAxisLabel { friend CChartAxis; public: //! Sets the text of the axis label. void SetText(const TChartString& NewText); //! Retrieves the text of the axis label. TChartString GetText() const { return m_strLabelText; } //! Sets the font of the text. /** @param nPointSize The font point size. @param strFaceName The font face name ("Times New Roman", "Arial", ...) **/ void SetFont(int nPointSize, const TChartString& strFaceName); //! Sets the font of the text. /** This function allows to set extended font style by passing a CChartFont object. @param newFont The new font. **/ void SetFont(const CChartFont& newFont); //! Shows/hides the title. void SetVisible(bool bVisible); //! Returns true if the title is visible. bool IsVisible() const { return m_bIsVisible; } //! Retrieves the text color. COLORREF GetColor() const { return m_TextColor; } //! Sets the text color. void SetColor(COLORREF NewColor); private: //! Constructor CChartAxisLabel(); //! Destructor virtual ~CChartAxisLabel(); //! Sets in horizontal or vertical mode. void SetHorizontal(bool bHorizontal); //! Sets the position of the label. void SetPosition(int LeftBorder, int TopBorder, CDC *pDC); //! Draws the label. void Draw(CDC* pDC); //! Retrieves the size of the label. CSize GetSize(CDC* pDC) const; //! The parent charting control. CChartCtrl* m_pParentCtrl; //! Specifies if the label is visible or not. bool m_bIsVisible; //! The rectangle in which the label is displayed. CRect m_TextRect; //! The text color. COLORREF m_TextColor; //! Specifies if the axis is horizontal or not. bool m_bIsHorizontal; //! The font used for the text label. CChartFont m_Font; //! The string to display for the label. TChartString m_strLabelText; }; #endif // !defined(AFX_CHARTAXISLABEL_H__0E5519C8_A2F4_4CED_9681_32A56B25D0C5__INCLUDED_)