/** * @file XTPMarkupLine.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(__XTPMARKUPLINE_H__) # define __XTPMARKUPLINE_H__ /** @endcond */ # if _MSC_VER > 1000 # pragma once # endif // _MSC_VER > 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" class CXTPMarkupDrawingContext; class CXTPMarkupInputElement; class _XTP_EXT_CLASS CXTPMarkupLine : public CXTPMarkupShape { /** @cond */ DECLARE_MARKUPCLASS(CXTPMarkupLine) /** @endcond */ protected: CXTPMarkupLine(); ~CXTPMarkupLine(); public: int GetX1() const; int GetX2() const; int GetY1() const; int GetY2() const; void SetX1(int nValue); void SetX2(int nValue); void SetY1(int nValue); void SetY2(int nValue); protected: virtual CSize MeasureOverride(CXTPMarkupDrawingContext* pDC, CSize szAvailableSize); virtual void OnRender(CXTPMarkupDrawingContext* pDC); virtual CXTPMarkupInputElement* InputHitTestOverride(CPoint point) const; private: void GetPoints(int& x1, int& y1, int& x2, int& y2) const; /** @cond */ public: DECLARE_DISPATCH_MAP() # ifdef _XTP_ACTIVEX DECLARE_INTERFACE_MAP() DECLARE_OLETYPELIB_EX(CXTPMarkupLine); # endif afx_msg int OleGetX1(); afx_msg void OleSetX1(int nValue); afx_msg int OleGetX2(); afx_msg void OleSetX2(int nValue); afx_msg int OleGetY1(); afx_msg void OleSetY1(int nValue); afx_msg int OleGetY2(); afx_msg void OleSetY2(int nValue); /** @endcond */ public: static CXTPMarkupDependencyProperty* m_pX1Property; static CXTPMarkupDependencyProperty* m_pY1Property; static CXTPMarkupDependencyProperty* m_pX2Property; static CXTPMarkupDependencyProperty* m_pY2Property; }; AFX_INLINE void CXTPMarkupLine::SetX1(int nValue) { SetValue(m_pX1Property, new CXTPMarkupInt(nValue)); } AFX_INLINE void CXTPMarkupLine::SetX2(int nValue) { SetValue(m_pX2Property, new CXTPMarkupInt(nValue)); } AFX_INLINE void CXTPMarkupLine::SetY1(int nValue) { SetValue(m_pY1Property, new CXTPMarkupInt(nValue)); } AFX_INLINE void CXTPMarkupLine::SetY2(int nValue) { SetValue(m_pY2Property, new CXTPMarkupInt(nValue)); } # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" /** @cond */ #endif // !defined(__XTPMARKUPLINE_H__) /** @endcond */