/** * @file XTPMarkupShape.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(__XTPMARKUPSHAPE_H__) # define __XTPMARKUPSHAPE_H__ /** @endcond */ # if _MSC_VER > 1000 # pragma once # endif // _MSC_VER > 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" class CXTPMarkupBrush; class CXTPMarkupStrokeStyle; class CXTPMarkupDoubleCollection; class CXTPMarkupBuilder; class CXTPMarkupObject; class CXTPMarkupDependencyProperty; enum XTPMarkupStretch { xtpMarkupStretchNone, xtpMarkupStretchFill, xtpMarkupStretchUniform, xtpMarkupStretchUniformToFill }; class _XTP_EXT_CLASS CXTPMarkupShape : public CXTPMarkupFrameworkElement { /** @cond */ DECLARE_MARKUPCLASS(CXTPMarkupShape) /** @endcond */ protected: CXTPMarkupShape(); virtual ~CXTPMarkupShape(); public: void SetFill(CXTPMarkupBrush* pBrush); CXTPMarkupBrush* GetFill() const; void SetStroke(CXTPMarkupBrush* pBrush); CXTPMarkupBrush* GetStroke() const; void SetStrokeThickness(int nThickness); int GetStrokeThickness() const; XTPMarkupStretch GetStretch() const; CXTPMarkupDoubleCollection* GetStrokeDashArray() const; void SetStrokeDashArray(CXTPMarkupDoubleCollection* pStrokeDashArray); void GetStrokeStyle(CXTPMarkupStrokeStyle* pStrokeStyle) const; XTPMarkupLineCap GetStrokeStartLineCap() const; void SetStrokeStartLineCap(XTPMarkupLineCap nLineCap); XTPMarkupLineCap GetStrokeEndLineCap() const; void SetStrokeEndLineCap(XTPMarkupLineCap nLineCap); XTPMarkupLineJoin GetStrokeLineJoin() const; void SetStrokeLineJoin(XTPMarkupLineJoin nLineJoin); XTPMarkupSmoothingMode GetSmoothingMode() const; void SetSmoothingMode(XTPMarkupSmoothingMode smoothingMode); public: static CXTPMarkupObject* AFX_CDECL ConvertLineCap(CXTPMarkupBuilder* pBuilder, CXTPMarkupObject* pObject, CXTPMarkupDependencyProperty* pAssociatedProperty = NULL); static CXTPMarkupObject* AFX_CDECL ConvertLineJoin(CXTPMarkupBuilder* pBuilder, CXTPMarkupObject* pObject, CXTPMarkupDependencyProperty* pAssociatedProperty = NULL); static CXTPMarkupObject* AFX_CDECL ConvertSmoothing(CXTPMarkupBuilder* pBuilder, CXTPMarkupObject* pObject, CXTPMarkupDependencyProperty* pAssociatedProperty = NULL); /** @cond */ public: DECLARE_DISPATCH_MAP() # ifdef _XTP_ACTIVEX DECLARE_INTERFACE_MAP() DECLARE_OLETYPELIB_EX(CXTPMarkupShape); # endif afx_msg LPDISPATCH OleGetFill(); afx_msg void OleSetFill(LPDISPATCH lpBackground); afx_msg LPDISPATCH OleGetStroke(); afx_msg void OleSetStroke(LPDISPATCH lpBackground); afx_msg int OleGetStrokeThickness(); afx_msg void OleSetStrokeThickness(int lpThickness); afx_msg int OleGetStrokeStartLineCap(); afx_msg void OleSetStrokeStartLineCap(int nValue); afx_msg int OleGetStrokeEndLineCap(); afx_msg void OleSetStrokeEndLineCap(int nValue); afx_msg int OleGetStrokeLineJoin(); afx_msg void OleSetStrokeLineJoin(int nValue); afx_msg LPDISPATCH OleGetStrokeDashArray(); afx_msg void OleSetStrokeDashArray(LPDISPATCH lpValue); /** @endcond */ public: static CXTPMarkupDependencyProperty* m_pStrokeProperty; static CXTPMarkupDependencyProperty* m_pFillProperty; static CXTPMarkupDependencyProperty* m_pStrokeThicknessProperty; static CXTPMarkupDependencyProperty* m_pStretchProperty; static CXTPMarkupDependencyProperty* m_pStrokeDashArrayProperty; static CXTPMarkupDependencyProperty* m_pStrokeStartLineCapProperty; static CXTPMarkupDependencyProperty* m_pStrokeEndLineCapProperty; static CXTPMarkupDependencyProperty* m_pStrokeLineJoinProperty; static CXTPMarkupDependencyProperty* m_pSmoothingMode; static CXTPMarkupDependencyProperty* m_pPropertyStrokeMiterLimit; }; # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" /** @cond */ #endif // !defined(__XTPMARKUPSHAPE_H__) /** @endcond */