FLImaging 7.10.21.1
DefinitionsGUIFixedView.h
1#pragma once
2#include "DefinitionsGUI.h"
3#include <unordered_map>
4
8
10namespace FLImaging
11{
13 namespace GUI
14 {
31 {
39
48
64
73
74 EFixedViewPlacementSetSyncNumberPolicy_Count,
75 };
76
77 enum EFixedViewPropertyFlag : uint64_t
78 {
79 EFixedViewPropertyFlagViewImage_ConstantTitle,
80 EFixedViewPropertyFlagViewImage_ConfirmActions,
81
82 EFixedViewPropertyFlagViewImage_PixelAccuracyX,
83 EFixedViewPropertyFlagViewImage_PixelAccuracyY,
84 EFixedViewPropertyFlagViewImage_PixelAccuracyUnit,
85 EFixedViewPropertyFlagViewImage_ImageFigureBorderWidth,
86 EFixedViewPropertyFlagViewImage_ImageFigureOpacityBorder,
87 EFixedViewPropertyFlagViewImage_ImageFigureOpacityFill,
88 EFixedViewPropertyFlagViewImage_ImageFigureTextOpacityBorder,
89 EFixedViewPropertyFlagViewImage_ImageFigureTextOpacityFill,
90 EFixedViewPropertyFlagViewImage_ImageFigureTextFont,
91 EFixedViewPropertyFlagViewImage_ImageFigureRealSizeText,
92 EFixedViewPropertyFlagViewImage_ObjectInformationTextRealSize,
93 EFixedViewPropertyFlagViewImage_ObjectInformationTextFontSize,
94 EFixedViewPropertyFlagViewImage_FigureObjectInformationTextVisibility,
95 EFixedViewPropertyFlagViewImage_FigureObjectInformationTextOption,
96 EFixedViewPropertyFlagViewImage_FigureObjectInformationTextNotation,
97 EFixedViewPropertyFlagViewImage_FigureObjectInformationTextDecimalPlaces,
98 EFixedViewPropertyFlagViewImage_FigureObjectInformationTextNotationForPixelAccuracy,
99 EFixedViewPropertyFlagViewImage_FigureObjectInformationTextDecimalPlacesForPixelAccuracy,
100 EFixedViewPropertyFlagViewImage_FigureObjectMagnetToImage,
101 EFixedViewPropertyFlagViewImage_FigureObjectAngleMagnet,
102 EFixedViewPropertyFlagViewImage_FigureObjectFillColorAlphaRatio,
103
104 EFixedViewPropertyFlagViewImage_CreateImage_Width,
105 EFixedViewPropertyFlagViewImage_CreateImage_Height,
106 EFixedViewPropertyFlagViewImage_CreateImage_Channel,
107 EFixedViewPropertyFlagViewImage_CreateImage_SepChannel,
108 EFixedViewPropertyFlagViewImage_CreateImage_Depth,
109 EFixedViewPropertyFlagViewImage_CreateImage_ValueType,
110 EFixedViewPropertyFlagViewImage_CreateImage_AlignByte,
111 EFixedViewPropertyFlagViewImage_CreateImage_FillSameVal,
112 EFixedViewPropertyFlagViewImage_CreateImage_PixelValue,
113
114 EFixedViewPropertyFlagViewImage_AutoZoomFitTriggerFlags,
115 EFixedViewPropertyFlagViewImage_AutoZoomFitTolerance,
116
117 EFixedViewPropertyFlagViewImage_Count,
118
119 EFixedViewPropertyFlagViewDrawing_ConstantTitle = EFixedViewPropertyFlagViewImage_ConstantTitle,
120 EFixedViewPropertyFlagViewDrawing_ConfirmActions = EFixedViewPropertyFlagViewImage_ConfirmActions,
121 EFixedViewPropertyFlagViewDrawing_PixelAccuracyX = EFixedViewPropertyFlagViewImage_PixelAccuracyX,
122 EFixedViewPropertyFlagViewDrawing_PixelAccuracyY = EFixedViewPropertyFlagViewImage_PixelAccuracyY,
123 EFixedViewPropertyFlagViewDrawing_PixelAccuracyUnit = EFixedViewPropertyFlagViewImage_PixelAccuracyUnit,
124 EFixedViewPropertyFlagViewDrawing_Count,
125
126 EFixedViewPropertyFlagView3D_ConstantTitle = EFixedViewPropertyFlagViewImage_ConstantTitle,
127 EFixedViewPropertyFlagView3D_ConfirmActions = EFixedViewPropertyFlagViewImage_ConfirmActions,
128 EFixedViewPropertyFlagView3D_ZoomFitDirection,
129 EFixedViewPropertyFlagView3D_Count,
130 };
131
132 typedef struct FL_EXPORT sFixedViewDeclarationProperty
133 {
134 sFixedViewDeclarationProperty();
135 sFixedViewDeclarationProperty(const sFixedViewDeclarationProperty& rhs);
136 sFixedViewDeclarationProperty(const sFixedViewDeclarationProperty* pRhs);
137 const sFixedViewDeclarationProperty& operator=(const sFixedViewDeclarationProperty& rhs);
138 const CResult Assign(const sFixedViewDeclarationProperty& rhs);
139 const CResult Assign(const sFixedViewDeclarationProperty* pRhs);
140
141 virtual ~sFixedViewDeclarationProperty();
142
143 virtual bool GetFlag(EFixedViewPropertyFlag e) const;
144 virtual void SetFlag(EFixedViewPropertyFlag e, bool bFlag = true);
145 virtual void SetAllFlags(bool bFlag = true);
146
147 bool* m_pArrBSaveItems;
148
149 Base::CFLString<wchar_t> strViewName;
150 Base::CFLString<wchar_t> strConstantTitle;
151
152 std::unordered_map<uint32_t, bool>& mapConfirmActions;
153 EView3DDirectionPreset eView3DZoomFitDirPreset;
154 Foundation::CFLPoint3<float> flp3View3DZoomFitDirection;
155 Foundation::CFLPoint3<float> flp3View3DZoomFitUp;
156
157 double f64PAX;
158 double f64PAY;
159 Foundation::ELengthUnit eLenUnit;
160
161 // prefix IF means ImageFigure
162 int32_t i32IFBorderWidth;
163 float f32IFOpacityBorder;
164 float f32IFOpacityFill;
165 float f32IFTextOpacityBorder;
166 float f32IFTextOpacityFill;
167 bool bIFRealSizeText;
168 LOGFONT lfIFFont;
169
170 // prefix Viof means ViewImageObjectFigure
171 bool bViofInfoTextVisibility;
172 bool bViofInfoTextRealSize;
173 float f32ViofInfoTextFontSize;
174 EFigureObjectInformationText eViofInfoTextOption;
175 bool bViofInfoTextNotation;
176 uint32_t u32ViofInfoTextDecimalPlaces;
177 bool bViofInfoTextNotationForPixelAccuracy;
178 uint32_t u32ViofInfoTextDecimalPlacesForPixelAccuracy;
179 bool bViofMagnetToImage;
180 bool bViofAngleMagnet;
181 float f32ViofFillAlphaRatio;
182
183 // prefix CI means Create Image
184 int32_t i32CIWidth;
185 int32_t i32CIHeight;
186 int32_t i32CIChannel;
187 bool bCISepChannel;
188 int32_t i32CIDepth;
189 Base::EValueType eCIValueType;
190 int32_t i32CIAlignByte;
191 int32_t i32CIWSB;
192 bool bCIFillSameVal;
193 Base::CMultiVar<double> mvCIChValD;
194 Base::CMultiVar<uint64_t> mvCIChValULL;
195 Base::CMultiVar<int64_t> mvCIChValLL;
196
197 // AutoZoomFit
198 EGUIViewImageAutoZoomFitTriggerFlags eAutoZoomFitTriggerFlags;
199 double f64AutoZoomFitImageSizeDiffToleranceRatio;
200
201 }SFixedViewDeclarationProperty;
202 }
203}
Definition D2DObject.h:12
EFixedViewPlacementSetSyncNumberPolicy
Defines synchronization behaviors for matching view serial numbers with preset indices in a fixed vie...
Definition DefinitionsGUIFixedView.h:31
@ EFixedViewPlacementSetSyncNumberPolicy_NoOp
Do nothing even if differences exist between view serials and preset indices.
Definition DefinitionsGUIFixedView.h:38
@ EFixedViewPlacementSetSyncNumberPolicy_RecreateMismatched
Recreates only the views whose serial numbers, indices, or view types do not match the active preset ...
Definition DefinitionsGUIFixedView.h:63
@ EFixedViewPlacementSetSyncNumberPolicy_ReindexBestEffort
Reassigns view serial numbers to best match the preset index layout without closing other views.
Definition DefinitionsGUIFixedView.h:47
@ EFixedViewPlacementSetSyncNumberPolicy_RecreateAll
Close all existing views and recreate only those defined in the active preset to align indexes.
Definition DefinitionsGUIFixedView.h:72