/** * @file XTPChartContentView.h * * @copyright * (c) 1998-2025 Codejock Software, All Rights Reserved. * * This source file is the property of Codejock Software and must not be * redistributed by any means without the explicit written permission of * Codejock Software. * * The use of this source code is governed by the terms and conditions specified * in the Toolkit Pro license agreement. Codejock Software grants you, as a * single software developer, the limited right to use this software on one * computer only. * * Contact Information: * support@codejock.com * http://www.codejock.com * */ /** @cond */ #if !defined(__XTPCHARTCONTENTVIEW_H__) # define __XTPCHARTCONTENTVIEW_H__ /** @endcond */ # if _MSC_VER >= 1000 # pragma once # endif // _MSC_VER >= 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" class CXTPChartDeviceContext; class CXTPChartDiagram; class CXTPChartTitleCollection; class CXTPChartElementView; class CXTPChartSeriesCollection; class CXTPChartLegend; class CXTPChartPanelCollection; class CXTPChartSeries; class CXTPChartAppearance; class CXTPChartLegendView; class CXTPPropExchange; class CXTPMarkupContext; class CXTPChartContentView; class CXTPChartDiagramView; class CXTPChartBorder; class CXTPChartDeviceCommand; /** * @brief * This class represents the view of the chart content, which is a kind of * CXTPChartElementView. */ class _XTP_EXT_CLASS CXTPChartContentView : public CXTPChartElementView { public: /** * @brief * Constructs a CXTPChartContentView object. * * @param pContainer Pointer to a chart container object. * @param pContent Pointer to a chart content object. */ CXTPChartContentView(CXTPChartContainer* pContainer, CXTPChartContent* pContent); /** * @brief * Call this function to create various child view objects which * constitute the view of the chart content. * * @param pDC Pointer to a chart device context. */ void CreateView(CXTPChartDeviceContext* pDC); /** * @brief * Call this function to calculate the view/layout of the chart content * with respect to a bounding rectangle. * * @param pDC Pointer to a chart device context. * @param rcBounds The bounding rectangle. */ void CalculateView(CXTPChartDeviceContext* pDC, CRect rcBounds); /** * @brief * Call this function to get the legend view object associated with this * object. * * @return * Pointer to a chart legend view object. */ CXTPChartLegendView* GetLegendView() const; public: /** * @brief * Call this function to determine the current DiagramView under point. * * @param pt Position to hit test. * * @return * Pointer to a CXTPChartDiagramView view object. */ CXTPChartDiagramView* HitTestDiagramView(CPoint pt) const; public: /** * @brief * Call this function to create the device command for this object. * * @param pDC The device context. * * @return * A pointer to a chart device context object. */ virtual CXTPChartDeviceCommand* CreateDeviceCommand(CXTPChartDeviceContext* pDC); protected: CRect m_rcBounds; /**< The bounds.*/ CXTPChartContent* m_pContent; /**< The chart content.*/ public: CXTPChartLegendView* m_pLegendView; /**< The legend view.*/ CXTPChartElementView* m_pTitlesView; /**< The titles view.*/ CXTPChartElementView* m_pDiagramView; /**< The diagram view.*/ }; /** @cond */ # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" #endif //#if !defined(__XTPCHARTCONTENTVIEW_H__) /** @endcond */