MKI_DISPLAYDATA (Basic Classes) Changed in Version 2023.0

www.CAD6.com

C++ Syntax

class MKI_DISPLAYDATA

{

  public:

 

  void* m_pEngine;

  MKI_D2D_CONTEXT m_pDC;

  MKI_ENTITY_PTR m_pEntity;

  HWND m_hDrawWnd;

  HDC m_hDrawDC;

  MKI_INTRECT m_cDrawRect,

              m_cViewRect;

  MKI_XPROPERTY m_cXProperty;

  MKI_MATRIX m_cMatrix;

  __int32 m_nHighlight,

          m_nContains;

  bool m_fAnyDraw;

 

  MKI_DisplayData( void );

 

  void

  Init( void );

 

  void

  DrawCoordinatePoint(

 MKI_CONST_POINT_REF f_rPoint,

 bool f_fIsSelected,

 bool f_fIsIdle,

 bool f_fIsCustom,

 const D2D1_COLOR_F* f_pColor ); Changed in Version 2023.0

 

  void

  DrawCoordinateLine(

 MKI_CONST_POINT_REF f_rStart,

 MKI_CONST_POINT_REF f_rEnd,

 const D2D1_COLOR_F* f_pColor ); Changed in Version 2023.0

 

  void

  DrawCoordinateBezier(

 MKI_CONST_POINT_REF f_rStart,

 MKI_CONST_POINT_REF f_rPivot1,

 MKI_CONST_POINT_REF f_rPivot2,

 MKI_CONST_POINT_REF f_rEnd,

 const D2D1_COLOR_F* f_pColor ); Changed in Version 2023.0

 

  void

  DrawCoordinateCircle(

 MKI_CONST_POINT_REF f_rCenter,

 MKI_CONST_POINT_REF f_rRadius,

 const D2D1_COLOR_F* f_pColor ); Changed in Version 2023.0

 

  void

  DrawCoordinateEllipse(

 MKI_CONST_POINT_REF f_rCenter,

 MKI_CONST_POINT_REF f_rVector1,

 MKI_CONST_POINT_REF f_rVector2,

 const D2D1_COLOR_F* f_pColor ); Changed in Version 2023.0

 

  void

  DrawPixelPoint(

 double f_dX,

 double f_dY,

 bool f_fIsSelected,

 bool f_fIsIdle,

 const D2D1_COLOR_F* f_pColor ); Changed in Version 2023.0

 

  void

  DrawPixelMark(

 double f_dX,

 double f_dY,

 const D2D1_COLOR_F* f_pColor ); Changed in Version 2023.0

 

  void

  DrawPixelLine(

 double f_dX1,

 double f_dY1,

 double f_dX2,

 double f_dY2,

 const D2D1_COLOR_F& f_rColor ); Changed in Version 2023.0

 

  void

  DrawPixelEndless(

 double f_dX1,

 double f_dY1,

 double f_dX2,

 double f_dY2,

 const D2D1_COLOR_F& f_rColor ); New in Version 2023.0

 

  void

  DrawPixelBezier(

 double f_dX1,

 double f_dY1,

 double f_dX2,

 double f_dY2,

 double f_dX3,

 double f_dY3,

 double f_dX4,

 double f_dY4,

 const D2D1_COLOR_F& f_rColor ); Changed in Version 2023.0

 

  void

  DrawPixelRect(

 double f_dX1,

 double f_dY1,

 double f_dX2,

 double f_dY2,

 const D2D1_COLOR_F* f_pFillColor,

 const D2D1_COLOR_F* f_pEdgeColor ); Changed in Version 2023.0

 

  void

  DrawPixelEllipse(

 double f_dX1,

 double f_dY1,

 double f_dX2,

 double f_dY2,

 double f_dX3,

 double f_dY3,

 const D2D1_COLOR_F* f_pFillColor,

 const D2D1_COLOR_F* f_pEdgeColor ); New in Version 2023.0

 

  void

  DrawPixelPolygon(

 MKI_CONST_POINT_PTR f_pPoints,

 __int32 f_nPointCount,

 const D2D1_COLOR_F* f_pFillColor,

 const D2D1_COLOR_F* f_pEdgeColor ); Changed in Version 2023.0

 

  void

  DrawPixelPatch(

 MKI_CONST_PATCH_REF f_rPatch,

 const D2D1_COLOR_F* f_pFillColor,

 const D2D1_COLOR_F* f_pEdgeColor );

 

  __int32

  DrawPixelText(

 double f_dX,

 double f_dY,

 const LPCWSTR f_pszText,

 __int32 f_nTextMode,

 __int32 f_nTextVertical,

 const D2D1_COLOR_F& f_rTextColor,

 const D2D1_COLOR_F* f_pBackColor = nullptr ); Changed in Version 2023.0

 

  void

  DrawPixelOrigin(

 double f_dX,

 double f_dY,

 MKI_COLORVALUE f_cColor,

 const LPCWSTR f_pszText );

 

  void

  IsVisible(

 MKI_CONST_XPROPERTY_REF f_rXProperty );

 

  void

  IsPrinted(

 MKI_CONST_XPROPERTY_REF f_rXProperty );

 

  void

  IsLocked(

 MKI_CONST_XPROPERTY_REF f_rXProperty );

 

  void

  IsSnapped(

 MKI_CONST_XPROPERTY_REF f_rXProperty );

 

  void

  IsGrayed(

 MKI_CONST_XPROPERTY_REF f_rXProperty );

};

 

This structure contains information and methods required to draw object-specific feedback inside a plug-in.

 

All values except for AnyDraw must not be modified directly!

 

Element Description

Engine New in Version 2010.1

[void*] Address of the current display engine. This value must not be used or modified!

DC Changed in Version 2022.1

[MKI_D2D_CONTEXT] Current Direct2D device context of the drawing window to which the feedback data shall be drawn. Might be nullptr. If you have to alter settings of this device context, please make sure to restore them before returning!

Entity Changed in Version 2018.0

[MKI_ENTITY_PTR] Address of an entity. Its use depends on the context:

 

MKI_NOTIFY_DISPLAY_CALLBACK

Address of the display list entity that shall be displayed. Make sure that you can handle any entity type that your plug-in in might include in the display list.

 

MKI_NOTIFY_DISPLAY_EXT_START

MKI_NOTIFY_DISPLAY_EXT_END

Possible address of an instance the extended object is referenced from (for attribute access such as RefObj in MKI_ConvertVariables). May be nullptr.

 

In all other cases, Entity is nullptr and shall be ignored.

hDrawWnd

[HWND] Handle of the drawing window to which the feedback data shall be drawn.

hDrawDC

[HDC] Device context of the drawing window to which the feedback data shall be drawn. Might be nullptr. If you have to alter settings of this context, please make sure to restore them before returning!

DrawRect

[MKI_INTRECT] Rectangle of the drawing window that is used as drawing area in client pixel coordinates of that window (client rectangle minus scales, if applicable).

ViewRect

[MKI_INTRECT] Rectangle of the drawing window that shall be drawn in client pixel coordinates of that window.

XProperty New in Version 2023.0

[MKI_XPROPERTY] Accumulation of all properties that are transmitted from superordinate entities. Apply only those properties whose flag in set in XProperty.m_nFlag.

Matrix

[MKI_MATRIX] Matrix used to convert internal coordinates in [mm] into client pixel coordinates inside the drawing window.

Highlight

[__int32] Current highlighting mode for the feedback display (see MKI_HIGHLIGHT_*).

Contains New in Version 2022.1

[__int32] Indicates which types of objects are part of the current display operation (see MKI_CONTAINS_*). Only meaningful (i.e. non-zero) if the structure is passed on during a call to the MKI_PlugInNotify procedure with either MKI_NOTIFY_DISPLAY_EXIT or MKI_NOTIFY_DISPLAY_TEMP. You can use this value to decide whether specific output is useful since the respective type of entities is present at all.

AnyDraw New in Version 2022.0

[bool] Indicates if anything has been drawn yet. Will be initialized with false and automatically set to true once any member function such as DrawCoordinateLine actually draws anything in visible range. Only if AnyDraw is true, a screen refresh will occur later on (costing a significant amount of time). Only if you draw anything directly using Direct2D by means of DC (bypassing member functions such as DrawCoordinateLine), set this to true manually.

 

CAD6interface 2024.2 - Copyright 2024 Malz++Kassner® GmbH