/** * @file XTPMarkupSkewTransform.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(__XTPMARKUPSKEWTRANSFORM_H__) # define __XTPMARKUPSKEWTRANSFORM_H__ /** @endcond */ # if _MSC_VER > 1000 # pragma once # endif // _MSC_VER > 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" class CXTPMarkupTransformationMatrix; class CXTPMarkupDependencyProperty; /** * @brief * Default SkewTransform implementation. */ class _XTP_EXT_CLASS CXTPMarkupSkewTransform : public CXTPMarkupTransform { /** @cond */ DECLARE_MARKUPCLASS(CXTPMarkupSkewTransform); /** @endcond */ public: /** * @brief * Gets the angle X value. * @return * The angle X value. */ double GetAngleX() const; /** * @brief * Sets the angle X value. * @param angleX New angle X value. */ void SetAngleX(double angleX); /** * @brief * Gets the angle Y value. * @return * The angle Y value. */ double GetAngleY() const; /** * @brief * Sets the angle Y value. * @param angleY New angle Y value. */ void SetAngleY(double angleY); /** * @brief * Gets the center X value. * @return * The center X value. */ double GetCenterX() const; /** * @brief * Sets the center X value. * * @param centerX New center X value. */ void SetCenterX(double centerX); /** * @brief * Gets the center Y value. * @return * The center Y value. */ double GetCenterY() const; /** * @brief * Sets the center Y value. * @param centerY New center Y value. */ void SetCenterY(double centerY); /** * @brief * Does nothing in default implementation. * @param pMatrix Pointer to a markup transformation matrix to be transformed. * @return * NULL in default implementation. */ virtual CXTPMarkupTransformationMatrix* ApplyTransform(const CXTPMarkupTransformationMatrix* pMatrix); private: DECLARE_DISPATCH_MAP(); afx_msg double OleGetAngleX(); afx_msg void OleSetAngleX(double angleX); afx_msg double OleGetAngleY(); afx_msg void OleSetAngleY(double angleY); afx_msg double OleGetCenterX(); afx_msg void OleSetCenterX(double centerX); afx_msg double OleGetCenterY(); afx_msg void OleSetCenterY(double centerY); public: static CXTPMarkupDependencyProperty* m_pPropertyAngleX; /**< AngleX property. */ static CXTPMarkupDependencyProperty* m_pPropertyAngleY; /**< AngleY property. */ static CXTPMarkupDependencyProperty* m_pPropertyCenterX; /**< CenterX property. */ static CXTPMarkupDependencyProperty* m_pPropertyCenterY; /**< CenterY property. */ }; # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" /** @cond */ #endif // !defined(__XTPMARKUPSKEWTRANSFORM_H__) /** @endcond */