8 #ifndef K_FIRESYNC_HX_PROJECTOR_H
9 #define K_FIRESYNC_HX_PROJECTOR_H
13 #include <kFireSync/Hardware/kHxProjector.x.h>
26 kObj(kHxProjector, projector);
33 kObj(kHxProjector, projector);
38 kInlineFx(kProjectorInfo) kHxProjector_Info(kHxProjector projector)
40 kObj(kHxProjector, projector);
47 kObj(kHxProjector, projector);
49 return kProjectorInfo_Model(obj->info);
52 kInlineFx(
k64f) kHxProjector_PixelClockFrequency(kHxProjector projector)
54 kObj(kHxProjector, projector);
56 return obj->pixelClockFrequency;
61 return xkHxProjector_VTable(projector)->VIsConnected(projector);
66 kObj(kHxProjector, projector);
68 obj->enabled = enabled;
75 kObj(kHxProjector, projector);
82 kObj(kHxProjector, projector);
84 obj->controlType = type;
91 kObj(kHxProjector, projector);
93 return obj->controlType;
98 kObj(kHxProjector, projector);
107 kObj(kHxProjector, projector);
109 return obj->controlId;
114 kObj(kHxProjector, projector);
116 obj->dynamicFrameRate = enable;
121 kInlineFx(
kBool) kHxProjector_IsDynamicFrameRateEnabled(kHxProjector projector)
123 kObj(kHxProjector, projector);
125 return obj->dynamicFrameRate;
130 kObj(kHxProjector, projector);
132 obj->lightOutput = enable;
137 kInlineFx(
kBool) kHxProjector_LightOutputEnabled(kHxProjector projector)
139 kObj(kHxProjector, projector);
141 return obj->lightOutput;
146 kObj(kHxProjector, projector);
148 obj->autoShutdown = enable;
153 kInlineFx(
kBool) kHxProjector_AutoShutdownEnabled(kHxProjector projector)
155 kObj(kHxProjector, projector);
157 return obj->autoShutdown;
162 kObj(kHxProjector, projector);
164 obj->patternCount = patternCount;
169 kInlineFx(
kSize) kHxProjector_PatternCount(kHxProjector projector)
171 kObj(kHxProjector, projector);
173 return obj->patternCount;
178 kObj(kHxProjector, projector);
180 obj->bitDepth = bitDepth;
187 kObj(kHxProjector, projector);
189 return obj->bitDepth;
194 kObj(kHxProjector, projector);
196 obj->patternMode = mode;
203 kObj(kHxProjector, projector);
205 return obj->patternMode;
210 kObj(kHxProjector, projector);
214 obj->palette[index] = color;
221 kObj(kHxProjector, projector);
228 return obj->palette[index];
231 kInlineFx(
k32u) kHxProjector_MinIntensity(kHxProjector projector)
233 return xkHxProjector_VTable(projector)->VMinIntensity(projector);
236 kInlineFx(
k32u) kHxProjector_MaxIntensity(kHxProjector projector)
238 return xkHxProjector_VTable(projector)->VMaxIntensity(projector);
243 return xkHxProjector_VTable(projector)->VLoadPatterns(projector, patterns);
248 return xkHxProjector_VTable(projector)->VLoadRowGains(projector, gains);
253 return xkHxProjector_VTable(projector)->VLoadColGains(projector, gains);
258 return xkHxProjector_VTable(projector)->VSetStateCount(projector, count);
263 kObj(kHxProjector, projector);
265 return kArrayList_Count(obj->states);
268 kInlineFx(kHxProjectorState) kHxProjector_StateAt(kHxProjector projector,
kSize index)
270 kObj(kHxProjector, projector);
277 kObj(kHxProjector, projector);
279 return kArrayList_Purge(obj->extensions);
285 return xkHxProjector_VTable(projector)->VAddExtension(projector, extension);
288 kInlineFx(
kSize) kHxProjector_ExtensionCount(kHxProjector projector)
290 kObj(kHxProjector, projector);
292 return kArrayList_Count(obj->extensions);
300 return xkHxProjector_VTable(projector)->VStats(projector, stats);
305 return xkHxProjector_VTable(projector)->VClear(projector);
Represents projector control modes.
Declares the kProjectorInfo class and related types.
Essential declarations related to FireSync nodes.
Abstract base class for hardware node classes.
#define kPROJECTOR_PALETTE_CAPACITY
Count of defined projector palette pixels.
Definition: kNodeDef.h:1203
Represents supported projector device types.
#define kObj(TypeName_T, T_object)
Represents projector pattern modes.
Represents projector run-time statistics.
Definition: kNodeDef.h:1211
#define kCheckArgs(EXPRESSION)
#define kArrayList_AsT(kArrayList_list, kSize_index, T)
Abstract base class for projector control extension parameters.