/** * @file XTPChartCircleDeviceCommand.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(__XTPCHARTCIRCLEDEVICECOMMAND_H__) # define __XTPCHARTCIRCLEDEVICECOMMAND_H__ /** @endcond */ # if _MSC_VER >= 1000 # pragma once # endif // _MSC_VER >= 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" /** * @brief * This class is the base class for all circle device commands. */ class _XTP_EXT_CLASS CXTPChartCircleDeviceCommand : public CXTPChartDeviceCommand { protected: /** * @brief * Constructs a CXTPChartCircleDeviceCommand object. * * @param center Circle center coordinates. * @param radius Circle radius value. */ CXTPChartCircleDeviceCommand(const CXTPChartPointF& center, double radius); /** * @brief * Performs recursive hit testing of the element at the specified point. * * @param point Point in which an element is to be found. * @param pParent Parent element pointer. * * @return A pointer to the element found at the specified point or NULL * if no element is found. */ CXTPChartElement* HitTest(CPoint point, CXTPChartElement* pParent) const; protected: CXTPChartPointF m_center; /**< The center of the circle.*/ double m_radius; /**< The radius of the circle.*/ }; /** * @brief * This class represents a bounded circle device command, which is a kind of * CXTPChartDeviceCommand. It specifically handles the rendering of * circular shapes in a chart. */ class _XTP_EXT_CLASS CXTPChartBoundedCircleDeviceCommand : public CXTPChartDeviceCommand { protected: /** * @brief * Constructs a CXTPChartBoundedCircleDeviceCommand object. * * @param center The center point of the circle. * @param radius The radius of the circle. * @param color The color of boundary. * @param thickness The thickness of the boundary. */ CXTPChartBoundedCircleDeviceCommand(const CXTPChartPointF& center, double radius, const CXTPChartColor& color, int thickness); protected: CXTPChartColor m_color; /**< The color of the cirular boundary.*/ int m_thickness; /**< The thickness of the circular boundary.*/ CXTPChartPointF m_center; /**< The center point of the circle.*/ double m_radius; /**< The radius of the circle.*/ }; /** @cond */ # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" #endif //#if !defined(__XTPCHARTCIRCLEDEVICECOMMAND_H__) /** @endcond */