/** * @file XTPChartStepAreaSeriesStyle.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(__XTPCHARTStepAreaSERIESSTYLE_H__) # define __XTPCHARTStepAreaSERIESSTYLE_H__ /** @endcond */ # if _MSC_VER >= 1000 # pragma once # endif // _MSC_VER >= 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" class CXTPChartSeriesView; class CXTPChartStepAreaStyle; /** * @brief * This class represents a StepArea series style, which is a kind of * CXTPChartAreaSeriesStyle. * * @details * A Step Line chart or StepArea graph is a type of graph which displays information * as a series of data points connected by straight Step Line segments. It is a * basic type of chart common in many fields. */ class _XTP_EXT_CLASS CXTPChartStepAreaSeriesStyle : public CXTPChartAreaSeriesStyle { /** @cond */ DECLARE_SERIAL(CXTPChartStepAreaSeriesStyle) /** @endcond */ public: /** * @brief * Constructs a CXTPChartStepAreaSeriesStyle object. */ CXTPChartStepAreaSeriesStyle(); /** * @brief * Destroys a CXTPChartStepAreaSeriesStyle object, handles cleanup. */ virtual ~CXTPChartStepAreaSeriesStyle(); public: BOOL GetInvertedStep() const; void SetInvertedStep(BOOL bInvertedStep); protected: /** * @brief * Call this function to create a view of the StepArea series. * * @param pSeries A pointer to chart series object. * @param pDiagramView A pointer to the diagram view object. * * @return * A pointer to CXTPChartStepAreaSeriesView object which is a kind of * CXTPChartSeriesView. */ virtual CXTPChartSeriesView* CreateView(CXTPChartSeries* pSeries, CXTPChartDiagramView* pDiagramView); void DoPropExchange(CXTPPropExchange* pPX); # ifdef _XTP_ACTIVEX public: /** @cond */ DECLARE_DISPATCH_MAP() DECLARE_INTERFACE_MAP() DECLARE_OLETYPELIB_EX(CXTPChartStepAreaSeriesStyle); DECLARE_OLECREATE_EX(CXTPChartStepAreaSeriesStyle) LPDISPATCH OleGetStepAreaStyle(); /** @endcond */ # endif protected: BOOL m_bInvertedStep; }; /** * @brief * This class represents the view of a StepArea series, which is a kind of * CXTPChartSeriesView. */ class _XTP_EXT_CLASS CXTPChartStepAreaSeriesView : public CXTPChartAreaSeriesView { public: /** * @brief * Constructs a CXTPChartStepAreaSeriesView object. * * @param pSeries A pointer to the chart series object. * @param pDiagramView A pointer to the diagram view object. */ CXTPChartStepAreaSeriesView(CXTPChartSeries* pSeries, CXTPChartDiagramView* pDiagramView); protected: /** * @brief * This function creates a CXTPChartDeviceCommand object. This object * represents the rendering of a StepArea series. * * @param pDC Pointer to a CXTPChartDeviceContext object. * * @return * Returns a CXTPChartDeviceCommand object. This object handles * the rendering of an element in the chart. Here it handles * the drawing of the StepArea series. */ virtual CXTPChartDeviceCommand* CreateDeviceCommand(CXTPChartDeviceContext* pDC); }; AFX_INLINE BOOL CXTPChartStepAreaSeriesStyle::GetInvertedStep() const { return m_bInvertedStep; } AFX_INLINE void CXTPChartStepAreaSeriesStyle::SetInvertedStep(BOOL bInvertedStep) { m_bInvertedStep = bInvertedStep; OnChartChanged(); } /** @cond */ # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" #endif //#if !defined(__XTPCHARTStepAreaSERIESSTYLE_H__) /** @endcond */