FLImaging 7.8.25.3
GUIViewImageLayerObjectFigure.h
1#pragma once
2
3#include "GUIViewImageLayerObjectBase.h"
4
5namespace FLImaging
6{
7 namespace GUI
8 {
9 class CD2DObject;
10
11 class FL_EXPORT CGUIViewImageLayerObjectFigure : public CGUIViewImageLayerObjectBase
12 {
13 public:
14 CGUIViewImageLayerObjectFigure();
15 CGUIViewImageLayerObjectFigure(const CGUIViewImageLayerObjectFigure* pRhs);
16 CGUIViewImageLayerObjectFigure(const CGUIViewImageLayerObjectFigure& rhs);
17 virtual ~CGUIViewImageLayerObjectFigure();
18
19 virtual const CResult Assign(const CGUIViewImageLayerObjectFigure* pRhs);
20 virtual const CResult Assign(const CGUIViewImageLayerObjectFigure& rhs);
21
22 virtual CGUIViewImageLayerObjectFigure* DuplicateObject() const;
23 virtual CGUIViewImageLayerObjectFigure* CreateObject() const;
24
25 virtual void Clear() override;
26 virtual void ClearD2DGeometry();
27
28 virtual void SetLineWidth(float f32LineWidth);
29 float GetLineWidth() const;
30
31 virtual void SetRealSizeLineWidth(bool bSet);
32 virtual bool IsRealSizeLineWidth() const;
33
34 virtual void SetPenStyle(EGUIViewImagePenStyle ePenStyle);
35 EGUIViewImagePenStyle GetPenStyle() const;
36
37 virtual void SetEdgeColor(COLORREF crEdgeColor);
38 COLORREF GetEdgeColor() const;
39 D2D1_COLOR_F GetEdgeColorD2D1() const;
40 virtual void SetLineColorAlphaBlendingRatio(float f32AlphaBlendingRatio) override;
41
42 virtual void GetRect(Foundation::CFLRect<double>& flr) const;
43 virtual void GetRectIncludingLineWidth(Foundation::CFLRect<double>& flr) const;
44
45 virtual const CResult Set(const Foundation::CFLFigureAttributeBasic* pAttr);
46 virtual bool SetFigure(const Foundation::CFLFigure& flfFigure) override;
47 virtual bool SetFigure(const Foundation::CFLFigure* pFlfFigure, bool bRefFigure = false) override;
48 virtual bool IsXorOperationNeeded() const;
49
50 public:
51 float m_f32LineWidth;
52 bool m_bRealSizeLineWidth;
53 bool m_bXorOperationNeeded;
54 EGUIViewImagePenStyle m_ePenStyle;
55
56 COLORREF m_crEdgeColor;
57 D2D1_COLOR_F m_d2dcEdgeColor;
58
59 D2D1_RECT_F* m_pD2DRect;
60 D2D1_ELLIPSE* m_pD2DEll;
61 D2D1_POINT_2F* m_pD2DPt1;
62 D2D1_POINT_2F* m_pD2DPt2;
63
64 ID2D1Geometry* m_pGeometry;
65 ID2D1Geometry* m_pGeometryPoints;
66 std::vector<ID2D1Geometry*> m_vctGeometryPoints;
67 std::vector<ID2D1Geometry*> m_vctGeometryNonFillFigures;
68
69 friend class CGUIViewImageLayer;
70 friend class CGUIViewGraphLayer;
71 };
72 }
73}
74
Definition D2DObject.h:12
EGUIViewImagePenStyle
Pen Style in Image View.
Definition DefinitionsGUI.h:9129
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
Definition DefinitionsGUIView3D.h:3531
@ Clear
Clear all the figure objects.
Definition DefinitionsGUI.h:5083