FLImaging 7.4.14.3
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 EFixedViewPropertyFlag_ConstantTitle,
80 EFixedViewPropertyFlag_ViewImage_PixelAccuracyX,
81 EFixedViewPropertyFlag_ViewImage_PixelAccuracyY,
82 EFixedViewPropertyFlag_ViewImage_PixelAccuracyUnit,
83 EFixedViewPropertyFlag_ViewImage_ImageFigureBorderWidth,
84 EFixedViewPropertyFlag_ViewImage_ImageFigureOpacityBorder,
85 EFixedViewPropertyFlag_ViewImage_ImageFigureOpacityFill,
86 EFixedViewPropertyFlag_ViewImage_ImageFigureTextOpacityBorder,
87 EFixedViewPropertyFlag_ViewImage_ImageFigureTextOpacityFill,
88 EFixedViewPropertyFlag_ViewImage_ImageFigureTextFont,
89 EFixedViewPropertyFlag_ViewImage_ImageFigureRealSizeText,
90 EFixedViewPropertyFlag_ViewImage_FigureObjectInformationTextVisibility,
91 EFixedViewPropertyFlag_ViewImage_FigureObjectInformationTextRealSize,
92 EFixedViewPropertyFlag_ViewImage_FigureObjectInformationTextFontSize,
93 EFixedViewPropertyFlag_ViewImage_FigureObjectInformationTextOption,
94 EFixedViewPropertyFlag_ViewImage_FigureObjectInformationTextNotation,
95 EFixedViewPropertyFlag_ViewImage_FigureObjectInformationTextDecimalPlaces,
96 EFixedViewPropertyFlag_ViewImage_FigureObjectInformationTextNotationForPixelAccuracy,
97 EFixedViewPropertyFlag_ViewImage_FigureObjectInformationTextDecimalPlacesForPixelAccuracy,
98 EFixedViewPropertyFlag_ViewImage_FigureObjectMagnetToImage,
99 EFixedViewPropertyFlag_ViewImage_FigureObjectAngleMagnet,
100
101 EFixedViewPropertyFlag_ViewImage_CreateImage_Width,
102 EFixedViewPropertyFlag_ViewImage_CreateImage_Height,
103 EFixedViewPropertyFlag_ViewImage_CreateImage_Channel,
104 EFixedViewPropertyFlag_ViewImage_CreateImage_SepChannel,
105 EFixedViewPropertyFlag_ViewImage_CreateImage_Depth,
106 EFixedViewPropertyFlag_ViewImage_CreateImage_ValueType,
107 EFixedViewPropertyFlag_ViewImage_CreateImage_AlignByte,
108 EFixedViewPropertyFlag_ViewImage_CreateImage_WidthStepByte,
109 EFixedViewPropertyFlag_ViewImage_CreateImage_FillSameVal,
110 EFixedViewPropertyFlag_ViewImage_CreateImage_PixelValue,
111
112 EFixedViewPropertyFlag_ViewImage_ConfirmActions,
113 EFixedViewPropertyFlag_ViewImage_AutoZoomFitTriggerFlags,
114 EFixedViewPropertyFlag_ViewImage_AutoZoomFitTolerance,
115
116 EFixedViewPropertyFlag_Count,
117
118 EFixedViewPropertyFlag_ViewDrawing_PixelAccuracyX = EFixedViewPropertyFlag_ViewImage_PixelAccuracyX,
119 EFixedViewPropertyFlag_ViewDrawing_PixelAccuracyY = EFixedViewPropertyFlag_ViewImage_PixelAccuracyY,
120 EFixedViewPropertyFlag_ViewDrawing_PixelAccuracyUnit = EFixedViewPropertyFlag_ViewImage_PixelAccuracyUnit,
121 };
122
123 typedef struct FL_EXPORT sFixedViewDeclarationProperty
124 {
125 sFixedViewDeclarationProperty();
126 sFixedViewDeclarationProperty(const sFixedViewDeclarationProperty& rhs);
127 sFixedViewDeclarationProperty(const sFixedViewDeclarationProperty* pRhs);
128 const sFixedViewDeclarationProperty& operator=(const sFixedViewDeclarationProperty& rhs);
129 const CResult Assign(const sFixedViewDeclarationProperty& rhs);
130 const CResult Assign(const sFixedViewDeclarationProperty* pRhs);
131
132 virtual ~sFixedViewDeclarationProperty();
133
134 virtual bool GetFlag(EFixedViewPropertyFlag e) const;
135 virtual void SetFlag(EFixedViewPropertyFlag e, bool bFlag = true);
136 virtual void SetAllFlags(bool bFlag = true);
137
138 bool* m_pArrBSaveItems;
139
140 Base::CFLString<wchar_t> strViewName;
141 Base::CFLString<wchar_t> strConstantTitle;
142
143 double f64PAX;
144 double f64PAY;
145 Foundation::ELengthUnit eLenUnit;
146
147 // prefix IF means ImageFigure
148 int32_t i32IFBorderWidth;
149 float f32IFOpacityBorder;
150 float f32IFOpacityFill;
151 float f32IFTextOpacityBorder;
152 float f32IFTextOpacityFill;
153 bool bIFRealSizeText;
154 LOGFONT lfIFFont;
155
156 // prefix Viof means ViewImageObjectFigure
157 bool bViofInfoTextVisibility;
158 bool bViofInfoTextRealSize;
159 float f32ViofInfoTextFontSize;
160 EFigureObjectInformationText eViofInfoTextOption;
161 bool bViofInfoTextNotation;
162 uint32_t u32ViofInfoTextDecimalPlaces;
163 bool bViofInfoTextNotationForPixelAccuracy;
164 uint32_t u32ViofInfoTextDecimalPlacesForPixelAccuracy;
165 bool bViofMagnetToImage;
166 bool bViofAngleMagnet;
167
168 // prefix CI means Create Image
169 int32_t i32CIWidth;
170 int32_t i32CIHeight;
171 int32_t i32CIChannel;
172 bool bCISepChannel;
173 int32_t i32CIDepth;
174 Base::EValueType eCIValueType;
175 int32_t i32CIAlignByte;
176 int32_t i32CIWSB;
177 bool bCIFillSameVal;
178 Base::CMultiVar<double> mvCIChValD;
179 Base::CMultiVar<uint64_t> mvCIChValULL;
180 Base::CMultiVar<int64_t> mvCIChValLL;
181
182 std::unordered_map<uint32_t, bool>& mapConfirmActions;
183 EGUIViewImageAutoZoomFitTriggerFlags eAutoZoomFitTriggerFlags;
184 double f64AutoZoomFitImageSizeDiffToleranceRatio;
185
186 }SFixedViewDeclarationProperty;
187 }
188}
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