/** * @file XTPChartTransformationDeviceCommand.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(__XTPCHARTTRANSFORMATIONDEVICECOMMAND_H__) # define __XTPCHARTTRANSFORMATIONDEVICECOMMAND_H__ /** @endcond */ # if _MSC_VER >= 1000 # pragma once # endif // _MSC_VER >= 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" /** * @brief * Base class implementation for 2D chart clipping device command. */ class _XTP_EXT_CLASS CXTPChartClipDeviceCommand : public CXTPChartDeviceCommand { protected: /** * @brief * Constructs a CXTPChartClipDeviceCommand object. * @param rcClip Clip rectangle. */ CXTPChartClipDeviceCommand(CRect rcClip); protected: CRect m_rcClip; /**< The clipping rectangle.*/ }; /** * @brief * Base class implementation for 2D chart rotation device command. */ class _XTP_EXT_CLASS CXTPChartRotateDeviceCommand : public CXTPChartDeviceCommand { protected: /** * @brief * Constructs a CXTPChartRotateDeviceCommand object. * * @param fAngle The angle of rotation. */ CXTPChartRotateDeviceCommand(float fAngle); /** * @brief * Constructs a CXTPChartRotateDeviceCommand object. * * @param fAngle The angle of rotation. * @param rotateVector The vector to be rotated. */ CXTPChartRotateDeviceCommand(float fAngle, const CXTPPoint3d& rotateVector); /** * @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: float m_fAngle; /**< The angle of rotation.*/ CXTPPoint3d m_ptRotateVector; /**< The rotation vector.*/ }; /** * @brief * Base class implementation for 3D chart rotation device command. */ class _XTP_EXT_CLASS CXTPChart3dRotateDeviceCommand : public CXTPChart3dDeviceCommand { public: /** * @brief * Constructs a CXTPChart3dRotateDeviceCommand object. * * @param rotation Rotation parameters. */ CXTPChart3dRotateDeviceCommand(const CXTPChart3dRotation& rotation); /** * @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: CXTPChart3dRotation m_rotation; /**< Rotation parameters.*/ }; /** * @brief * Base class implementation for 2D chart translation device command. */ class _XTP_EXT_CLASS CXTPChartTranslateDeviceCommand : public CXTPChartDeviceCommand { public: /** * @brief * Constructs a CXTPChartTranslateDeviceCommand object. * * @param dx The change in X direction * @param dy The change in Y direction */ CXTPChartTranslateDeviceCommand(double dx, double dy); protected: double m_dx; /**< The change in X direction.*/ double m_dy; /**< The change in Y direction.*/ }; /** * @brief * Base class implementation for 3D chart translation device command. */ class _XTP_EXT_CLASS CXTPChart3dTranslateDeviceCommand : public CXTPChart3dDeviceCommand { public: /** * @brief * Constructs a CXTPChartTranslateDeviceCommand object. * * @param dx The change in X direction * @param dy The change in Y direction * @param dz The change in Z direction */ CXTPChart3dTranslateDeviceCommand(double dx, double dy, double dz); protected: double m_dx; /**< The change in X direction.*/ double m_dy; /**< The change in Y direction.*/ double m_dz; /**< The change in Z direction.*/ }; /** @cond */ # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" #endif //#if !defined(__XTPCHARTTRANSFORMATIONDEVICECOMMAND_H__) /** @endcond */