node-gpuinfo 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +336 -0
  3. package/binding.gyp +69 -0
  4. package/build/Release/gpu.exp +0 -0
  5. package/build/Release/gpu.lib +0 -0
  6. package/build/Release/gpu.node +0 -0
  7. package/build/Release/gpu.pdb +0 -0
  8. package/build/binding.sln +19 -0
  9. package/build/gpu.vcxproj +175 -0
  10. package/build/gpu.vcxproj.filters +169 -0
  11. package/example.js +69 -0
  12. package/index.js +33 -0
  13. package/package.json +68 -0
  14. package/src/binding.cpp +201 -0
  15. package/src/gpu_info.c +130 -0
  16. package/src/gpu_info.h +86 -0
  17. package/src/includes/adlx/ADLX.h +367 -0
  18. package/src/includes/adlx/ADLXDefines.h +1345 -0
  19. package/src/includes/adlx/ADLXHelper/ADLXHelper.c +175 -0
  20. package/src/includes/adlx/ADLXHelper/ADLXHelper.h +245 -0
  21. package/src/includes/adlx/ADLXHelper/WinAPIS.c +64 -0
  22. package/src/includes/adlx/ADLXStructures.h +206 -0
  23. package/src/includes/adlx/ADLXVersion.h +18 -0
  24. package/src/includes/adlx/I3DSettings.h +3476 -0
  25. package/src/includes/adlx/I3DSettings1.h +292 -0
  26. package/src/includes/adlx/I3DSettings2.h +317 -0
  27. package/src/includes/adlx/IApplications.h +397 -0
  28. package/src/includes/adlx/IChangedEvent.h +71 -0
  29. package/src/includes/adlx/ICollections.h +325 -0
  30. package/src/includes/adlx/IDesktops.h +918 -0
  31. package/src/includes/adlx/IDisplay3DLUT.h +663 -0
  32. package/src/includes/adlx/IDisplayGamma.h +683 -0
  33. package/src/includes/adlx/IDisplayGamut.h +760 -0
  34. package/src/includes/adlx/IDisplaySettings.h +3476 -0
  35. package/src/includes/adlx/IDisplays.h +2676 -0
  36. package/src/includes/adlx/IDisplays1.h +191 -0
  37. package/src/includes/adlx/IDisplays2.h +188 -0
  38. package/src/includes/adlx/IDisplays3.h +256 -0
  39. package/src/includes/adlx/IGPUAutoTuning.h +460 -0
  40. package/src/includes/adlx/IGPUManualFanTuning.h +1007 -0
  41. package/src/includes/adlx/IGPUManualGFXTuning.h +607 -0
  42. package/src/includes/adlx/IGPUManualPowerTuning.h +340 -0
  43. package/src/includes/adlx/IGPUManualVRAMTuning.h +576 -0
  44. package/src/includes/adlx/IGPUPresetTuning.h +469 -0
  45. package/src/includes/adlx/IGPUTuning.h +1239 -0
  46. package/src/includes/adlx/IGPUTuning1.h +197 -0
  47. package/src/includes/adlx/II2C.h +198 -0
  48. package/src/includes/adlx/ILog.h +72 -0
  49. package/src/includes/adlx/IMultiMedia.h +578 -0
  50. package/src/includes/adlx/IPerformanceMonitoring.h +2520 -0
  51. package/src/includes/adlx/IPerformanceMonitoring1.h +134 -0
  52. package/src/includes/adlx/IPerformanceMonitoring2.h +341 -0
  53. package/src/includes/adlx/IPerformanceMonitoring3.h +199 -0
  54. package/src/includes/adlx/IPowerTuning.h +473 -0
  55. package/src/includes/adlx/IPowerTuning1.h +515 -0
  56. package/src/includes/adlx/ISmartAccessMemory.h +114 -0
  57. package/src/includes/adlx/ISystem.h +1557 -0
  58. package/src/includes/adlx/ISystem1.h +237 -0
  59. package/src/includes/adlx/ISystem2.h +643 -0
  60. package/src/linux/amd_linux.c +269 -0
  61. package/src/linux/intel_linux.c +20 -0
  62. package/src/linux/nvidia_linux.c +257 -0
  63. package/src/macos/amd_mac.c +131 -0
  64. package/src/macos/intel_mac.c +131 -0
  65. package/src/macos/nvidia_mac.c +21 -0
  66. package/src/vendor/amd.c +37 -0
  67. package/src/vendor/intel.c +37 -0
  68. package/src/vendor/nvidia.c +37 -0
  69. package/src/windows/amd_windows.c +468 -0
  70. package/src/windows/intel_windows.c +157 -0
  71. package/src/windows/nvidia_windows.c +252 -0
@@ -0,0 +1,3476 @@
1
+ //
2
+ // Copyright (c) 2023 - 2025 Advanced Micro Devices, Inc. All rights reserved.
3
+ //
4
+ //-------------------------------------------------------------------------------------------------
5
+
6
+ #ifndef ADLX_IDISPLAYSETTING_H
7
+ #define ADLX_IDISPLAYSETTING_H
8
+
9
+ #pragma once
10
+
11
+ #include "ADLXStructures.h"
12
+ #include "ICollections.h"
13
+
14
+ #pragma region IADLXDisplayFreeSync interface
15
+
16
+ #if defined (__cplusplus)
17
+ namespace adlx
18
+ {
19
+ class ADLX_NO_VTABLE IADLXDisplayFreeSync : public IADLXInterface
20
+ {
21
+ public:
22
+ ADLX_DECLARE_IID (L"IADLXDisplayFreeSync")
23
+ /**
24
+ *@page DOX_IADLXDisplayFreeSync_IsSupported IsSupported
25
+ *@ENG_START_DOX @brief Checks if the AMD FreeSync™ is supported on a display. @ENG_END_DOX
26
+ *
27
+ *@syntax
28
+ *@codeStart
29
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
30
+ *@codeEnd
31
+ *
32
+ *@params
33
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD FreeSync is returned. The variable is __true__ if AMD FreeSync is supported. The variable is __false__ if AMD FreeSync is not supported. @ENG_END_DOX}
34
+ *
35
+ *@retvalues
36
+ *@ENG_START_DOX If the state of AMD FreeSync is successfully returned, __ADLX_OK__ is returned. <br>
37
+ * If the state of AMD FreeSync is not successfully returned, an error code is returned. <br>
38
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
39
+ *
40
+ *@addinfo
41
+ *@ENG_START_DOX AMD FreeSync technology synchronizes the refresh rate of a display with the framerate of AMD FreeSync compatible graphics card to deliver dynamic refresh rate.<br>
42
+ *
43
+ * AMD FreeSync technology reduces or eliminates visual artifacts, input latency, screen tearing and stuttering during gaming and video playback. AMD FreeSync technology can be delivered through DisplayPort and HDMI® connections. @ENG_END_DOX
44
+ *
45
+ *@copydoc IADLXDisplayFreeSync_REQ_TABLE
46
+ *
47
+ */
48
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
49
+ /**
50
+ *@page DOX_IADLXDisplayFreeSync_IsEnabled IsEnabled
51
+ *@ENG_START_DOX @brief Checks if the AMD FreeSync™ is enabled on a display. @ENG_END_DOX
52
+ *
53
+ *@syntax
54
+ *@codeStart
55
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
56
+ *@codeEnd
57
+ *
58
+ *@params
59
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD FreeSync is returned. The variable is __true__ if AMD FreeSync is enabled. The variable is __false__ if AMD FreeSync is not enabled. @ENG_END_DOX}
60
+ *
61
+ *@retvalues
62
+ *@ENG_START_DOX If the state of AMD FreeSync is successfully returned, __ADLX_OK__ is returned. <br>
63
+ * If the state of AMD FreeSync is not successfully returned, an error code is returned. <br>
64
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
65
+ *
66
+ *@addinfo
67
+ *@ENG_START_DOX AMD FreeSync technology synchronizes the refresh rate of a display with the framerate of AMD FreeSync compatible graphics card to deliver dynamic refresh rate.<br>
68
+ *
69
+ * AMD FreeSync technology reduces or eliminates visual artifacts, input latency, screen tearing and stuttering during gaming and video playback. AMD FreeSync technology can be delivered through DisplayPort and HDMI® connections. @ENG_END_DOX
70
+ *
71
+ *@copydoc IADLXDisplayFreeSync_REQ_TABLE
72
+ *
73
+ */
74
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0;
75
+ /**
76
+ *@page DOX_IADLXDisplayFreeSync_SetEnabled SetEnabled
77
+ *@ENG_START_DOX @brief Sets the AMD FreeSync™ to enabled or disabled state on a display. @ENG_END_DOX
78
+ *
79
+ *@syntax
80
+ *@codeStart
81
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
82
+ *@codeEnd
83
+ *
84
+ *@params
85
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD FreeSync state. Set __true__ to enable AMD FreeSync. Set __false__ to disable AMD FreeSync. @ENG_END_DOX}
86
+ *
87
+ *@retvalues
88
+ *@ENG_START_DOX If the AMD FreeSync enabled status is successfully returned, __ADLX_OK__ is returned. <br>
89
+ * If the AMD FreeSync enabled status is not successfully returned, an error code is returned. <br>
90
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
91
+ *
92
+ *@addinfo
93
+ *@ENG_START_DOX AMD FreeSync technology synchronizes the refresh rate of a display with the framerate of AMD FreeSync compatible graphics card to deliver dynamic refresh rate.<br>
94
+ *
95
+ * AMD FreeSync technology reduces or eliminates visual artifacts, input latency, screen tearing and stuttering during gaming and video playback. AMD FreeSync technology can be delivered through DisplayPort and HDMI® connections. @ENG_END_DOX
96
+ *
97
+ *
98
+ *@copydoc IADLXDisplayFreeSync_REQ_TABLE
99
+ *
100
+ */
101
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enabled) = 0;
102
+ };
103
+ typedef IADLXInterfacePtr_T<IADLXDisplayFreeSync> IADLXDisplayFreeSyncPtr;
104
+ }
105
+
106
+ #else
107
+ ADLX_DECLARE_IID (IADLXDisplayFreeSync, L"IADLXDisplayFreeSync")
108
+ typedef struct IADLXDisplayFreeSync IADLXDisplayFreeSync;
109
+
110
+ typedef struct IADLXFreeSyncVtbl
111
+ {
112
+ //IADLXInterface
113
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayFreeSync* pThis);
114
+ adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayFreeSync* pThis);
115
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayFreeSync* pThis, const wchar_t* interfaceId, void** ppInterface);
116
+
117
+ //IADLXDisplayFreeSync
118
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayFreeSync* pThis, adlx_bool* supported);
119
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLXDisplayFreeSync* pThis, adlx_bool* enabled);
120
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLXDisplayFreeSync* pThis, adlx_bool enabled);
121
+ } IADLXFreeSyncVtbl;
122
+
123
+ struct IADLXDisplayFreeSync
124
+ {
125
+ const IADLXFreeSyncVtbl *pVtbl;
126
+ };
127
+
128
+ #endif
129
+ #pragma endregion IADLXDisplayFreeSync interface
130
+
131
+ #pragma region IADLXDisplayVSR interface
132
+
133
+ #if defined (__cplusplus)
134
+ namespace adlx
135
+ {
136
+ class ADLX_NO_VTABLE IADLXDisplayVSR : public IADLXInterface
137
+ {
138
+ public:
139
+ ADLX_DECLARE_IID (L"IADLXDisplayVSR")
140
+ /**
141
+ *@page DOX_IADLXDisplayVSR_IsSupported IsSupported
142
+ *@ENG_START_DOX @brief Checks if AMD Virtual Super Resolution is supported on a display. @ENG_END_DOX
143
+ *
144
+ *@syntax
145
+ *@codeStart
146
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
147
+ *@codeEnd
148
+ *
149
+ *@params
150
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Virtual Super Resolution is returned. The variable is __true__ if Virtual Super Resolution is supported. The variable is __false__ if Virtual Super Resolution is not supported. @ENG_END_DOX}
151
+ *
152
+ *@retvalues
153
+ *@ENG_START_DOX If the state of AMD Virtual Super Resolution is successfully returned, __ADLX_OK__ is returned.<br/>
154
+ * If the state of AMD Virtual Super Resolution is not successfully returned, an error code is returned.<br/>
155
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
156
+ *
157
+ * @addinfo
158
+ * @ENG_START_DOX
159
+ * Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance.
160
+ * @ENG_END_DOX
161
+ *
162
+ *@copydoc IADLXDisplayVSR_REQ_TABLE
163
+ *
164
+ */
165
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
166
+ /**
167
+ *@page DOX_IADLXDisplayVSR_IsEnabled IsEnabled
168
+ *@ENG_START_DOX @brief Checks if AMD Virtual Super Resolution is enabled on a display. @ENG_END_DOX
169
+ *
170
+ *@syntax
171
+ *@codeStart
172
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
173
+ *@codeEnd
174
+ *
175
+ *@params
176
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Virtual Super Resolution is returned. The variable is __true__ if Virtual Super Resolution is enabled. The variable is __false__ if Virtual Super Resolution is not enabled. @ENG_END_DOX}
177
+ *
178
+ *@retvalues
179
+ *@ENG_START_DOX If the state of AMD Virtual Super Resolution is successfully returned, __ADLX_OK__ is returned.<br/>
180
+ * If the state of AMD Virtual Super Resolution is not successfully returned, an error code is returned.<br/>
181
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
182
+ *
183
+ * @addinfo
184
+ * @ENG_START_DOX
185
+ * Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance.
186
+ * @ENG_END_DOX
187
+ *
188
+ *@copydoc IADLXDisplayVSR_REQ_TABLE
189
+ *
190
+ */
191
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0;
192
+ /**
193
+ *@page DOX_IADLXDisplayVSR_SetEnabled SetEnabled
194
+ *@ENG_START_DOX @brief Sets the AMD Virtual Super Resolution to enabled or disabled on this display. @ENG_END_DOX
195
+ *
196
+ *@syntax
197
+ *@codeStart
198
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
199
+ *@codeEnd
200
+ *
201
+ *@params
202
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Virtual Super Resolution state. Set __true__ to enable Virtual Super Resolution. Set __false__ to disable Virtual Super Resolution. @ENG_END_DOX}
203
+ *
204
+ *@retvalues
205
+ *@ENG_START_DOX If the state of AMD Virtual Super Resolution is successfully set, __ADLX_OK__ is returned.<br/>
206
+ * If the state of AMD Virtual Super Resolution is not successfully set, an error code is returned.<br/>
207
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
208
+ *
209
+ * @addinfo
210
+ * @ENG_START_DOX
211
+ * Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance.
212
+ * @ENG_END_DOX
213
+ *
214
+ *@copydoc IADLXDisplayVSR_REQ_TABLE
215
+ *
216
+ */
217
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enabled) = 0;
218
+ };
219
+ typedef IADLXInterfacePtr_T<IADLXDisplayVSR> IADLXDisplayVSRPtr;
220
+ }
221
+
222
+ #else
223
+ ADLX_DECLARE_IID (IADLXDisplayVSR, L"IADLXDisplayVSR")
224
+ typedef struct IADLXDisplayVSR IADLXDisplayVSR;
225
+
226
+ typedef struct IADLXVSRVtbl
227
+ {
228
+ //IADLXInterface
229
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayVSR* pThis);
230
+ adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayVSR* pThis);
231
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayVSR* pThis, const wchar_t* interfaceId, void** ppInterface);
232
+
233
+ //IADLXDisplayVSR
234
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayVSR* pThis, adlx_bool* supported);
235
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLXDisplayVSR* pThis, adlx_bool* enabled);
236
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLXDisplayVSR* pThis, adlx_bool enabled);
237
+ } IADLXVSRVtbl;
238
+
239
+ struct IADLXDisplayVSR
240
+ {
241
+ const IADLXVSRVtbl *pVtbl;
242
+ };
243
+
244
+ #endif
245
+
246
+ #pragma endregion IADLXDisplayVSR interface
247
+
248
+ #pragma region IADLXDisplayGPUScaling interface
249
+
250
+ #if defined (__cplusplus)
251
+ namespace adlx
252
+ {
253
+ class ADLX_NO_VTABLE IADLXDisplayGPUScaling : public IADLXInterface
254
+ {
255
+ public:
256
+ ADLX_DECLARE_IID (L"IADLXDisplayGPUScaling")
257
+ /**
258
+ *@page DOX_IADLXDisplayGPUScaling_IsSupported IsSupported
259
+ *@ENG_START_DOX @brief Checks if the GPU scaling is supported on a display. @ENG_END_DOX
260
+ *
261
+ *@syntax
262
+ *@codeStart
263
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
264
+ *@codeEnd
265
+ *
266
+ *@params
267
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU scaling is returned. The variable is __true__ if GPU scaling is supported. The variable is __false__ if GPU scaling is not supported. @ENG_END_DOX}
268
+ *
269
+ *@retvalues
270
+ *@ENG_START_DOX If the state of GPU scaling is successfully returned, __ADLX_OK__ is returned. <br>
271
+ * If the state of GPU scaling is not successfully returned, an error code is returned. <br>
272
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
273
+ *
274
+ *@addinfo
275
+ *@ENG_START_DOX GPU scaling uses the GPU to scale up lower resolutions to fit the display. <br>
276
+ * GPU scaling requires a digital connection (DVI, HDMI or DisplayPort™) from the display to the GPU. @ENG_END_DOX
277
+ *
278
+ *
279
+ *@copydoc IADLXDisplayGPUScaling_REQ_TABLE
280
+ *
281
+ */
282
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
283
+ /**
284
+ *@page DOX_IADLXDisplayGPUScaling_IsEnabled IsEnabled
285
+ *@ENG_START_DOX @brief Checks if the GPU scaling is enabled on a display. @ENG_END_DOX
286
+ *
287
+ *@syntax
288
+ *@codeStart
289
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
290
+ *@codeEnd
291
+ *
292
+ *@params
293
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU scaling is returned. The variable is __true__ if GPU scaling is enabled. The variable is __false__ if GPU scaling is not enabled. @ENG_END_DOX}
294
+ *
295
+ *@retvalues
296
+ *@ENG_START_DOX If the state of GPU scaling is successfully returned, __ADLX_OK__ is returned. <br>
297
+ * If the state of GPU scaling is not successfully returned, an error code is returned. <br>
298
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
299
+ *
300
+ *
301
+ *@addinfo
302
+ *@ENG_START_DOX GPU scaling uses the GPU to scale up lower resolutions to fit the display. <br>
303
+ * GPU scaling requires a digital connection (DVI, HDMI or DisplayPort™) from the display to the GPU. <br>
304
+ *
305
+ * @depifc
306
+ * When GPU scaling is disabled, @ref DOX_IADLXDisplayIntegerScaling "Integer Display Scaling" is not supported.<br>
307
+ *
308
+ * GPU scaling is required for @ref DOX_IADLX3DRadeonSuperResolution "Radeon™ Super Resolution". GPU scaling is automatically enabled when Radeon Super Resolution is enabled.<br>
309
+ *
310
+ *@ENG_END_DOX
311
+ *
312
+ *@copydoc IADLXDisplayGPUScaling_REQ_TABLE
313
+ *
314
+ */
315
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0;
316
+ /**
317
+ *@page DOX_IADLXDisplayGPUScaling_SetEnabled SetEnabled
318
+ *@ENG_START_DOX @brief Sets the GPU scaling to enabled or disabled state on a display. @ENG_END_DOX
319
+ *
320
+ *@syntax
321
+ *@codeStart
322
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
323
+ *@codeEnd
324
+ *
325
+ *@params
326
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new GPU scaling state. Set __true__ to enable GPU scaling. Set __false__ to disable GPU scaling. @ENG_END_DOX}
327
+ *
328
+ *@retvalues
329
+ *@ENG_START_DOX If the state of GPU scaling is successfully set, __ADLX_OK__ is returned. <br>
330
+ * If the state of GPU scaling is not successfully set, an error code is returned. <br>
331
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
332
+ *
333
+ *
334
+ *@addinfo
335
+ *@ENG_START_DOX GPU scaling uses the GPU to scale up lower resolutions to fit the display. <br>
336
+ * GPU scaling requires a digital connection (DVI, HDMI or DisplayPort™) from the display to the GPU.<br>
337
+ *
338
+ * @depifc
339
+ * When GPU scaling is disabled, @ref DOX_IADLXDisplayIntegerScaling "Integer Display Scaling" is not supported.<br>
340
+ *
341
+ * GPU scaling is required for @ref DOX_IADLX3DRadeonSuperResolution "Radeon™ Super Resolution". GPU scaling is automatically enabled when Radeon Super Resolution is enabled.<br>
342
+ *
343
+ *@ENG_END_DOX
344
+ *
345
+ *@copydoc IADLXDisplayGPUScaling_REQ_TABLE
346
+ *
347
+ */
348
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enabled) = 0;
349
+ };
350
+
351
+ typedef IADLXInterfacePtr_T<IADLXDisplayGPUScaling> IADLXDisplayGPUScalingPtr;
352
+ }
353
+
354
+ #else
355
+ ADLX_DECLARE_IID (IADLXDisplayGPUScaling, L"IADLXDisplayGPUScaling")
356
+ typedef struct IADLXDisplayGPUScaling IADLXDisplayGPUScaling;
357
+
358
+ typedef struct IADLXGPUScalingVtbl
359
+ {
360
+ //IADLXInterface
361
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayGPUScaling* pThis);
362
+ adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayGPUScaling* pThis);
363
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayGPUScaling* pThis, const wchar_t* interfaceId, void** ppInterface);
364
+
365
+ // GPU Scaling
366
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayGPUScaling* pThis, adlx_bool* supported);
367
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLXDisplayGPUScaling* pThis, adlx_bool* enabled);
368
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLXDisplayGPUScaling* pThis, adlx_bool enabled);
369
+ } IADLXGPUScalingVtbl;
370
+
371
+ struct IADLXDisplayGPUScaling
372
+ {
373
+ const IADLXGPUScalingVtbl *pVtbl;
374
+ };
375
+
376
+ #endif
377
+
378
+ #pragma endregion IADLXDisplayGPUScaling interface
379
+
380
+ #pragma region IADLXDisplayScalingMode interface
381
+ #if defined (__cplusplus)
382
+ namespace adlx
383
+ {
384
+ class ADLX_NO_VTABLE IADLXDisplayScalingMode : public IADLXInterface
385
+ {
386
+ public:
387
+ ADLX_DECLARE_IID (L"IADLXDisplayScalingMode")
388
+ /**
389
+ *@page DOX_IADLXDisplayScalingMode_IsSupported IsSupported
390
+ *@ENG_START_DOX @brief Checks if the scaling mode is supported on a display. @ENG_END_DOX
391
+ *
392
+ *@syntax
393
+ *@codeStart
394
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
395
+ *@codeEnd
396
+ *
397
+ *@params
398
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of scaling mode is returned. The variable is __true__ if scaling mode is supported. The variable is __false__ if scaling mode is not supported. @ENG_END_DOX}
399
+ *
400
+ *@retvalues
401
+ *@ENG_START_DOX If the state of scaling mode is successfully returned, __ADLX_OK__ is returned. <br>
402
+ * If the state of scaling mode is not successfully returned, an error code is returned. <br>
403
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
404
+ *
405
+ *@addinfo
406
+ *@ENG_START_DOX GPU scaling determines the method used to stretch and position images to fit the display. @ENG_END_DOX
407
+ *
408
+ *
409
+ *@copydoc IADLXDisplayScalingMode_REQ_TABLE
410
+ *
411
+ */
412
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
413
+ /**
414
+ *@page DOX_IADLXDisplayScalingMode_GetMode GetMode
415
+ *@ENG_START_DOX @brief Gets the current scaling mode of a display. @ENG_END_DOX
416
+ *
417
+ *@syntax
418
+ *@codeStart
419
+ * @ref ADLX_RESULT GetMode(@ref ADLX_SCALE_MODE* currentMode)
420
+ *@codeEnd
421
+ *
422
+ *@params
423
+ * @paramrow{1.,[out],currentMode,@ref ADLX_SCALE_MODE*,@ENG_START_DOX The pointer to a variable where the current scaling mode of a display is returned.@ENG_END_DOX}
424
+ *
425
+ *@retvalues
426
+ *@ENG_START_DOX If the current scaling mode is successfully returned, __ADLX_OK__ is returned. <br>
427
+ * If the current scaling mode is not successfully returned, an error code is returned. <br>
428
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
429
+ *
430
+ *@addinfo
431
+ *@ENG_START_DOX GPU scaling determines the method used to stretch and position images to fit the display.<br>
432
+ * @depifc
433
+ * On some AMD GPUs, __CENTERED__ scaling mode cannot be simultaneously enabled with @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution".<br>
434
+ *
435
+ * If Radeon Super Resolution is enabled when the scaling mode is __CENTERED__, the scaling mode is automatically set to __FULL_PANEL__.<br>
436
+ *
437
+ *@copydoc IADLXDisplayScalingMode_REQ_TABLE
438
+ *
439
+ */
440
+ virtual ADLX_RESULT ADLX_STD_CALL GetMode (ADLX_SCALE_MODE* currentMode) = 0;
441
+ /**
442
+ *@page DOX_IADLXDisplayScalingMode_SetMode SetMode
443
+ *@ENG_START_DOX @brief Sets the scaling mode of a display. @ENG_END_DOX
444
+ *
445
+ *@syntax
446
+ *@codeStart
447
+ * @ref ADLX_RESULT SetMode(@ref ADLX_SCALE_MODE mode)
448
+ *@codeEnd
449
+ *
450
+ *@params
451
+ * @paramrow{1.,[in],mode,@ref ADLX_SCALE_MODE,@ENG_START_DOX The new scaling mode.0@ENG_END_DOX}
452
+ *
453
+ *@retvalues
454
+ *@ENG_START_DOX If the scaling mode is successfully set, __ADLX_OK__ is returned. <br>
455
+ * If the scaling mode is not successfully set, an error code is returned. <br>
456
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
457
+ *
458
+ *@addinfo
459
+ *@ENG_START_DOX GPU scaling determines the method used to stretch and position images to fit the display.<br>
460
+ * @depifc
461
+ * On some AMD GPUs, __CENTERED__ Display Scaling Mode cannot be simultaneously enabled with @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution".<br>
462
+ *
463
+ * When __CENTERED__ scaling mode is set, the mutually exclusive features are automatically disabled.<br>
464
+ * @ENG_END_DOX
465
+ *
466
+ *
467
+ *@copydoc IADLXDisplayScalingMode_REQ_TABLE
468
+ *
469
+ */
470
+ virtual ADLX_RESULT ADLX_STD_CALL SetMode (ADLX_SCALE_MODE mode) = 0;
471
+ };
472
+
473
+ typedef IADLXInterfacePtr_T<IADLXDisplayScalingMode> IADLXDisplayScalingModePtr;
474
+ }
475
+ #else
476
+ ADLX_DECLARE_IID (IADLXDisplayScalingMode, L"IADLXDisplayScalingMode")
477
+
478
+ typedef struct IADLXDisplayScalingMode IADLXDisplayScalingMode;
479
+ typedef struct IADLXDisplayScalingModeVtbl
480
+ {
481
+ // IADLXInterface
482
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayScalingMode* pThis);
483
+ adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayScalingMode* pThis);
484
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayScalingMode* pThis, const wchar_t* interfaceId, void** ppInterface);
485
+
486
+ // Scaling mode
487
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayScalingMode* pThis, adlx_bool* supported);
488
+ ADLX_RESULT (ADLX_STD_CALL *GetMode)(IADLXDisplayScalingMode* pThis, ADLX_SCALE_MODE* currentMode);
489
+ ADLX_RESULT (ADLX_STD_CALL *SetMode)(IADLXDisplayScalingMode* pThis, ADLX_SCALE_MODE mode);
490
+ } IADLXDisplayScalingModeVtbl;
491
+
492
+ struct IADLXDisplayScalingMode
493
+ {
494
+ const IADLXDisplayScalingModeVtbl *pVtbl;
495
+ };
496
+
497
+ #endif
498
+ #pragma endregion IADLXDisplayScalingMode interface
499
+
500
+ #pragma region IADLXDisplayIntegerScaling interface
501
+
502
+ #if defined (__cplusplus)
503
+ namespace adlx
504
+ {
505
+ class ADLX_NO_VTABLE IADLXDisplayIntegerScaling : public IADLXInterface
506
+ {
507
+ public:
508
+ ADLX_DECLARE_IID (L"IADLXDisplayIntegerScaling")
509
+ /**
510
+ *@page DOX_IADLXDisplayIntegerScaling_IsSupported IsSupported
511
+ *@ENG_START_DOX @brief Checks if the Integer Display Scaling is supported on a display. @ENG_END_DOX
512
+ *
513
+ *@syntax
514
+ *@codeStart
515
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
516
+ *@codeEnd
517
+ *
518
+ *@params
519
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Integer Display Scaling is returned. The variable is __true__ if Integer Display Scaling is supported. The variable is __false__ if Integer Display Scaling is not supported. @ENG_END_DOX}
520
+ *
521
+ *@retvalues
522
+ *@ENG_START_DOX If the state of Integer Display Scaling is successfully returned, __ADLX_OK__ is returned. <br>
523
+ * If the state of Integer Display Scaling is not successfully returned, an error code is returned. <br>
524
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
525
+ *
526
+ *
527
+ *@addinfo
528
+ *@ENG_START_DOX Integer Display Scaling gives a sharp, pixelated look to images scaled up to fit the display. Images that can't be scaled to match the display's exact size and shape will be centered on screen. Integer Display Scaling enhances visuals in old games to revive vintage gaming experiences on a modern display.<br>
529
+ *@depifc
530
+ *
531
+ * Integer Display Scaling is not supported when @ref DOX_IADLXDisplayGPUScaling "GPU Scaling" is disabled.
532
+ *@ENG_END_DOX
533
+ *
534
+ *
535
+ *@copydoc IADLXDisplayIntegerScaling_REQ_TABLE
536
+ *
537
+ */
538
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
539
+ /**
540
+ *@page DOX_IADLXDisplayIntegerScaling_IsEnabled IsEnabled
541
+ *@ENG_START_DOX @brief Checks if the Integer Display Scaling is enabled on a display. @ENG_END_DOX
542
+ *
543
+ *@syntax
544
+ *@codeStart
545
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
546
+ *@codeEnd
547
+ *
548
+ *@params
549
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Integer Display Scaling is returned. The variable is __true__ if Integer Display Scaling is enabled. The variable is __false__ if Integer Display Scaling is not enabled. @ENG_END_DOX}
550
+ *
551
+ *@retvalues
552
+ *@ENG_START_DOX If the state of Integer Display Scaling is successfully returned, __ADLX_OK__ is returned. <br>
553
+ * If the state of Integer Display Scaling is not successfully returned, an error code is returned. <br>
554
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
555
+ *
556
+ *@addinfo
557
+ *@ENG_START_DOX Integer Display Scaling gives a sharp, pixelated look to images scaled up to fit the display. Images that can't be scaled to match the display's exact size and shape will be centered on screen. Integer Display Scaling enhances visuals in old games to revive vintage gaming experiences on a modern display.<br>
558
+ *@depifc
559
+ * On some AMD GPUs, Integer Display Scaling cannot be simultaneously enabled with @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution".<br>
560
+ *
561
+ * When Integer Display Scaling is enabled, the mutually exclusive features are automatically disabled. If a mutually exclusive feature is re-enabled, its previous configuration settings are restored.<br>
562
+ *
563
+ * Integer Display Scaling is not supported when @ref DOX_IADLXDisplayGPUScaling "GPU Scaling" is disabled.<br>
564
+ * @ENG_END_DOX
565
+ *
566
+ *
567
+ *@copydoc IADLXDisplayIntegerScaling_REQ_TABLE
568
+ *
569
+ */
570
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0;
571
+ /**
572
+ *@page DOX_IADLXDisplayIntegerScaling_SetEnabled SetEnabled
573
+ *@ENG_START_DOX @brief Sets the AMD integer scaling to enabled or disabled state on a display. @ENG_END_DOX
574
+ *
575
+ *@syntax
576
+ *@codeStart
577
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
578
+ *@codeEnd
579
+ *
580
+ *@params
581
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Integer Display Scaling state. Set __true__ to enable Integer Display Scaling. Set __false__ to disable Integer Display Scaling. @ENG_END_DOX}
582
+ *
583
+ *@retvalues
584
+ *@ENG_START_DOX If the state of Integer Display Scaling is successfully set, __ADLX_OK__ is returned. <br>
585
+ * If the state of Integer Display Scaling is not successfully set, an error code is returned. <br>
586
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
587
+ *
588
+ *@addinfo
589
+ *@ENG_START_DOX Integer Display Scaling gives a sharp, pixelated look to images scaled up to fit the display. Images that can't be scaled to match the display's exact size and shape will be centered on screen. Integer Display Scaling enhances visuals in old games to revive vintage gaming experiences on a modern display.<br>
590
+ *@depifc
591
+ * On some AMD GPUs, Integer Display Scaling cannot be simultaneously enabled with @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution".<br>
592
+ *
593
+ * When Integer Display Scaling is enabled, the mutually exclusive features are automatically disabled. If a mutually exclusive feature is re-enabled, its previous configuration settings are restored.<br>
594
+ * Integer Display Scaling is not supported when @ref DOX_IADLXDisplayGPUScaling "GPU Scaling" is disabled.
595
+ * @ENG_END_DOX
596
+ *
597
+ *
598
+ *@copydoc IADLXDisplayIntegerScaling_REQ_TABLE
599
+ *
600
+ */
601
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enabled) = 0;
602
+ };
603
+ typedef IADLXInterfacePtr_T<IADLXDisplayIntegerScaling> IADLXDisplayIntegerScalingPtr;
604
+ }
605
+ #else
606
+ ADLX_DECLARE_IID (IADLXDisplayIntegerScaling, L"IADLXDisplayIntegerScaling")
607
+
608
+ typedef struct IADLXDisplayIntegerScaling IADLXDisplayIntegerScaling;
609
+ typedef struct IADLXIntegerScalingVtbl
610
+ {
611
+ //IADLXInterface
612
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayIntegerScaling* pThis);
613
+ adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayIntegerScaling* pThis);
614
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayIntegerScaling* pThis, const wchar_t* interfaceId, void** ppInterface);
615
+
616
+ // Integer scaling
617
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayIntegerScaling* pThis, adlx_bool* supported);
618
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLXDisplayIntegerScaling* pThis, adlx_bool* enabled);
619
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLXDisplayIntegerScaling* pThis, adlx_bool enabled);
620
+ } IADLXIntegerScalingVtbl;
621
+
622
+ struct IADLXDisplayIntegerScaling
623
+ {
624
+ const IADLXIntegerScalingVtbl *pVtbl;
625
+ };
626
+
627
+ #endif
628
+
629
+ #pragma endregion IADLXDisplayIntegerScaling interface
630
+
631
+ #pragma region IADLXDisplayColorDepth interface
632
+
633
+ #if defined (__cplusplus)
634
+ namespace adlx
635
+ {
636
+ class ADLX_NO_VTABLE IADLXDisplayColorDepth : public IADLXInterface
637
+ {
638
+ public:
639
+ ADLX_DECLARE_IID (L"IADLXDisplayColorDepth")
640
+ /**
641
+ *@page DOX_IADLXDisplayColorDepth_IsSupported IsSupported
642
+ *@ENG_START_DOX @brief Checks if the color format can be configured on a display. @ENG_END_DOX
643
+ *
644
+ *@syntax
645
+ *@codeStart
646
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
647
+ *@codeEnd
648
+ *
649
+ *@params
650
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color format configuration is returned. The variable is __true__ if color format configuration is supported. The variable is __false__ if color format configuration is not supported. @ENG_END_DOX}
651
+ *
652
+ *@retvalues
653
+ *@ENG_START_DOX If the state of the color format configuration is successfully returned, __ADLX_OK__ is returned. <br>
654
+ * If the state of the color format configuration is not successfully returned, an error code is returned. <br>
655
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
656
+ *
657
+ *@addinfo
658
+ *@ENG_START_DOX Color format configuration is supported on some AMD GPUs if the display is connected to the GPU using Dual-Link DVI or DisplayPort cable. @ENG_END_DOX
659
+ *
660
+ *
661
+ *@copydoc IADLXDisplayColorDepth_REQ_TABLE
662
+ *
663
+ */
664
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
665
+ /**
666
+ *@page DOX_IADLXDisplayColorDepth_GetValue GetValue
667
+ *@ENG_START_DOX @brief Gets the current color format of a display. @ENG_END_DOX
668
+ *
669
+ *@syntax
670
+ *@codeStart
671
+ * @ref ADLX_RESULT GetValue(@ref ADLX_COLOR_DEPTH* currentColorDepth)
672
+ *@codeEnd
673
+ *
674
+ *@params
675
+ * @paramrow{1.,[out],currentColorDepth,@ref ADLX_COLOR_DEPTH*,@ENG_START_DOX The pointer to a variable where the color format is returned. @ENG_END_DOX}
676
+ *
677
+ *@retvalues
678
+ *@ENG_START_DOX If the current color format is successfully returned, __ADLX_OK__ is returned. <br>
679
+ * If the current color format is not successfully returned, an error code is returned. <br>
680
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
681
+ *
682
+ *@addinfo
683
+ *@ENG_START_DOX Color format configuration is supported on some AMD GPUs if the display is connected to the GPU using Dual-Link DVI or DisplayPort cable. @ENG_END_DOX
684
+ *
685
+ *
686
+ *@copydoc IADLXDisplayColorDepth_REQ_TABLE
687
+ *
688
+ */
689
+ virtual ADLX_RESULT ADLX_STD_CALL GetValue (ADLX_COLOR_DEPTH* currentColorDepth) = 0;
690
+ /**
691
+ *@page DOX_IADLXDisplayColorDepth_SetValue SetValue
692
+ *@ENG_START_DOX @brief Sets the color format on a display. @ENG_END_DOX
693
+ *
694
+ *@syntax
695
+ *@codeStart
696
+ * @ref ADLX_RESULT SetValue(@ref ADLX_COLOR_DEPTH colorDepth)
697
+ *@codeEnd
698
+ *
699
+ *@params
700
+ * @paramrow{1.,[in],colorDepth,@ref ADLX_COLOR_DEPTH,@ENG_START_DOX The new color format. @ENG_END_DOX}
701
+ *
702
+ *@retvalues
703
+ *@ENG_START_DOX If the color format is successfully set, __ADLX_OK__ is returned. <br>
704
+ * If the color format is not successfully set, an error code is returned. <br>
705
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
706
+ *
707
+ *@addinfo
708
+ *@ENG_START_DOX Color format configuration is supported on some AMD GPUs if the display is connected to the GPU using Dual-Link DVI or DisplayPort cable. @ENG_END_DOX
709
+ *
710
+ *
711
+ *@copydoc IADLXDisplayColorDepth_REQ_TABLE
712
+ *
713
+ */
714
+ virtual ADLX_RESULT ADLX_STD_CALL SetValue (ADLX_COLOR_DEPTH colorDepth) = 0;
715
+ /**
716
+ *@page DOX_IADLXDisplayColorDepth_IsSupportedColorDepth IsSupportedColorDepth
717
+ *@ENG_START_DOX @brief Checks if a color format is supported on a display. @ENG_END_DOX
718
+ *
719
+ *@syntax
720
+ *@codeStart
721
+ * @ref ADLX_RESULT IsSupportedColorDepth (@ref ADLX_COLOR_DEPTH colorDepth, adlx_bool* supported)
722
+ *@codeEnd
723
+ *
724
+ *@params
725
+ * @paramrow{1.,[in],colorDepth,@ref ADLX_COLOR_DEPTH,@ENG_START_DOX The color format. @ENG_END_DOX}
726
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the color format is returned. The variable is __true__ if the color format is supported. The variable is __false__ if color format is not supported. @ENG_END_DOX}
727
+ *
728
+ *@retvalues
729
+ *@ENG_START_DOX If the support state of the color format is successfully returned, __ADLX_OK__ is returned. <br>
730
+ * If the support state of the color format is not successfully returned, an error code is returned. <br>
731
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
732
+ *
733
+ *@copydoc IADLXDisplayColorDepth_REQ_TABLE
734
+ *
735
+ */
736
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedColorDepth (ADLX_COLOR_DEPTH colorDepth, adlx_bool* supported) = 0;
737
+ /**
738
+ *@page DOX_IADLXDisplayColorDepth_IsSupportedBPC_6 IsSupportedBPC_6
739
+ *@ENG_START_DOX @brief Checks if color component/pixel with 6 bits is supported on a display. @ENG_END_DOX
740
+ *
741
+ *@syntax
742
+ *@codeStart
743
+ * @ref ADLX_RESULT IsSupportedBPC_6 (adlx_bool* supported)
744
+ *@codeEnd
745
+ *
746
+ *@params
747
+ *@paramrow{1.,[out] ,supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color component/pixel with 6 bits is returned. The variable is __true__ if color component/pixel with 6 bits is supported. The variable is __false__ if color component/pixel with 6 bits is not supported. @ENG_END_DOX}
748
+ *
749
+ *@retvalues
750
+ *@ENG_START_DOX If the state of color component/pixel with 6 bits is successfully returned, __ADLX_OK__ is returned. <br>
751
+ * If the state of color component/pixel with 6 bits is not successfully returned, an error code is returned. <br>
752
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
753
+ *
754
+ *@copydoc IADLXDisplayColorDepth_REQ_TABLE
755
+ *
756
+ */
757
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBPC_6 (adlx_bool* supported) = 0;
758
+ /**
759
+ *@page DOX_IADLXDisplayColorDepth_IsSupportedBPC_8 IsSupportedBPC_8
760
+ *@ENG_START_DOX @brief Checks if color component/pixel with 8 bits is supported on a display. @ENG_END_DOX
761
+ *
762
+ *@syntax
763
+ *@codeStart
764
+ * @ref ADLX_RESULT IsSupportedBPC_8 (adlx_bool* supported)
765
+ *@codeEnd
766
+ *
767
+ *@params
768
+ *@paramrow{1.,[out] ,supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color component/pixel with 8 bits is returned. The variable is __true__ if color component/pixel with 8 bits is supported. The variable is __false__ if color component/pixel with 8 bits is not supported. @ENG_END_DOX}
769
+ *
770
+ *@retvalues
771
+ *@ENG_START_DOX If the state of color component/pixel with 8 bits is successfully returned, __ADLX_OK__ is returned. <br>
772
+ * If the state of color component/pixel with 8 bits is not successfully returned, an error code is returned. <br>
773
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
774
+ *
775
+ *@copydoc IADLXDisplayColorDepth_REQ_TABLE
776
+ *
777
+ */
778
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBPC_8 (adlx_bool* supported) = 0;
779
+ /**
780
+ *@page DOX_IADLXDisplayColorDepth_IsSupportedBPC_10 IsSupportedBPC_10
781
+ *@ENG_START_DOX @brief Checks if color component/pixel with 10 bits is supported on a display. @ENG_END_DOX
782
+ *
783
+ *@syntax
784
+ *@codeStart
785
+ * @ref ADLX_RESULT IsSupportedBPC_10 (adlx_bool* supported)
786
+ *@codeEnd
787
+ *
788
+ *@params
789
+ *@paramrow{1.,[out] ,supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color component/pixel with 10 bits is returned. The variable is __true__ if color component/pixel with 10 bits is supported. The variable is __false__ if color component/pixel with 10 bits is not supported. @ENG_END_DOX}
790
+ *
791
+ *@retvalues
792
+ *@ENG_START_DOX If the state of color component/pixel with 10 bits is successfully returned, __ADLX_OK__ is returned. <br>
793
+ * If the state of color component/pixel with 10 bits is not successfully returned, an error code is returned. <br>
794
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
795
+ *
796
+ *@copydoc IADLXDisplayColorDepth_REQ_TABLE
797
+ *
798
+ */
799
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBPC_10 (adlx_bool* supported) = 0;
800
+ /**
801
+ *@page DOX_IADLXDisplayColorDepth_IsSupportedBPC_12 IsSupportedBPC_12
802
+ *@ENG_START_DOX @brief Checks if color component/pixel with 12 bits is supported on a display. @ENG_END_DOX
803
+ *
804
+ *@syntax
805
+ *@codeStart
806
+ * @ref ADLX_RESULT IsSupportedBPC_12 (adlx_bool* supported)
807
+ *@codeEnd
808
+ *
809
+ *@params
810
+ *@paramrow{1.,[out] ,supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color component/pixel with 12 bits is returned. The variable is __true__ if color component/pixel with 12 bits is supported. The variable is __false__ if color component/pixel with 12 bits is not supported. @ENG_END_DOX}
811
+ *
812
+ *@retvalues
813
+ *@ENG_START_DOX If the state of color component/pixel with 12 bits is successfully returned, __ADLX_OK__ is returned. <br>
814
+ * If the state of color component/pixel with 12 bits is not successfully returned, an error code is returned. <br>
815
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
816
+ *
817
+ *@copydoc IADLXDisplayColorDepth_REQ_TABLE
818
+ *
819
+ */
820
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBPC_12 (adlx_bool* supported) = 0;
821
+ /**
822
+ *@page DOX_IADLXDisplayColorDepth_IsSupportedBPC_14 IsSupportedBPC_14
823
+ *@ENG_START_DOX @brief Checks if color component/pixel with 14 bits is supported on a display. @ENG_END_DOX
824
+ *
825
+ *@syntax
826
+ *@codeStart
827
+ * @ref ADLX_RESULT IsSupportedBPC_14 (adlx_bool* supported)
828
+ *@codeEnd
829
+ *
830
+ *@params
831
+ *@paramrow{1.,[out] ,supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color component/pixel with 14 bits is returned. The variable is __true__ if color component/pixel with 14 bits is supported. The variable is __false__ if color component/pixel with 14 bits is not supported. @ENG_END_DOX}
832
+ *
833
+ *@retvalues
834
+ *@ENG_START_DOX If the state of color component/pixel with 14 bits is successfully returned, __ADLX_OK__ is returned. <br>
835
+ * If the state of color component/pixel with 14 bits is not successfully returned, an error code is returned. <br>
836
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
837
+ *
838
+ *@copydoc IADLXDisplayColorDepth_REQ_TABLE
839
+ *
840
+ */
841
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBPC_14 (adlx_bool* supported) = 0;
842
+ /**
843
+ *@page DOX_IADLXDisplayColorDepth_IsSupportedBPC_16 IsSupportedBPC_16
844
+ *@ENG_START_DOX @brief Checks if color component/pixel with 16 bits is supported on a display. @ENG_END_DOX
845
+ *
846
+ *@syntax
847
+ *@codeStart
848
+ * @ref ADLX_RESULT IsSupportedBPC_16 (adlx_bool* supported)
849
+ *@codeEnd
850
+ *
851
+ *@params
852
+ *@paramrow{1.,[out] ,supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color component/pixel with 16 bits is returned. The variable is __true__ if color component/pixel with 16 bits is supported. The variable is __false__ if color component/pixel with 16 bits is not supported. @ENG_END_DOX}
853
+ *
854
+ *@retvalues
855
+ *@ENG_START_DOX If the state of color component/pixel with 16 bits is successfully returned, __ADLX_OK__ is returned. <br>
856
+ * If the state of color component/pixel with 16 bits is not successfully returned, an error code is returned. <br>
857
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
858
+ *
859
+ *@copydoc IADLXDisplayColorDepth_REQ_TABLE
860
+ *
861
+ */
862
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBPC_16 (adlx_bool* supported) = 0;
863
+ };
864
+
865
+ typedef IADLXInterfacePtr_T<IADLXDisplayColorDepth> IADLXDisplayColorDepthPtr;
866
+ }
867
+ #else
868
+ ADLX_DECLARE_IID (IADLXDisplayColorDepth, L"IADLXDisplayColorDepth")
869
+ typedef struct IADLXDisplayColorDepth IADLXDisplayColorDepth;
870
+
871
+ typedef struct IADLX_COLOR_DEPTHVtbl
872
+ {
873
+ //IADLXInterface
874
+ adlx_long (ADLX_STD_CALL* Acquire)(IADLXDisplayColorDepth* pThis);
875
+ adlx_long (ADLX_STD_CALL* Release)(IADLXDisplayColorDepth* pThis);
876
+ ADLX_RESULT (ADLX_STD_CALL* QueryInterface)(IADLXDisplayColorDepth* pThis, const wchar_t* interfaceId, void** ppInterface);
877
+
878
+ // Color depth
879
+ ADLX_RESULT (ADLX_STD_CALL* IsSupported)(IADLXDisplayColorDepth* pThis, adlx_bool* supported);
880
+ ADLX_RESULT (ADLX_STD_CALL* GetValue)(IADLXDisplayColorDepth* pThis, ADLX_COLOR_DEPTH* currentColorDepth);
881
+ ADLX_RESULT (ADLX_STD_CALL* SetValue)(IADLXDisplayColorDepth* pThis, ADLX_COLOR_DEPTH colorDepth);
882
+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedColorDepth)(IADLXDisplayColorDepth* pThis, ADLX_COLOR_DEPTH colorDepth, adlx_bool* supported);
883
+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedBPC_6)(IADLXDisplayColorDepth* pThis, adlx_bool* supported);
884
+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedBPC_8)(IADLXDisplayColorDepth* pThis, adlx_bool* supported);
885
+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedBPC_10)(IADLXDisplayColorDepth* pThis, adlx_bool* supported);
886
+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedBPC_12)(IADLXDisplayColorDepth* pThis, adlx_bool* supported);
887
+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedBPC_14)(IADLXDisplayColorDepth* pThis, adlx_bool* supported);
888
+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedBPC_16)(IADLXDisplayColorDepth* pThis, adlx_bool* supported);
889
+ } IADLX_COLOR_DEPTHVtbl;
890
+
891
+ struct IADLXDisplayColorDepth
892
+ {
893
+ const IADLX_COLOR_DEPTHVtbl *pVtbl;
894
+ };
895
+
896
+ #endif
897
+
898
+ #pragma endregion IADLXDisplayColorDepth interface
899
+
900
+ #pragma region IADLXDisplayPixelFormat interface
901
+
902
+ #if defined (__cplusplus)
903
+ namespace adlx
904
+ {
905
+ class ADLX_NO_VTABLE IADLXDisplayPixelFormat : public IADLXInterface
906
+ {
907
+ public:
908
+ ADLX_DECLARE_IID (L"IADLXDisplayPixelFormat")
909
+ /**
910
+ *@page DOX_IADLXDisplayPixelFormat_IsSupported IsSupported
911
+ *@ENG_START_DOX @brief Checks if the pixel format can be configured on a display. @ENG_END_DOX
912
+ *
913
+ *@syntax
914
+ *@codeStart
915
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
916
+ *@codeEnd
917
+ *
918
+ *@params
919
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of pixel format configuration is returned. The variable is __true__ if pixel format configuration is supported. The variable is __false__ if pixel format configuration is not supported. @ENG_END_DOX}
920
+ *
921
+ *@retvalues
922
+ *@ENG_START_DOX If the state of pixel format configuration is successfully returned, __ADLX_OK__ is returned. <br>
923
+ * If the state of pixel format configuration is not successfully returned, an error code is returned. <br>
924
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
925
+ *
926
+ *@addinfo
927
+ *@ENG_START_DOX The pixel format is configurable if the display is connected to the GPU using direct HDMI™-HDMI. <br>
928
+ * Pixel format configuration is not supported for DVI-HDMI and DisplayPort-HDMI connections. @ENG_END_DOX
929
+ *
930
+ *
931
+ *@copydoc IADLXDisplayPixelFormat_REQ_TABLE
932
+ *
933
+ */
934
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
935
+ /**
936
+ *@page DOX_IADLXDisplayPixelFormat_GetValue GetValue
937
+ *@ENG_START_DOX @brief Gets the current pixel format of a display. @ENG_END_DOX
938
+ *
939
+ *@syntax
940
+ *@codeStart
941
+ * @ref ADLX_RESULT GetValue(@ref ADLX_PIXEL_FORMAT* pixelFormat)
942
+ *@codeEnd
943
+ *
944
+ *@params
945
+ * @paramrow{1.,[out],pixelFormat,@ref ADLX_PIXEL_FORMAT*,@ENG_START_DOX The pointer to a variable where the pixel format is returned. @ENG_END_DOX}
946
+ *
947
+ *@retvalues
948
+ *@ENG_START_DOX If the pixel format is successfully returned, __ADLX_OK__ is returned. <br>
949
+ * If the pixel format is not successfully returned, an error code is returned. <br>
950
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
951
+ *
952
+ *@addinfo
953
+ *@ENG_START_DOX The pixel format is configurable if the display is connected to the GPU using direct HDMI™-HDMI. <br>
954
+ * Pixel format configuration is not supported for DVI-HDMI and DisplayPort-HDMI connections. @ENG_END_DOX
955
+ *
956
+ *
957
+ *@copydoc IADLXDisplayPixelFormat_REQ_TABLE
958
+ *
959
+ */
960
+ virtual ADLX_RESULT ADLX_STD_CALL GetValue (ADLX_PIXEL_FORMAT* pixelFormat) = 0;
961
+ /**
962
+ *@page DOX_IADLXDisplayPixelFormat_SetValue SetValue
963
+ *@ENG_START_DOX @brief Sets the pixel format on a display. @ENG_END_DOX
964
+ *
965
+ *@syntax
966
+ *@codeStart
967
+ * @ref ADLX_RESULT SetValue(@ref ADLX_PIXEL_FORMAT pixelFormat)
968
+ *@codeEnd
969
+ *
970
+ *@params
971
+ * @paramrow{1.,[in],pixelFormat,@ref ADLX_PIXEL_FORMAT,@ENG_START_DOX The new pixel format. @ENG_END_DOX}
972
+ *
973
+ *@retvalues
974
+ *@ENG_START_DOX If the pixel format is successfully set, __ADLX_OK__ is returned. <br>
975
+ * If the pixel format is not successfully set, an error code is returned. <br>
976
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
977
+ *
978
+ *@addinfo
979
+ *@ENG_START_DOX The pixel format is configurable if the display is connected to the GPU using direct HDMI™-HDMI. <br>
980
+ * Pixel format configuration is not supported for DVI-HDMI and DisplayPort-HDMI connections. @ENG_END_DOX
981
+ *
982
+ *
983
+ *@copydoc IADLXDisplayPixelFormat_REQ_TABLE
984
+ *
985
+ */
986
+ virtual ADLX_RESULT ADLX_STD_CALL SetValue (ADLX_PIXEL_FORMAT pixelFormat) = 0;
987
+ /**
988
+ *@page DOX_IADLXDisplayPixelFormat_IsSupportedPixelFormat IsSupportedPixelFormat
989
+ *@ENG_START_DOX @brief Checks if the given pixel format is supported on a display. @ENG_END_DOX
990
+ *
991
+ *@syntax
992
+ *@codeStart
993
+ * @ref ADLX_RESULT IsSupportedPixelFormat (@ref ADLX_PIXEL_FORMAT pixelFormat, adlx_bool* supported)
994
+ *@codeEnd
995
+ *
996
+ *@params
997
+ * @paramrow{1.,[in],pixelFormat,@ref ADLX_PIXEL_FORMAT,@ENG_START_DOX The pixel format. @ENG_END_DOX}
998
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the pixel format is returned. The variable is __true__ if the pixel format is supported. The variable is __false__ if pixel format is not supported. @ENG_END_DOX}
999
+ *
1000
+ *@retvalues
1001
+ *@ENG_START_DOX If the support state of the pixel format is successfully returned, __ADLX_OK__ is returned. <br>
1002
+ * If the support state of the pixel format is not successfully returned, an error code is returned. <br>
1003
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1004
+ *
1005
+ *@copydoc IADLXDisplayPixelFormat_REQ_TABLE
1006
+ *
1007
+ */
1008
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedPixelFormat (ADLX_PIXEL_FORMAT pixelFormat, adlx_bool* supportd) = 0;
1009
+ /**
1010
+ *@page DOX_IADLXDisplayPixelFormat_IsSupportedRGB444Full IsSupportedRGB444Full
1011
+ *@ENG_START_DOX @brief Checks if the RGB 4:4:4 PC Standard (Full RGB) pixel format is supported on a display. @ENG_END_DOX
1012
+ *
1013
+ *@syntax
1014
+ *@codeStart
1015
+ * @ref ADLX_RESULT IsSupportedRGB444Full (adlx_bool* supported)
1016
+ *@codeEnd
1017
+ *
1018
+ *@params
1019
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the RGB 4:4:4 PC Standard (Full RGB) pixel format is returned. The variable is __true__ if the RGB 4:4:4 PC Standard (Full RGB) pixel format is supported. The variable is __false__ if the RGB 4:4:4 PC Standard (Full RGB) pixel format is not supported. @ENG_END_DOX}
1020
+ *
1021
+ *@retvalues
1022
+ *@ENG_START_DOX If the support state of the RGB 4:4:4 PC Standard (Full RGB) pixel format is successfully returned, __ADLX_OK__ is returned. <br>
1023
+ * If the support state of the RGB 4:4:4 PC Standard (Full RGB) pixel format is not successfully returned, an error code is returned. <br>
1024
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1025
+ *
1026
+ *@copydoc IADLXDisplayPixelFormat_REQ_TABLE
1027
+ *
1028
+ */
1029
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedRGB444Full (adlx_bool* supportd) = 0;
1030
+ /**
1031
+ *@page DOX_IADLXDisplayPixelFormat_IsSupportedYCbCr444 IsSupportedYCbCr444
1032
+ *@ENG_START_DOX @brief Checks if the YCbCr 4:4:4 pixel format is supported on a display. @ENG_END_DOX
1033
+ *
1034
+ *@syntax
1035
+ *@codeStart
1036
+ * @ref ADLX_RESULT IsSupportedYCbCr444 (adlx_bool* supported)
1037
+ *@codeEnd
1038
+ *
1039
+ *@params
1040
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the YCbCr 4:4:4 pixel format is returned. The variable is __true__ if the YCbCr 4:4:4 pixel format is supported. The variable is __false__ if the YCbCr 4:4:4 pixel format is not supported. @ENG_END_DOX}
1041
+ *
1042
+ *@retvalues
1043
+ *@ENG_START_DOX If the support state of the YCbCr 4:4:4 pixel format is successfully returned, __ADLX_OK__ is returned. <br>
1044
+ * If the support state of the YCbCr 4:4:4 pixel format is not successfully returned, an error code is returned. <br>
1045
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1046
+ *
1047
+ *@copydoc IADLXDisplayPixelFormat_REQ_TABLE
1048
+ *
1049
+ */
1050
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedYCbCr444 (adlx_bool* supportd) = 0;
1051
+ /**
1052
+ *@page DOX_IADLXDisplayPixelFormat_IsSupportedYCbCr422 IsSupportedYCbCr422
1053
+ *@ENG_START_DOX @brief Checks if the YCbCr 4:2:2 pixel format is supported on a display. @ENG_END_DOX
1054
+ *
1055
+ *@syntax
1056
+ *@codeStart
1057
+ * @ref ADLX_RESULT IsSupportedYCbCr422 (adlx_bool* supported)
1058
+ *@codeEnd
1059
+ *
1060
+ *@params
1061
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the YCbCr 4:2:2 pixel format is returned. The variable is __true__ if the YCbCr 4:2:2 pixel format is supported. The variable is __false__ if the YCbCr 4:2:2 pixel format is not supported. @ENG_END_DOX}
1062
+ *
1063
+ *@retvalues
1064
+ *@ENG_START_DOX If the support state of the YCbCr 4:2:2 pixel format is successfully returned, __ADLX_OK__ is returned. <br>
1065
+ * If the support state of the YCbCr 4:2:2 pixel format is not successfully returned, an error code is returned. <br>
1066
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1067
+ *
1068
+ *@copydoc IADLXDisplayPixelFormat_REQ_TABLE
1069
+ *
1070
+ */
1071
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedYCbCr422 (adlx_bool* supportd) = 0;
1072
+ /**
1073
+ *@page DOX_IADLXDisplayPixelFormat_IsSupportedRGB444Limited IsSupportedRGB444Limited
1074
+ *@ENG_START_DOX @brief Checks if the RGB 4:4:4 Studio (Limited RGB) pixel format is supported on a display. @ENG_END_DOX
1075
+ *
1076
+ *@syntax
1077
+ *@codeStart
1078
+ * @ref ADLX_RESULT IsSupportedRGB444Limited (adlx_bool* supported)
1079
+ *@codeEnd
1080
+ *
1081
+ *@params
1082
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the RGB 4:4:4 Studio (Limited RGB) pixel format is returned. The variable is __true__ if the RGB 4:4:4 Studio (Limited RGB) pixel format is supported. The variable is __false__ if the RGB 4:4:4 Studio (Limited RGB) pixel format is not supported. @ENG_END_DOX}
1083
+ *
1084
+ *@retvalues
1085
+ *@ENG_START_DOX If the support state of the RGB 4:4:4 Studio (Limited RGB) pixel format is successfully returned, __ADLX_OK__ is returned. <br>
1086
+ * If the support state of the RGB 4:4:4 Studio (Limited RGB) pixel format is not successfully returned, an error code is returned. <br>
1087
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1088
+ *
1089
+ *@copydoc IADLXDisplayPixelFormat_REQ_TABLE
1090
+ *
1091
+ */
1092
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedRGB444Limited (adlx_bool* supportd) = 0;
1093
+ /**
1094
+ *@page DOX_IADLXDisplayPixelFormat_IsSupportedYCbCr420 IsSupportedYCbCr420
1095
+ *@ENG_START_DOX @brief Checks if the YCbCr 4:2:0 pixel format is supported on a display. @ENG_END_DOX
1096
+ *
1097
+ *@syntax
1098
+ *@codeStart
1099
+ * @ref ADLX_RESULT IsSupportedYCbCr420 (adlx_bool* supported)
1100
+ *@codeEnd
1101
+ *
1102
+ *@params
1103
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the YCbCr 4:2:0 pixel format is returned. The variable is __true__ if the YCbCr 4:2:0 pixel format is supported. The variable is __false__ if the YCbCr 4:2:0 pixel format is not supported. @ENG_END_DOX}
1104
+ *
1105
+ *@retvalues
1106
+ *@ENG_START_DOX If the support state of the YCbCr 4:2:0 pixel format is successfully returned, __ADLX_OK__ is returned. <br>
1107
+ * If the support state of the YCbCr 4:2:0 pixel format is not successfully returned, an error code is returned. <br>
1108
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1109
+ *
1110
+ *@copydoc IADLXDisplayPixelFormat_REQ_TABLE
1111
+ *
1112
+ */
1113
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedYCbCr420 (adlx_bool* supportd) = 0;
1114
+ };
1115
+
1116
+ typedef IADLXInterfacePtr_T<IADLXDisplayPixelFormat> IADLXDisplayPixelFormatPtr;
1117
+ }
1118
+ #else
1119
+ ADLX_DECLARE_IID (IADLXDisplayPixelFormat, L"IADLXDisplayPixelFormat")
1120
+ typedef struct IADLXDisplayPixelFormat IADLXDisplayPixelFormat;
1121
+
1122
+ typedef struct IADLX_PIXEL_FORMATVtbl
1123
+ {
1124
+ //IADLXInterface
1125
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayPixelFormat* pThis);
1126
+ adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayPixelFormat* pThis);
1127
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayPixelFormat* pThis, const wchar_t* interfaceId, void** ppInterface);
1128
+
1129
+ // Pixel format
1130
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayPixelFormat* pThis, adlx_bool* supported);
1131
+ ADLX_RESULT (ADLX_STD_CALL *GetValue)(IADLXDisplayPixelFormat* pThis, ADLX_PIXEL_FORMAT* pixelFormat);
1132
+ ADLX_RESULT (ADLX_STD_CALL *SetValue)(IADLXDisplayPixelFormat* pThis, ADLX_PIXEL_FORMAT pixelFormat);
1133
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedPixelFormat)(IADLXDisplayPixelFormat* pThis, ADLX_PIXEL_FORMAT pixelFormat, adlx_bool* supportd);
1134
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedRGB444Full)(IADLXDisplayPixelFormat* pThis, adlx_bool* supportd);
1135
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedYCbCr444)(IADLXDisplayPixelFormat* pThis, adlx_bool* supportd);
1136
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedYCbCr422)(IADLXDisplayPixelFormat* pThis, adlx_bool* supportd);
1137
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedRGB444Limited)(IADLXDisplayPixelFormat* pThis, adlx_bool* supportd);
1138
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedYCbCr420)(IADLXDisplayPixelFormat* pThis, adlx_bool* supportd);
1139
+ } IADLX_PIXEL_FORMATVtbl;
1140
+
1141
+ struct IADLXDisplayPixelFormat
1142
+ {
1143
+ const IADLX_PIXEL_FORMATVtbl *pVtbl;
1144
+ };
1145
+
1146
+ #endif
1147
+
1148
+ #pragma endregion IADLXDisplayPixelFormat interface
1149
+
1150
+ #pragma region IADLXDisplayCustomColor interface
1151
+
1152
+ #if defined (__cplusplus)
1153
+ namespace adlx
1154
+ {
1155
+ class ADLX_NO_VTABLE IADLXDisplayCustomColor : public IADLXInterface
1156
+ {
1157
+ public:
1158
+ ADLX_DECLARE_IID (L"IADLXDisplayCustomColor")
1159
+ /**
1160
+ *@page DOX_IADLXDisplayCustomColor_IsHueSupported IsHueSupported
1161
+ *@ENG_START_DOX @brief Checks if customization of hue is supported on a display. @ENG_END_DOX
1162
+ *
1163
+ *@syntax
1164
+ *@codeStart
1165
+ * @ref ADLX_RESULT IsHueSupported (adlx_bool* supported)
1166
+ *@codeEnd
1167
+ *
1168
+ *@params
1169
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of hue is returned. The variable is __true__ if customization of hue is supported. The variable is __false__ if customization of hue is not supported. @ENG_END_DOX}
1170
+ *
1171
+ *@retvalues
1172
+ *@ENG_START_DOX If the state of hue is successfully returned, __ADLX_OK__ is returned. <br>
1173
+ * If the state of hue is not successfully returned, an error code is returned. <br>
1174
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1175
+ *
1176
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1177
+ *
1178
+ */
1179
+ virtual ADLX_RESULT ADLX_STD_CALL IsHueSupported (adlx_bool* supported) = 0;
1180
+ /**
1181
+ *@page DOX_IADLXDisplayCustomColor_GetHueRange GetHueRange
1182
+ *@ENG_START_DOX @brief Gets the maximum hue, minimum hue, and step hue of a display. @ENG_END_DOX
1183
+ *
1184
+ *@syntax
1185
+ *@codeStart
1186
+ * @ref ADLX_RESULT GetHueRange (@ref ADLX_IntRange* range)
1187
+ *@codeEnd
1188
+ *
1189
+ *@params
1190
+ *@paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the hue range of the display is returned. @ENG_END_DOX}
1191
+ *
1192
+ *@retvalues
1193
+ *@ENG_START_DOX If the hue range is successfully returned, __ADLX_OK__ is returned. <br>
1194
+ * If the hue range is not successfully returned, an error code is returned. <br>
1195
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1196
+ *
1197
+ *
1198
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1199
+ *
1200
+ */
1201
+ virtual ADLX_RESULT ADLX_STD_CALL GetHueRange (ADLX_IntRange* range) = 0;
1202
+ /**
1203
+ *@page DOX_IADLXDisplayCustomColor_GetHue GetHue
1204
+ *@ENG_START_DOX @brief Gets the current hue of a display. @ENG_END_DOX
1205
+ *
1206
+ *@syntax
1207
+ *@codeStart
1208
+ * @ref ADLX_RESULT GetHue(adlx_int* currentHue)
1209
+ *@codeEnd
1210
+ *
1211
+ *@params
1212
+ * @paramrow{1.,[out],currentHue,adlx_int*,@ENG_START_DOX The pointer to a variable where the current hue of the display is returned. @ENG_END_DOX}
1213
+ *
1214
+ *@retvalues
1215
+ *@ENG_START_DOX If the current hue is successfully returned, __ADLX_OK__ is returned. <br>
1216
+ * If the current hue is not successfully returned, an error code is returned. <br>
1217
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1218
+ *
1219
+ *
1220
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1221
+ *
1222
+ */
1223
+ virtual ADLX_RESULT ADLX_STD_CALL GetHue (adlx_int* currentHue) = 0;
1224
+ /**
1225
+ *@page DOX_IADLXDisplayCustomColor_SetHue SetHue
1226
+ *@ENG_START_DOX @brief Sets the hue on a display. @ENG_END_DOX
1227
+ *
1228
+ *@syntax
1229
+ *@codeStart
1230
+ * @ref ADLX_RESULT SetHue(adlx_int value)
1231
+ *@codeEnd
1232
+ *
1233
+ *@params
1234
+ * @paramrow{1.,[out],hue,adlx_int,@ENG_START_DOX The new hue value. @ENG_END_DOX}
1235
+ *
1236
+ *@retvalues
1237
+ *@ENG_START_DOX If the hue is successfully set, __ADLX_OK__ is returned. <br>
1238
+ * If the hue is not successfully set, an error code is returned. <br>
1239
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1240
+ *
1241
+ *
1242
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1243
+ *
1244
+ */
1245
+ virtual ADLX_RESULT ADLX_STD_CALL SetHue (adlx_int hue) = 0;
1246
+ /**
1247
+ *@page DOX_IADLXDisplayCustomColor_IsSaturationSupported IsSaturationSupported
1248
+ *@ENG_START_DOX @brief Checks if customization of saturation is supported on a display. @ENG_END_DOX
1249
+ *
1250
+ *@syntax
1251
+ *@codeStart
1252
+ * @ref ADLX_RESULT IsSaturationSupported (adlx_bool* supported)
1253
+ *@codeEnd
1254
+ *
1255
+ *@params
1256
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of saturation is returned. The variable is __true__ if customization of saturation is supported. The variable is __false__ if customization of saturation is not supported. @ENG_END_DOX}
1257
+ *
1258
+ *@retvalues
1259
+ *@ENG_START_DOX If the state of saturation is successfully returned, __ADLX_OK__ is returned. <br>
1260
+ * If the state of saturation is not successfully returned, an error code is returned. <br>
1261
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1262
+ *
1263
+ *
1264
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1265
+ *
1266
+ */
1267
+ virtual ADLX_RESULT ADLX_STD_CALL IsSaturationSupported (adlx_bool* supported) = 0;
1268
+ /**
1269
+ *@page DOX_IADLXDisplayCustomColor_GetSaturationRange GetSaturationRange
1270
+ *@ENG_START_DOX @brief Gets the maximum saturation, minimum saturation, and step saturation of a display. @ENG_END_DOX
1271
+ *
1272
+ *@syntax
1273
+ *@codeStart
1274
+ * @ref ADLX_RESULT GetSaturationRange (@ref ADLX_IntRange* range)
1275
+ *@codeEnd
1276
+ *
1277
+ *@params
1278
+ * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the saturation range of the display is returned. @ENG_END_DOX}
1279
+ *
1280
+ *@retvalues
1281
+ *@ENG_START_DOX If the saturation range is successfully returned, __ADLX_OK__ is returned. <br>
1282
+ * If the saturation range is not successfully returned, an error code is returned. <br>
1283
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1284
+ *
1285
+ *
1286
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1287
+ *
1288
+ */
1289
+ virtual ADLX_RESULT ADLX_STD_CALL GetSaturationRange (ADLX_IntRange* range) = 0;
1290
+ /**
1291
+ *@page DOX_IADLXDisplayCustomColor_GetSaturation GetSaturation
1292
+ *@ENG_START_DOX @brief Gets the current saturation of a display. @ENG_END_DOX
1293
+ *
1294
+ *@syntax
1295
+ *@codeStart
1296
+ * @ref ADLX_RESULT GetSaturation(adlx_int* currentSaturation)
1297
+ *@codeEnd
1298
+ *
1299
+ *@params
1300
+ * @paramrow{1.,[out],currentSaturation,adlx_int*,@ENG_START_DOX The pointer to a variable where the current saturation of the display is returned. @ENG_END_DOX}
1301
+ *
1302
+ *@retvalues
1303
+ *@ENG_START_DOX If the current saturation is successfully returned, __ADLX_OK__ is returned. <br>
1304
+ * If the current saturation is not successfully returned, an error code is returned. <br>
1305
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1306
+ *
1307
+ *
1308
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1309
+ *
1310
+ */
1311
+ virtual ADLX_RESULT ADLX_STD_CALL GetSaturation (adlx_int* currentSaturation) = 0;
1312
+ /**
1313
+ *@page DOX_IADLXDisplayCustomColor_SetSaturation SetSaturation
1314
+ *@ENG_START_DOX @brief Sets the saturation on a display. @ENG_END_DOX
1315
+ *
1316
+ *@syntax
1317
+ *@codeStart
1318
+ * @ref ADLX_RESULT SetSaturation(adlx_int saturation)
1319
+ *@codeEnd
1320
+ *
1321
+ *@params
1322
+ * @paramrow{1.,[out],saturation,adlx_int,@ENG_START_DOX The new saturation value. @ENG_END_DOX}
1323
+ *
1324
+ *@retvalues
1325
+ *@ENG_START_DOX If the saturation is successfully set, __ADLX_OK__ is returned. <br>
1326
+ * If the saturation is not successfully set, an error code is returned. <br>
1327
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1328
+ *
1329
+ *
1330
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1331
+ *
1332
+ */
1333
+ virtual ADLX_RESULT ADLX_STD_CALL SetSaturation (adlx_int saturation) = 0;
1334
+ /**
1335
+ *@page DOX_IADLXDisplayCustomColor_IsBrightnessSupported IsBrightnessSupported
1336
+ *@ENG_START_DOX @brief Checks if customization of brightness is supported on a display. @ENG_END_DOX
1337
+ *
1338
+ *@syntax
1339
+ *@codeStart
1340
+ * @ref ADLX_RESULT IsBrightnessSupported (adlx_bool* supported)
1341
+ *@codeEnd
1342
+ *
1343
+ *@params
1344
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of brightness is returned. The variable is __true__ if customization of brightness is supported. The variable is __false__ if customization of brightness is not supported. @ENG_END_DOX}
1345
+ *
1346
+ *@retvalues
1347
+ *@ENG_START_DOX If the state of brightness is successfully returned, __ADLX_OK__ is returned. <br>
1348
+ * If the state of brightness is not successfully returned, an error code is returned. <br>
1349
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1350
+ *
1351
+ *
1352
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1353
+ *
1354
+ */
1355
+ virtual ADLX_RESULT ADLX_STD_CALL IsBrightnessSupported (adlx_bool* supported) = 0;
1356
+ /**
1357
+ *@page DOX_IADLXDisplayCustomColor_GetBrightnessRange GetBrightnessRange
1358
+ *@ENG_START_DOX @brief Gets the maximum brightness, minimum brightness, and step brightness of a display. @ENG_END_DOX
1359
+ *
1360
+ *@syntax
1361
+ *@codeStart
1362
+ * @ref ADLX_RESULT GetBrightnessRange (@ref ADLX_IntRange* range)
1363
+ *@codeEnd
1364
+ *
1365
+ *@params
1366
+ * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the brightness range of the display is returned. @ENG_END_DOX}
1367
+ *
1368
+ *@retvalues
1369
+ *@ENG_START_DOX If the brightness range is successfully returned, __ADLX_OK__ is returned. <br>
1370
+ * If the brightness range is not successfully returned, an error code is returned. <br>
1371
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1372
+ *
1373
+ *
1374
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1375
+ *
1376
+ */
1377
+ virtual ADLX_RESULT ADLX_STD_CALL GetBrightnessRange (ADLX_IntRange* range) = 0;
1378
+ /**
1379
+ *@page DOX_IADLXDisplayCustomColor_GetBrightness GetBrightness
1380
+ *@ENG_START_DOX @brief Gets the current brightness of a display. @ENG_END_DOX
1381
+ *
1382
+ *@syntax
1383
+ *@codeStart
1384
+ * @ref ADLX_RESULT GetBrightness(adlx_int* currentBrightness)
1385
+ *@codeEnd
1386
+ *
1387
+ *@params
1388
+ * @paramrow{1.,[out],currentBrightness,adlx_int*,@ENG_START_DOX The pointer to a variable where the current brightness of the display is returned. @ENG_END_DOX}
1389
+ *
1390
+ *@retvalues
1391
+ *@ENG_START_DOX If the current brightness is successfully returned, __ADLX_OK__ is returned. <br>
1392
+ * If the current brightness is not successfully returned, an error code is returned. <br>
1393
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1394
+ *
1395
+ *
1396
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1397
+ *
1398
+ */
1399
+ virtual ADLX_RESULT ADLX_STD_CALL GetBrightness (adlx_int* currentBrightness) = 0;
1400
+ /**
1401
+ *@page DOX_IADLXDisplayCustomColor_SetBrightness SetBrightness
1402
+ *@ENG_START_DOX @brief Sets the brightness on a display. @ENG_END_DOX
1403
+ *
1404
+ *@syntax
1405
+ *@codeStart
1406
+ * @ref ADLX_RESULT SetBrightness(adlx_int brightness)
1407
+ *@codeEnd
1408
+ *
1409
+ *@params
1410
+ * @paramrow{1.,[out],brightness,adlx_int,@ENG_START_DOX The new brightness value. @ENG_END_DOX}
1411
+ *
1412
+ *@retvalues
1413
+ *@ENG_START_DOX If the brightness is successfully set, __ADLX_OK__ is returned. <br>
1414
+ * If the brightness is not successfully set, an error code is returned. <br>
1415
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1416
+ *
1417
+ *
1418
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1419
+ *
1420
+ */
1421
+ virtual ADLX_RESULT ADLX_STD_CALL SetBrightness (adlx_int brightness) = 0;
1422
+ /**
1423
+ *@page DOX_IADLXDisplayCustomColor_IsContrastSupported IsContrastSupported
1424
+ *@ENG_START_DOX @brief Checks if customization of color contrast is supported on a display. @ENG_END_DOX
1425
+ *
1426
+ *@syntax
1427
+ *@codeStart
1428
+ * @ref ADLX_RESULT IsContrastSupported (adlx_bool* supported)
1429
+ *@codeEnd
1430
+ *
1431
+ *@params
1432
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color contrast is returned. The variable is __true__ if customization of color contrast is supported. The variable is __false__ if customization of color contrast is not supported @ENG_END_DOX}
1433
+ *
1434
+ *@retvalues
1435
+ *@ENG_START_DOX If the state of color contrast is successfully returned, __ADLX_OK__ is returned. <br>
1436
+ * If the state of color contrast is not successfully returned, an error code is returned. <br>
1437
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1438
+ *
1439
+ *
1440
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1441
+ *
1442
+ */
1443
+ virtual ADLX_RESULT ADLX_STD_CALL IsContrastSupported (adlx_bool* supported) = 0;
1444
+ /**
1445
+ *@page DOX_IADLXDisplayCustomColor_GetContrastRange GetContrastRange
1446
+ *@ENG_START_DOX @brief Gets the maximum color contrast, minimum contrast contrast, and step color contrast of a display. @ENG_END_DOX
1447
+ *
1448
+ *@syntax
1449
+ *@codeStart
1450
+ * @ref ADLX_RESULT GetContrastRange (@ref ADLX_IntRange* range)
1451
+ *@codeEnd
1452
+ *
1453
+ *@params
1454
+ * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the color contrast range of the display is returned. @ENG_END_DOX}
1455
+ *
1456
+ *@retvalues
1457
+ *@ENG_START_DOX If the color contrast range is successfully returned, __ADLX_OK__ is returned. <br>
1458
+ * If the color contrast range is not successfully returned, an error code is returned. <br>
1459
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1460
+ *
1461
+ *
1462
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1463
+ *
1464
+ */
1465
+ virtual ADLX_RESULT ADLX_STD_CALL GetContrastRange (ADLX_IntRange* range) = 0;
1466
+ /**
1467
+ *@page DOX_IADLXDisplayCustomColor_GetContrast GetContrast
1468
+ *@ENG_START_DOX @brief Gets the current color contrast of a display. @ENG_END_DOX
1469
+ *
1470
+ *@syntax
1471
+ *@codeStart
1472
+ * @ref ADLX_RESULT GetContrast(adlx_int* currentContrast)
1473
+ *@codeEnd
1474
+ *
1475
+ *@params
1476
+ * @paramrow{1.,[out],currentContrast,adlx_int*,@ENG_START_DOX The pointer to a variable where the current color contrast of the display is returned. @ENG_END_DOX}
1477
+ *
1478
+ *@retvalues
1479
+ *@ENG_START_DOX If the current color contrast is successfully returned, __ADLX_OK__ is returned. <br>
1480
+ * If the current color contrast is not successfully returned, an error code is returned. <br>
1481
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1482
+ *
1483
+ *
1484
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1485
+ *
1486
+ */
1487
+ virtual ADLX_RESULT ADLX_STD_CALL GetContrast (adlx_int* currentContrast) = 0;
1488
+ /**
1489
+ *@page DOX_IADLXDisplayCustomColor_SetContrast SetContrast
1490
+ *@ENG_START_DOX @brief Sets the color contrast on a display. @ENG_END_DOX
1491
+ *
1492
+ *@syntax
1493
+ *@codeStart
1494
+ * @ref ADLX_RESULT SetContrast(adlx_int contrast)
1495
+ *@codeEnd
1496
+ *
1497
+ *@params
1498
+ * @paramrow{1.,[out],contrast,adlx_int,@ENG_START_DOX The new color contrast value. @ENG_END_DOX}
1499
+ *
1500
+ *@retvalues
1501
+ *@ENG_START_DOX If the color contrast value is successfully set, __ADLX_OK__ is returned. <br>
1502
+ * If the color contrast value is not successfully set, an error code is returned. <br>
1503
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1504
+ *
1505
+ *
1506
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1507
+ *
1508
+ */
1509
+ virtual ADLX_RESULT ADLX_STD_CALL SetContrast (adlx_int contrast) = 0;
1510
+ /**
1511
+ *@page DOX_IADLXDisplayCustomColor_IsTemperatureSupported IsTemperatureSupported
1512
+ *@ENG_START_DOX @brief Checks if customization of color temperature is supported on a display. @ENG_END_DOX
1513
+ *
1514
+ *@syntax
1515
+ *@codeStart
1516
+ * @ref ADLX_RESULT IsTemperatureSupported (adlx_bool* supported)
1517
+ *@codeEnd
1518
+ *
1519
+ *@params
1520
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color temperature is returned. The variable is __true__ if customization of color temperature is supported. The variable is __false__ if customization of color temperature is not supported. @ENG_END_DOX}
1521
+ *
1522
+ *@retvalues
1523
+ *@ENG_START_DOX If the state of color temperature is successfully returned, __ADLX_OK__ is returned. <br>
1524
+ * If the state of color temperature is not successfully returned, an error code is returned. <br>
1525
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1526
+ *
1527
+ *
1528
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1529
+ *
1530
+ */
1531
+ virtual ADLX_RESULT ADLX_STD_CALL IsTemperatureSupported (adlx_bool* supported) = 0;
1532
+ /**
1533
+ *@page DOX_IADLXDisplayCustomColor_GetTemperatureRange GetTemperatureRange
1534
+ *@ENG_START_DOX @brief Gets the maximum color temperature, minimum color temperature, and step color temperature of a display. @ENG_END_DOX
1535
+ *
1536
+ *@syntax
1537
+ *@codeStart
1538
+ * @ref ADLX_RESULT GetTemperatureRange (@ref ADLX_IntRange* range)
1539
+ *@codeEnd
1540
+ *
1541
+ *@params
1542
+ * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the color temperature range is returned. @ENG_END_DOX}
1543
+ *
1544
+ *@retvalues
1545
+ *@ENG_START_DOX If the color temperature range is successfully returned, __ADLX_OK__ is returned. <br>
1546
+ * If the color temperature range is not successfully returned, an error code is returned. <br>
1547
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1548
+ *
1549
+ *
1550
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1551
+ *
1552
+ */
1553
+ virtual ADLX_RESULT ADLX_STD_CALL GetTemperatureRange (ADLX_IntRange* range) = 0;
1554
+ /**
1555
+ *@page DOX_IADLXDisplayCustomColor_GetTemperature GetTemperature
1556
+ *@ENG_START_DOX @brief Gets the current color temperature of a display. @ENG_END_DOX
1557
+ *
1558
+ *@syntax
1559
+ *@codeStart
1560
+ * @ref ADLX_RESULT GetTemperature(adlx_int* currentTemperature)
1561
+ *@codeEnd
1562
+ *
1563
+ *@params
1564
+ * @paramrow{1.,[out],currentTemperature,adlx_int*,@ENG_START_DOX The pointer to a variable where the current color temperature of the display is returned. @ENG_END_DOX}
1565
+ *
1566
+ *@retvalues
1567
+ *@ENG_START_DOX If the current color temperature is successfully returned, __ADLX_OK__ is returned. <br>
1568
+ * If the current color temperature is not successfully returned, an error code is returned. <br>
1569
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1570
+ *
1571
+ *
1572
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1573
+ *
1574
+ */
1575
+ virtual ADLX_RESULT ADLX_STD_CALL GetTemperature (adlx_int* currentTemperature) = 0;
1576
+ /**
1577
+ *@page DOX_IADLXDisplayCustomColor_SetTemperature SetTemperature
1578
+ *@ENG_START_DOX @brief Sets the color temperature on a display. @ENG_END_DOX
1579
+ *
1580
+ *@syntax
1581
+ *@codeStart
1582
+ * @ref ADLX_RESULT SetTemperature(adlx_int value)
1583
+ *@codeEnd
1584
+ *
1585
+ *@params
1586
+ * @paramrow{1.,[out],temperature,adlx_int,@ENG_START_DOX The new color temperature value. @ENG_END_DOX}
1587
+ *
1588
+ *@retvalues
1589
+ *@ENG_START_DOX If the color temperature is successfully set, __ADLX_OK__ is returned. <br>
1590
+ * If the color temperature is not successfully set, an error code is returned. <br>
1591
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1592
+ *
1593
+ *
1594
+ *@copydoc IADLXDisplayCustomColor_REQ_TABLE
1595
+ *
1596
+ */
1597
+ virtual ADLX_RESULT ADLX_STD_CALL SetTemperature (adlx_int temperature) = 0;
1598
+ };
1599
+
1600
+ typedef IADLXInterfacePtr_T<IADLXDisplayCustomColor> IADLXDisplayCustomColorPtr;
1601
+ }
1602
+ #else
1603
+ ADLX_DECLARE_IID (IADLXDisplayCustomColor, L"IADLXDisplayCustomColor")
1604
+ typedef struct IADLXDisplayCustomColor IADLXDisplayCustomColor;
1605
+
1606
+ typedef struct IADLXCustomColorVtbl
1607
+ {
1608
+ //IADLXInterface
1609
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayCustomColor* pThis);
1610
+ adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayCustomColor* pThis);
1611
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayCustomColor* pThis, const wchar_t* interfaceId, void** ppInterface);
1612
+
1613
+ // Custom color
1614
+ ADLX_RESULT (ADLX_STD_CALL *IsHueSupported)(IADLXDisplayCustomColor* pThis, adlx_bool* supported);
1615
+ ADLX_RESULT (ADLX_STD_CALL *GetHueRange)(IADLXDisplayCustomColor* pThis, ADLX_IntRange* range);
1616
+ ADLX_RESULT (ADLX_STD_CALL *GetHue)(IADLXDisplayCustomColor* pThis, adlx_int* currentHue);
1617
+ ADLX_RESULT (ADLX_STD_CALL *SetHue)(IADLXDisplayCustomColor* pThis, adlx_int hue);
1618
+
1619
+ ADLX_RESULT (ADLX_STD_CALL *IsSaturationSupported)(IADLXDisplayCustomColor* pThis, adlx_bool* supported);
1620
+ ADLX_RESULT (ADLX_STD_CALL *GetSaturationRange)(IADLXDisplayCustomColor* pThis, ADLX_IntRange* range);
1621
+ ADLX_RESULT (ADLX_STD_CALL *GetSaturation)(IADLXDisplayCustomColor* pThis, adlx_int* currentSaturation);
1622
+ ADLX_RESULT (ADLX_STD_CALL *SetSaturation)(IADLXDisplayCustomColor* pThis, adlx_int saturation);
1623
+
1624
+ ADLX_RESULT (ADLX_STD_CALL *IsBrightnessSupported)(IADLXDisplayCustomColor* pThis, adlx_bool* supported);
1625
+ ADLX_RESULT (ADLX_STD_CALL *GetBrightnessRange)(IADLXDisplayCustomColor* pThis, ADLX_IntRange* range);
1626
+ ADLX_RESULT (ADLX_STD_CALL *GetBrightness)(IADLXDisplayCustomColor* pThis, adlx_int* currentBrightness);
1627
+ ADLX_RESULT (ADLX_STD_CALL *SetBrightness)(IADLXDisplayCustomColor* pThis, adlx_int brightness);
1628
+
1629
+ ADLX_RESULT (ADLX_STD_CALL *IsContrastSupported)(IADLXDisplayCustomColor* pThis, adlx_bool* supported);
1630
+ ADLX_RESULT (ADLX_STD_CALL *GetContrastRange)(IADLXDisplayCustomColor* pThis, ADLX_IntRange* range);
1631
+ ADLX_RESULT (ADLX_STD_CALL *GetContrast)(IADLXDisplayCustomColor* pThis, adlx_int* currentContrast);
1632
+ ADLX_RESULT (ADLX_STD_CALL *SetContrast)(IADLXDisplayCustomColor* pThis, adlx_int contrast);
1633
+
1634
+ ADLX_RESULT (ADLX_STD_CALL *IsTemperatureSupported)(IADLXDisplayCustomColor* pThis, adlx_bool* supported);
1635
+ ADLX_RESULT (ADLX_STD_CALL *GetTemperatureRange)(IADLXDisplayCustomColor* pThis, ADLX_IntRange* range);
1636
+ ADLX_RESULT (ADLX_STD_CALL *GetTemperature)(IADLXDisplayCustomColor* pThis, adlx_int* currentTemperature);
1637
+ ADLX_RESULT (ADLX_STD_CALL *SetTemperature)(IADLXDisplayCustomColor* pThis, adlx_int temperature);
1638
+
1639
+
1640
+ } IADLXCustomColorVtbl;
1641
+
1642
+ struct IADLXDisplayCustomColor
1643
+ {
1644
+ const IADLXCustomColorVtbl *pVtbl;
1645
+ };
1646
+
1647
+ #endif
1648
+
1649
+ #pragma endregion IADLXDisplayCustomColor interface
1650
+
1651
+ #pragma region IADLXDisplayHDCP interface
1652
+
1653
+ #if defined (__cplusplus)
1654
+ namespace adlx
1655
+ {
1656
+ class ADLX_NO_VTABLE IADLXDisplayHDCP : public IADLXInterface
1657
+ {
1658
+ public:
1659
+ ADLX_DECLARE_IID (L"IADLXDisplayHDCP")
1660
+ /**
1661
+ *@page DOX_IADLXDisplayHDCP_IsSupported IsSupported
1662
+ *@ENG_START_DOX @brief Checks if the HDCP can be configured on a display. @ENG_END_DOX
1663
+ *
1664
+ *@syntax
1665
+ *@codeStart
1666
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
1667
+ *@codeEnd
1668
+ *
1669
+ *@params
1670
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the HDCP configuration is returned. The variable is __true__ if HDCP configuration is supported. The variable is __false__ if HDCP configuration is not supported. @ENG_END_DOX}
1671
+ *
1672
+ *@retvalues
1673
+ *@ENG_START_DOX If the state of HDCP configuration is successfully returned, __ADLX_OK__ is returned.<br/>
1674
+ * If the state of HDCP configuration is not successfully returned, an error code is returned.<br/>
1675
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1676
+ *
1677
+ * @addinfo
1678
+ * @ENG_START_DOX
1679
+ * If the HDCP is disabled on this display, digitally protected content may be unplayable, or played at a lower resolution.
1680
+ * @ENG_END_DOX
1681
+ *
1682
+ *@copydoc IADLXDisplayHDCP_REQ_TABLE
1683
+ *
1684
+ */
1685
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
1686
+ /**
1687
+ *@page DOX_IADLXDisplayHDCP_IsEnabled IsEnabled
1688
+ *@ENG_START_DOX @brief Checks if the HDCP is enabled on a display. @ENG_END_DOX
1689
+ *
1690
+ *@syntax
1691
+ *@codeStart
1692
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
1693
+ *@codeEnd
1694
+ *
1695
+ *@params
1696
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of HDCP is returned. The variable is __true__ if HDCP is enabled. The variable is __false__ if HDCP is not enabled. @ENG_END_DOX}
1697
+ *
1698
+ *@retvalues
1699
+ *@ENG_START_DOX If the state of HDCP configuration is successfully returned, __ADLX_OK__ is returned.<br/>
1700
+ * If the state of HDCP configuration is not successfully returned, an error code is returned.<br/>
1701
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1702
+ *
1703
+ * @addinfo
1704
+ * @ENG_START_DOX
1705
+ * If the HDCP is disabled on this display, digitally protected content may be unplayable, or played at a lower resolution.
1706
+ * @ENG_END_DOX
1707
+ *
1708
+ *@copydoc IADLXDisplayHDCP_REQ_TABLE
1709
+ *
1710
+ */
1711
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0;
1712
+ /**
1713
+ *@page DOX_IADLXDisplayHDCP_SetEnabled SetEnabled
1714
+ *@ENG_START_DOX @brief Sets the HDCP to enabled or disabled on a display. @ENG_END_DOX
1715
+ *
1716
+ *@syntax
1717
+ *@codeStart
1718
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
1719
+ *@codeEnd
1720
+ *
1721
+ *@params
1722
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new HDCP configuration state. Set __true__ to enable HDCP. Set __false__ to disable HDCP. @ENG_END_DOX}
1723
+ *
1724
+ *@retvalues
1725
+ *@ENG_START_DOX If the state of HDCP configuration is successfully set, __ADLX_OK__ is returned.<br/>
1726
+ * If the state of HDCP configuration is not successfully set, an error code is returned.<br/>
1727
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1728
+ *
1729
+ * @addinfo
1730
+ * @ENG_START_DOX
1731
+ * If the HDCP is disabled on this display, digitally protected content may be unplayable, or played at a lower resolution.
1732
+ * @ENG_END_DOX
1733
+ *
1734
+ *@copydoc IADLXDisplayHDCP_REQ_TABLE
1735
+ *
1736
+ */
1737
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enabled) = 0;
1738
+ };
1739
+
1740
+ typedef IADLXInterfacePtr_T<IADLXDisplayHDCP> IADLXDisplayHDCPPtr;
1741
+ }
1742
+ #else
1743
+ ADLX_DECLARE_IID (IADLXDisplayHDCP, L"IADLXDisplayHDCP")
1744
+ typedef struct IADLXDisplayHDCP IADLXDisplayHDCP;
1745
+
1746
+ typedef struct IADLXHDCPVtbl
1747
+ {
1748
+ //IADLXInterface
1749
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayHDCP* pThis);
1750
+ adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayHDCP* pThis);
1751
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayHDCP* pThis, const wchar_t* interfaceId, void** ppInterface);
1752
+
1753
+ // HDCP
1754
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayHDCP* pThis, adlx_bool* supported);
1755
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLXDisplayHDCP* pThis, adlx_bool* enabled);
1756
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLXDisplayHDCP* pThis, adlx_bool enabled);
1757
+ } IADLXHDCPVtbl;
1758
+
1759
+ struct IADLXDisplayHDCP
1760
+ {
1761
+ const IADLXHDCPVtbl *pVtbl;
1762
+ };
1763
+
1764
+ #endif
1765
+
1766
+ #pragma endregion IADLXDisplayHDCP interface
1767
+
1768
+ #pragma region IADLXDisplayResolution interface
1769
+ #if defined (__cplusplus)
1770
+
1771
+ namespace adlx
1772
+ {
1773
+ class ADLX_NO_VTABLE IADLXDisplayResolution : public IADLXInterface
1774
+ {
1775
+ public:
1776
+ ADLX_DECLARE_IID (L"IADLXDisplayResolution")
1777
+ /**
1778
+ *@page DOX_IADLXDisplayResolution_GetValue GetValue
1779
+ *@ENG_START_DOX @brief Gets the properties of a custom display resolution. @ENG_END_DOX
1780
+ *
1781
+ *@syntax
1782
+ *@codeStart
1783
+ * @ref ADLX_RESULT GetValue(@ref ADLX_CustomResolution* customResolution)
1784
+ *@codeEnd
1785
+ *
1786
+ *@params
1787
+ * @paramrow{1.,[out],customResolution,@ref ADLX_CustomResolution*,@ENG_START_DOX The pointer to a variable where the properties of a custom display resolution are returned.@ENG_END_DOX}
1788
+ *
1789
+ *@retvalues
1790
+ *@ENG_START_DOX If the properties of a custom display resolution are successfully returned, __ADLX_OK__ is returned.<br/>
1791
+ * If the properties of a custom display resolution are not successfully returned, an error code is returned.<br/>
1792
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1793
+ *
1794
+ *@copydoc IADLXDisplayResolution_REQ_TABLE
1795
+ *
1796
+ */
1797
+ virtual ADLX_RESULT ADLX_STD_CALL GetValue (ADLX_CustomResolution* customResolution) = 0;
1798
+ /**
1799
+ *@page DOX_IADLXDisplayResolution_SetValue SetValue
1800
+ *@ENG_START_DOX @brief Sets the properties of a custom display resolution. @ENG_END_DOX
1801
+ *
1802
+ *@syntax
1803
+ *@codeStart
1804
+ * @ref ADLX_RESULT SetValue(@ref ADLX_CustomResolution customResolution)
1805
+ *@codeEnd
1806
+ *
1807
+ *@params
1808
+ * @paramrow{1.,[in],customResolution,@ref ADLX_CustomResolution,@ENG_START_DOX The properties of a custom display resolution.@ENG_END_DOX}
1809
+ *
1810
+ *@retvalues
1811
+ *@ENG_START_DOX If the properties of a custom display resolution are successfully set, __ADLX_OK__ is returned.<br/>
1812
+ * If the properties of a custom display resolution are not successfully set, an error code is returned.<br/>
1813
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1814
+ *
1815
+ *@copydoc IADLXDisplayResolution_REQ_TABLE
1816
+ *
1817
+ */
1818
+ virtual ADLX_RESULT ADLX_STD_CALL SetValue (ADLX_CustomResolution customResolution) = 0;
1819
+ };
1820
+ //----------------------------------------------------------------------------------------------
1821
+ typedef IADLXInterfacePtr_T<IADLXDisplayResolution> IADLXDisplayResolutionPtr;
1822
+ }
1823
+
1824
+ #else
1825
+
1826
+ ADLX_DECLARE_IID (IADLXDisplayResolution, L"IADLXDisplayResolution")
1827
+
1828
+ typedef struct IADLXDisplayResolution IADLXDisplayResolution;
1829
+
1830
+ typedef struct IADLXDisplayResolutionVtbl
1831
+ {
1832
+ // IADLXInterface
1833
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayResolution* pThis);
1834
+ adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayResolution* pThis);
1835
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayResolution* pThis, const wchar_t* interfaceId, void** ppInterface);
1836
+
1837
+ // IADLXDisplayResolution
1838
+ ADLX_RESULT (ADLX_STD_CALL *GetValue)(IADLXDisplayResolution* pThis, ADLX_CustomResolution* cr);
1839
+ ADLX_RESULT (ADLX_STD_CALL *SetValue)(IADLXDisplayResolution* pThis, ADLX_CustomResolution cr);
1840
+ } IADLXDisplayResolutionVtbl;
1841
+
1842
+ struct IADLXDisplayResolution { const IADLXDisplayResolutionVtbl *pVtbl; };
1843
+
1844
+ #endif
1845
+ #pragma endregion IADLXDisplayResolution interface
1846
+
1847
+ #pragma region IADLXDisplayResolutionList interface
1848
+ #if defined (__cplusplus)
1849
+ namespace adlx
1850
+ {
1851
+ class ADLX_NO_VTABLE IADLXDisplayResolutionList : public IADLXList
1852
+ {
1853
+ public:
1854
+ ADLX_DECLARE_IID (L"IADLXDisplayResolutionList")
1855
+ ADLX_DECLARE_ITEM_IID (IADLXDisplayResolution::IID ())
1856
+ /**
1857
+ * @page DOX_IADLXDisplayResolutionList_At At
1858
+ * @ENG_START_DOX
1859
+ * @brief Returns the item at the asked location.
1860
+ * @ENG_END_DOX
1861
+ * @syntax
1862
+ * @codeStart
1863
+ * @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXDisplayResolution** ppItem)
1864
+ * @codeEnd
1865
+ *
1866
+ * @params
1867
+ * @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX Location index to retrieve the resolution item from the list. @ENG_END_DOX}
1868
+ * @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXDisplayResolution** ,@ENG_START_DOX The address of a pointer variable that receives a pointer to the @ref DOX_IADLXDisplayResolution interface. @ENG_END_DOX}
1869
+ *
1870
+ * @retvalues
1871
+ * @ENG_START_DOX
1872
+ * Returns __ADLX_OK__ for success and ADLX error code @ref ADLX_RESULT for failure.
1873
+ * @ENG_END_DOX
1874
+ *
1875
+ * @detaileddesc
1876
+ * @ENG_START_DOX
1877
+ * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
1878
+ * @ENG_END_DOX
1879
+ *
1880
+ * @addinfo
1881
+ * @ENG_START_DOX
1882
+ * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation.
1883
+ * @ENG_END_DOX
1884
+ *
1885
+ * @copydoc IADLXDisplayResolutionList_REQ_TABLE
1886
+ *
1887
+ */
1888
+ virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXDisplayResolution** ppItem) = 0;
1889
+ /**
1890
+ * @page DOX_IADLXDisplayResolutionList_Add_Back Add_Back
1891
+ * @ENG_START_DOX
1892
+ * @brief Adds an element to the back.
1893
+ * @ENG_END_DOX
1894
+ * @syntax
1895
+ * @codeStart
1896
+ * @ref ADLX_RESULT Add_Back (@ref DOX_IADLXDisplayResolution* pItem)
1897
+ * @codeEnd
1898
+ *
1899
+ * @params
1900
+ * @paramrow{1.,[in] ,pItem,@ref DOX_IADLXDisplayResolution* ,@ENG_START_DOX The address of a pointer variable that receives the @ref DOX_IADLXDisplayResolution interface. @ENG_END_DOX}
1901
+ *
1902
+ * @retvalues
1903
+ * @ENG_START_DOX
1904
+ * Returns __ADLX_OK__ for success and ADLX error code @ref ADLX_RESULT for failure.
1905
+ * @ENG_END_DOX
1906
+ *
1907
+ * @detaileddesc
1908
+ * @ENG_START_DOX
1909
+ * @details Adds an element to the back.
1910
+ *
1911
+ * You should call this method whenever you need to add the resolution item to the end of the list.
1912
+ * @ENG_END_DOX
1913
+ *
1914
+ *
1915
+ * @copydoc IADLXDisplayResolutionList_REQ_TABLE
1916
+ *
1917
+ */
1918
+ virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXDisplayResolution* pItem) = 0;
1919
+ }; //IADLXDisplayResolutionList
1920
+ //----------------------------------------------------------------------------------------------
1921
+ typedef IADLXInterfacePtr_T<IADLXDisplayResolutionList> IADLXDisplayResolutionListPtr;
1922
+ } //namespace adlx
1923
+ #else //__cplusplus
1924
+ ADLX_DECLARE_IID (IADLXDisplayResolutionList, L"IADLXDisplayResolutionList")
1925
+ ADLX_DECLARE_ITEM_IID (IADLXDisplayResolution, IID_IADLXDisplayResolution ())
1926
+
1927
+ typedef struct IADLXDisplayResolutionList IADLXDisplayResolutionList;
1928
+
1929
+ typedef struct IADLXDisplayResolutionListVtbl
1930
+ {
1931
+ //IADLXInterface
1932
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayResolutionList* pThis);
1933
+ adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayResolutionList* pThis);
1934
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayResolutionList* pThis, const wchar_t* interfaceId, void** ppInterface);
1935
+
1936
+ //IADLXList
1937
+ adlx_uint (ADLX_STD_CALL *Size)(IADLXDisplayResolutionList* pThis);
1938
+ adlx_bool (ADLX_STD_CALL *Empty)(IADLXDisplayResolutionList* pThis);
1939
+ adlx_uint (ADLX_STD_CALL *Begin)(IADLXDisplayResolutionList* pThis);
1940
+ adlx_uint (ADLX_STD_CALL *End)(IADLXDisplayResolutionList* pThis);
1941
+ ADLX_RESULT (ADLX_STD_CALL *At)(IADLXDisplayResolutionList* pThis, const adlx_uint location, IADLXInterface** ppItem);
1942
+ ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXDisplayResolutionList* pThis);
1943
+ ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXDisplayResolutionList* pThis);
1944
+ ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXDisplayResolutionList* pThis, IADLXInterface* pItem);
1945
+
1946
+ //IADLXDisplayResolutionList
1947
+ ADLX_RESULT (ADLX_STD_CALL *At_DisplayResolutionList)(IADLXDisplayResolutionList* pThis, const adlx_uint location, IADLXDisplayResolution** ppItem);
1948
+ ADLX_RESULT (ADLX_STD_CALL *Add_Back_DisplayResolutionList)(IADLXDisplayResolutionList* pThis, IADLXDisplayResolution* pItem);
1949
+
1950
+ } IADLXDisplayResolutionListVtbl;
1951
+
1952
+ struct IADLXDisplayResolutionList { const IADLXDisplayResolutionListVtbl *pVtbl; };
1953
+ #endif //__cplusplus
1954
+ #pragma endregion IADLXDisplayResolutionList interface
1955
+
1956
+ #pragma region IADLXDisplayCustomResolution interface
1957
+
1958
+ #if defined (__cplusplus)
1959
+ namespace adlx
1960
+ {
1961
+ class ADLX_NO_VTABLE IADLXDisplayCustomResolution : public IADLXInterface
1962
+ {
1963
+ public:
1964
+ ADLX_DECLARE_IID (L"IADLXDisplayCustomResolution")
1965
+ /**
1966
+ *@page DOX_IADLXDisplayCustomResolution_IsSupported IsSupported
1967
+ *@ENG_START_DOX @brief Checks if custom resolution is supported on a display. @ENG_END_DOX
1968
+ *
1969
+ *@syntax
1970
+ *@codeStart
1971
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
1972
+ *@codeEnd
1973
+ *
1974
+ *@params
1975
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the custom resolution support status is returned. The variable is __true__ if custom resolution is supported. The variable is __false__ if custom resolution is not supported. @ENG_END_DOX}
1976
+ *
1977
+ *@retvalues
1978
+ *@ENG_START_DOX If the custom resolution status is successfully returned, __ADLX_OK__ is returned.<br/>
1979
+ * If the custom resolution status is not successfully returned, an error code is returned.<br/>
1980
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1981
+ *
1982
+ * @addinfo
1983
+ * @ENG_START_DOX
1984
+ * Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.<br/>
1985
+ * __Note__: Displays running in duplicate or Eyefinity mode do not support custom resolutions.
1986
+ * @ENG_END_DOX
1987
+ *
1988
+ *@copydoc IADLXDisplayCustomResolution_REQ_TABLE
1989
+ *
1990
+ */
1991
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
1992
+ /**
1993
+ *@page DOX_IADLXDisplayCustomResolution_GetResolutionList GetResolutionList
1994
+ *@ENG_START_DOX @brief Gets the reference counted list of available resolutions of a display. @ENG_END_DOX
1995
+ *
1996
+ *@syntax
1997
+ *@codeStart
1998
+ * @ref ADLX_RESULT GetResolutionList(@ref DOX_IADLXDisplayResolutionList** ppResolutionList)
1999
+ *@codeEnd
2000
+ *
2001
+ *@params
2002
+ * @paramrow{1.,[out],cr,@ref DOX_IADLXDisplayResolutionList*,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __ppResolutionList__ to __nullptr__.@ENG_END_DOX}
2003
+ *
2004
+ *@retvalues
2005
+ *@ENG_START_DOX If the resolution list is successfully returned, __ADLX_OK__ is returned.<br/>
2006
+ * If the resolution list is not successfully returned, an error code is returned.<br/>
2007
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2008
+ *
2009
+ * @detaileddesc
2010
+ * @ENG_START_DOX
2011
+ * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
2012
+ * @ENG_END_DOX
2013
+ *
2014
+ * @addinfo
2015
+ * @ENG_START_DOX
2016
+ *In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally.<br/>
2017
+ *
2018
+ * Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.<br/>
2019
+ * __Note__: Displays running in duplicate or Eyefinity mode do not support custom resolutions.
2020
+ * @ENG_END_DOX
2021
+ *
2022
+ *@copydoc IADLXDisplayCustomResolution_REQ_TABLE
2023
+ *
2024
+ */
2025
+ virtual ADLX_RESULT ADLX_STD_CALL GetResolutionList (IADLXDisplayResolutionList** ppResolutionList) = 0;
2026
+ /**
2027
+ *@page DOX_IADLXDisplayCustomResolution_GetCurrentAppliedResolution GetCurrentAppliedResolution
2028
+ *@ENG_START_DOX @brief Gets the reference counted current resolution interface of a display. @ENG_END_DOX
2029
+ *
2030
+ *@syntax
2031
+ *@codeStart
2032
+ * @ref ADLX_RESULT GetCurrentAppliedResolution(@ref DOX_IADLXDisplayResolution** ppResolution)
2033
+ *@codeEnd
2034
+ *
2035
+ *@params
2036
+ * @paramrow{1.,[out],ppResolution,@ref DOX_IADLXDisplayResolution**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __ppResolution__ to __nullptr__.@ENG_END_DOX}
2037
+ *
2038
+ *@retvalues
2039
+ *@ENG_START_DOX If the current resolution is successfully returned, __ADLX_OK__ is returned.<br/>
2040
+ * If the current resolution is not successfully returned, an error code is returned.<br/>
2041
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2042
+ *
2043
+ * @detaileddesc
2044
+ * @ENG_START_DOX
2045
+ * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
2046
+ * @ENG_END_DOX
2047
+ *
2048
+ * @addinfo
2049
+ * @ENG_START_DOX
2050
+ * In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally.<br/>
2051
+ *
2052
+ * Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.<br/>
2053
+ * __Note__: Displays running in duplicate or Eyefinity mode do not support custom resolutions.
2054
+ * @ENG_END_DOX
2055
+ *
2056
+ *@copydoc IADLXDisplayCustomResolution_REQ_TABLE
2057
+ *
2058
+ */
2059
+ virtual ADLX_RESULT ADLX_STD_CALL GetCurrentAppliedResolution (IADLXDisplayResolution** ppResolution) = 0;
2060
+ /**
2061
+ *@page DOX_IADLXDisplayCustomResolution_CreateNewResolution CreateNewResolution
2062
+ *@ENG_START_DOX @brief Creates a custom resolution on a display. @ENG_END_DOX
2063
+ *
2064
+ *@syntax
2065
+ *@codeStart
2066
+ * @ref ADLX_RESULT CreateNewResolution(@ref DOX_IADLXDisplayResolution* pResolution)
2067
+ *@codeEnd
2068
+ *
2069
+ *@params
2070
+ * @paramrow{1.,[out],pResolution,@ref DOX_IADLXDisplayResolution*,@ENG_START_DOX The pointer to the custom resolution interface.@ENG_END_DOX}
2071
+ *
2072
+ *@retvalues
2073
+ *@ENG_START_DOX If the custom resolution is successfully created, __ADLX_OK__ is returned.<br/>
2074
+ * If the custom resolution is not successfully created, an error code is returned.<br/>
2075
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2076
+ *
2077
+ * @addinfo
2078
+ * @ENG_START_DOX
2079
+ * Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.<br/>
2080
+ * __Note__: Displays running in duplicate or Eyefinity mode do not support custom resolutions.
2081
+ * @ENG_END_DOX
2082
+ *
2083
+ *@copydoc IADLXDisplayCustomResolution_REQ_TABLE
2084
+ *
2085
+ */
2086
+ virtual ADLX_RESULT ADLX_STD_CALL CreateNewResolution (IADLXDisplayResolution* pResolution) = 0;
2087
+ /**
2088
+ *@page DOX_IADLXDisplayCustomResolution_DeleteResolution DeleteResolution
2089
+ *@ENG_START_DOX @brief Deletes a custom resolution from a display. @ENG_END_DOX
2090
+ *
2091
+ *@syntax
2092
+ *@codeStart
2093
+ * @ref ADLX_RESULT DeleteResolution(@ref DOX_IADLXDisplayResolution* pResolution)
2094
+ *@codeEnd
2095
+ *
2096
+ *@params
2097
+ * @paramrow{1.,[out],pResolution,@ref DOX_IADLXDisplayResolution*,@ENG_START_DOX The pointer to a variable where the display resolution @ref DOX_IADLXDisplayResolution is returned.@ENG_END_DOX}
2098
+ *
2099
+ *@retvalues
2100
+ *@ENG_START_DOX If the custom resolution is successfully deleted, __ADLX_OK__ is returned.<br/>
2101
+ * If the custom resolution is not successfully deleted, an error code is returned.<br/>
2102
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2103
+ *
2104
+ * @addinfo
2105
+ * @ENG_START_DOX
2106
+ * Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.<br/>
2107
+ * __Note__: Displays running in duplicate or Eyefinity mode do not support custom resolutions.
2108
+ * @ENG_END_DOX
2109
+ *
2110
+ *@copydoc IADLXDisplayCustomResolution_REQ_TABLE
2111
+ *
2112
+ */
2113
+ virtual ADLX_RESULT ADLX_STD_CALL DeleteResolution (IADLXDisplayResolution* pResolution) = 0;
2114
+ };
2115
+
2116
+ typedef IADLXInterfacePtr_T<IADLXDisplayCustomResolution> IADLXDisplayCustomResolutionPtr;
2117
+ }
2118
+ #else
2119
+ ADLX_DECLARE_IID (IADLXDisplayCustomResolution, L"IADLXDisplayCustomResolution")
2120
+ typedef struct IADLXDisplayCustomResolution IADLXDisplayCustomResolution;
2121
+
2122
+ typedef struct IADLXDisplayCustomResolutionVtbl
2123
+ {
2124
+ //IADLXInterface
2125
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayCustomResolution* pThis);
2126
+ adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayCustomResolution* pThis);
2127
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayCustomResolution* pThis, const wchar_t* interfaceId, void** ppInterface);
2128
+
2129
+ // Custom resolution
2130
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayCustomResolution* pThis, adlx_bool* supported);
2131
+ ADLX_RESULT (ADLX_STD_CALL *GetResolutionList)(IADLXDisplayCustomResolution* pThis, IADLXDisplayResolutionList** ppResolutionList);
2132
+ ADLX_RESULT (ADLX_STD_CALL *GetCurrentAppliedResolution)(IADLXDisplayCustomResolution* pThis, IADLXDisplayResolution** ppResolution);
2133
+ ADLX_RESULT (ADLX_STD_CALL *CreateNewResolution)(IADLXDisplayCustomResolution* pThis, IADLXDisplayResolution* pResolution);
2134
+ ADLX_RESULT (ADLX_STD_CALL *DeleteResolution)(IADLXDisplayCustomResolution* pThis, IADLXDisplayResolution* pResolution);
2135
+ } IADLXDisplayCustomResolutionVtbl;
2136
+
2137
+ struct IADLXDisplayCustomResolution
2138
+ {
2139
+ const IADLXDisplayCustomResolutionVtbl *pVtbl;
2140
+ };
2141
+ #endif
2142
+
2143
+ #pragma endregion IADLXDisplayCustomResolution interface
2144
+
2145
+ #pragma region IADLXDisplayVariBright interface
2146
+
2147
+ #if defined (__cplusplus)
2148
+ namespace adlx
2149
+ {
2150
+ class ADLX_NO_VTABLE IADLXDisplayVariBright : public IADLXInterface
2151
+ {
2152
+ public:
2153
+ ADLX_DECLARE_IID (L"IADLXDisplayVariBright")
2154
+ /**
2155
+ *@page DOX_IADLXDisplayVariBright_IsSupported IsSupported
2156
+ *@ENG_START_DOX @brief Checks if Vari-Bright can be configured on a display. @ENG_END_DOX
2157
+ *
2158
+ *@syntax
2159
+ *@codeStart
2160
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
2161
+ *@codeEnd
2162
+ *
2163
+ *@params
2164
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Vari-Bright is returned. The variable is __true__ if Vari-Bright is supported. The variable is __false__ if Vari-Bright is not supported. @ENG_END_DOX}
2165
+ *
2166
+ *@retvalues
2167
+ *@ENG_START_DOX If the state of Vari-Bright is successfully returned, __ADLX_OK__ is returned. <br>
2168
+ * If the state of Vari-Bright is not successfully returned, an error code is returned. <br>
2169
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2170
+ *
2171
+ *
2172
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2173
+ *
2174
+ */
2175
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
2176
+ /**
2177
+ *@page DOX_IADLXDisplayVariBright_IsEnabled IsEnabled
2178
+ *@ENG_START_DOX @brief Checks if Vari-Bright is enabled on a display. @ENG_END_DOX
2179
+ *
2180
+ *@syntax
2181
+ *@codeStart
2182
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
2183
+ *@codeEnd
2184
+ *
2185
+ *@params
2186
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Vari-Bright is returned. The variable is __true__ if Vari-Bright is enabled. The variable is __false__ if Vari-Bright is not enabled. @ENG_END_DOX}
2187
+ *
2188
+ *@retvalues
2189
+ *@ENG_START_DOX If the state of Vari-Bright is successfully returned, __ADLX_OK__ is returned. <br>
2190
+ * If the state of Vari-Bright is not successfully returned, an error code is returned. <br>
2191
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2192
+ *
2193
+ *
2194
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2195
+ *
2196
+ */
2197
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0;
2198
+ /**
2199
+ *@page DOX_IADLXDisplayVariBright_SetEnabled SetEnabled
2200
+ *@ENG_START_DOX @brief Sets the Vari-Bright to enabled or disabled on a display. @ENG_END_DOX
2201
+ *
2202
+ *@syntax
2203
+ *@codeStart
2204
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
2205
+ *@codeEnd
2206
+ *
2207
+ *@params
2208
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Vari-Bright state. Set __true__ to enable Vari-Bright. Set __false__ to disable Vari-Bright. @ENG_END_DOX}
2209
+ *
2210
+ *@retvalues
2211
+ *@ENG_START_DOX If the state of Vari-Bright is successfully set, __ADLX_OK__ is returned. <br>
2212
+ * If the state of Vari-Bright is not successfully set, an error code is returned. <br>
2213
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2214
+ *
2215
+ *
2216
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2217
+ *
2218
+ */
2219
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enabled) = 0;
2220
+ /**
2221
+ *@page DOX_IADLXDisplayVariBright_IsCurrentMaximizeBrightness IsCurrentMaximizeBrightness
2222
+ *@ENG_START_DOX @brief Checks if the maximized brightness Vari-Bright preset is used on a display. @ENG_END_DOX
2223
+ *
2224
+ *@syntax
2225
+ *@codeStart
2226
+ * @ref ADLX_RESULT IsCurrentMaximizeBrightness (adlx_bool* maximizeBrightness)
2227
+ *@codeEnd
2228
+ *
2229
+ *@params
2230
+ *@paramrow{1.,[out],maximizeBrightness,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the maximize brightness preset is returned. The variable is __true__ if the maximize brightness preset is used. The variable is __false__ if the maximize brightness preset is not used. @ENG_END_DOX}
2231
+ *
2232
+ *@retvalues
2233
+ *@ENG_START_DOX If the state of maximize brightness preset is successfully returned, __ADLX_OK__ is returned. <br>
2234
+ * If the state of maximize brightness preset is not successfully returned, an error code is returned. <br>
2235
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2236
+ *
2237
+ *
2238
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2239
+ *
2240
+ */
2241
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentMaximizeBrightness (adlx_bool* maximizeBrightness) = 0;
2242
+ /**
2243
+ *@page DOX_IADLXDisplayVariBright_IsCurrentOptimizeBrightness IsCurrentOptimizeBrightness
2244
+ *@ENG_START_DOX @brief Checks if the optimized brightness Vari-Bright preset is used on a display. @ENG_END_DOX
2245
+ *
2246
+ *@syntax
2247
+ *@codeStart
2248
+ * @ref ADLX_RESULT IsCurrentOptimizeBrightness (adlx_bool* optimizeBrightness)
2249
+ *@codeEnd
2250
+ *
2251
+ *@params
2252
+ *@paramrow{1.,[out],optimizeBrightness,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the optimized brightness preset is returned. The variable is __true__ if the optimized brightness preset is used. The variable is __false__ if the optimized brightness preset is not used. @ENG_END_DOX}
2253
+ *
2254
+ *@retvalues
2255
+ *@ENG_START_DOX If the state of optimized brightness preset is successfully returned, __ADLX_OK__ is returned. <br>
2256
+ * If the state of optimized brightness preset is not successfully returned, an error code is returned. <br>
2257
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2258
+ *
2259
+ *
2260
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2261
+ *
2262
+ */
2263
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentOptimizeBrightness (adlx_bool* optimizeBrightness) = 0;
2264
+ /**
2265
+ *@page DOX_IADLXDisplayVariBright_IsCurrentBalanced IsCurrentBalanced
2266
+ *@ENG_START_DOX @brief Checks if the balanced Vari-Bright preset is used on a display. @ENG_END_DOX
2267
+ *
2268
+ *@syntax
2269
+ *@codeStart
2270
+ * @ref ADLX_RESULT IsCurrentBalanced (adlx_bool* balanced)
2271
+ *@codeEnd
2272
+ *
2273
+ *@params
2274
+ *@paramrow{1.,[out],balanced,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the Vari-Bright preset is returned. The variable is __true__ if the balanced preset is used. The variable is __false__ if the balanced preset is not used. @ENG_END_DOX}
2275
+ *
2276
+ *@retvalues
2277
+ *@ENG_START_DOX If the state of balanced preset is successfully returned, __ADLX_OK__ is returned. <br>
2278
+ * If the state of balanced preset is not successfully returned, an error code is returned. <br>
2279
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2280
+ *
2281
+ *
2282
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2283
+ *
2284
+ */
2285
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentBalanced (adlx_bool* balanced) = 0;
2286
+ /**
2287
+ *@page DOX_IADLXDisplayVariBright_IsCurrentOptimizeBattery IsCurrentOptimizeBattery
2288
+ *@ENG_START_DOX @brief Checks if the optimized battery Vari-Bright preset is used on a display. @ENG_END_DOX
2289
+ *
2290
+ *@syntax
2291
+ *@codeStart
2292
+ * @ref ADLX_RESULT IsCurrentOptimizeBattery (adlx_bool* optimizeBattery)
2293
+ *@codeEnd
2294
+ *
2295
+ *@params
2296
+ *@paramrow{1.,[out],optimizeBattery,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the optimized battery preset is returned. The variable is __true__ if the optimized battery preset is used. The variable is __false__ if the optimized battery preset is not used. @ENG_END_DOX}
2297
+ *
2298
+ *@retvalues
2299
+ *@ENG_START_DOX If the state of optimized battery preset is successfully returned, __ADLX_OK__ is returned. <br>
2300
+ * If the state of optimized battery preset is not successfully returned, an error code is returned. <br>
2301
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2302
+ *
2303
+ *
2304
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2305
+ *
2306
+ */
2307
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentOptimizeBattery (adlx_bool* optimizeBattery) = 0;
2308
+ /**
2309
+ *@page DOX_IADLXDisplayVariBright_IsCurrentMaximizeBattery IsCurrentMaximizeBattery
2310
+ *@ENG_START_DOX @brief Checks if the maximize battery Vari-Bright preset is used on a display. @ENG_END_DOX
2311
+ *
2312
+ *@syntax
2313
+ *@codeStart
2314
+ * @ref ADLX_RESULT IsCurrentMaximizeBattery (adlx_bool* maximizeBattery)
2315
+ *@codeEnd
2316
+ *
2317
+ *@params
2318
+ *@paramrow{1.,[out],maximizeBattery,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the maximize battery preset is returned. The variable is __true__ if the maximize battery preset is used. The variable is __false__ if the maximize battery preset is not used. @ENG_END_DOX}
2319
+ *
2320
+ *@retvalues
2321
+ *@ENG_START_DOX If the state of maximize battery preset is successfully returned, __ADLX_OK__ is returned. <br>
2322
+ * If the state of maximize battery preset is not successfully returned, an error code is returned. <br>
2323
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2324
+ *
2325
+ *
2326
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2327
+ *
2328
+ */
2329
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentMaximizeBattery (adlx_bool* maximizeBattery) = 0;
2330
+ /**
2331
+ *@page DOX_IADLXDisplayVariBright_SetMaximizeBrightness SetMaximizeBrightness
2332
+ *@ENG_START_DOX @brief Sets the maximize brightness Vari-Bright preset on a display. @ENG_END_DOX
2333
+ *
2334
+ *@syntax
2335
+ *@codeStart
2336
+ * @ref ADLX_RESULT SetMaximizeBrightness ()
2337
+ *@codeEnd
2338
+ *
2339
+ *@params
2340
+ * N/A
2341
+ *
2342
+ *@retvalues
2343
+ *@ENG_START_DOX If the maximized brightness preset is successfully set, __ADLX_OK__ is returned. <br>
2344
+ * If the maximized brightness preset is not successfully set, an error code is returned. <br>
2345
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2346
+ *
2347
+ *
2348
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2349
+ *
2350
+ */
2351
+ virtual ADLX_RESULT ADLX_STD_CALL SetMaximizeBrightness () = 0;
2352
+ /**
2353
+ *@page DOX_IADLXDisplayVariBright_SetOptimizeBrightness SetOptimizeBrightness
2354
+ *@ENG_START_DOX @brief Sets the optimize brightness Vari-Bright preset on a display. @ENG_END_DOX
2355
+ *
2356
+ *@syntax
2357
+ *@codeStart
2358
+ * @ref ADLX_RESULT SetOptimizeBrightness ()
2359
+ *@codeEnd
2360
+ *
2361
+ *@params
2362
+ * N/A
2363
+ *
2364
+ *@retvalues
2365
+ *@ENG_START_DOX If the optimize brightness preset is successfully set, __ADLX_OK__ is returned. <br>
2366
+ * If the optimize brightness preset is not successfully set, an error code is returned. <br>
2367
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2368
+ *
2369
+ *
2370
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2371
+ *
2372
+ */
2373
+ virtual ADLX_RESULT ADLX_STD_CALL SetOptimizeBrightness () = 0;
2374
+ /**
2375
+ *@page DOX_IADLXDisplayVariBright_SetBalanced SetBalanced
2376
+ *@ENG_START_DOX @brief Sets the balanced Vari-Bright preset on a display. @ENG_END_DOX
2377
+ *
2378
+ *@syntax
2379
+ *@codeStart
2380
+ * @ref ADLX_RESULT SetBalanced ()
2381
+ *@codeEnd
2382
+ *
2383
+ *@params
2384
+ * N/A
2385
+ *
2386
+ *@retvalues
2387
+ *@ENG_START_DOX If the balanced preset is successfully set, __ADLX_OK__ is returned. <br>
2388
+ * If the balanced preset is not successfully set, an error code is returned. <br>
2389
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2390
+ *
2391
+ *
2392
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2393
+ *
2394
+ */
2395
+ virtual ADLX_RESULT ADLX_STD_CALL SetBalanced () = 0;
2396
+ /**
2397
+ *@page DOX_IADLXDisplayVariBright_SetOptimizeBattery SetOptimizeBattery
2398
+ *@ENG_START_DOX @brief Sets the optimize battery Vari-Bright preset on a display. @ENG_END_DOX
2399
+ *
2400
+ *@syntax
2401
+ *@codeStart
2402
+ * @ref ADLX_RESULT SetOptimizeBattery ()
2403
+ *@codeEnd
2404
+ *
2405
+ *@params
2406
+ * N/A
2407
+ *
2408
+ *@retvalues
2409
+ *@ENG_START_DOX If the optimize battery preset is successfully set, __ADLX_OK__ is returned. <br>
2410
+ * If the optimize battery preset is not successfully set, an error code is returned. <br>
2411
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2412
+ *
2413
+ *
2414
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2415
+ *
2416
+ */
2417
+ virtual ADLX_RESULT ADLX_STD_CALL SetOptimizeBattery () = 0;
2418
+ /**
2419
+ *@page DOX_IADLXDisplayVariBright_SetMaximizeBattery SetMaximizeBattery
2420
+ *@ENG_START_DOX @brief Sets the maximize battery Vari-Bright preset on a display. @ENG_END_DOX
2421
+ *
2422
+ *@syntax
2423
+ *@codeStart
2424
+ * @ref ADLX_RESULT SetMaximizeBattery ()
2425
+ *@codeEnd
2426
+ *
2427
+ *@params
2428
+ * N/A
2429
+ *
2430
+ *@retvalues
2431
+ *@ENG_START_DOX If the maximize battery preset is successfully set, __ADLX_OK__ is returned. <br>
2432
+ * If the maximize battery preset is not successfully set, an error code is returned. <br>
2433
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2434
+ *
2435
+ *@detaileddesc
2436
+ *
2437
+ *@ENG_START_DOX @details The maximized battery preset maximizes battery time. @ENG_END_DOX
2438
+ *
2439
+ *@copydoc IADLXDisplayVariBright_REQ_TABLE
2440
+ *
2441
+ */
2442
+ virtual ADLX_RESULT ADLX_STD_CALL SetMaximizeBattery () = 0;
2443
+ };
2444
+
2445
+ typedef IADLXInterfacePtr_T<IADLXDisplayVariBright> IADLXDisplayVariBrightPtr;
2446
+ }
2447
+ #else
2448
+ ADLX_DECLARE_IID (IADLXDisplayVariBright, L"IADLXDisplayVariBright")
2449
+ typedef struct IADLXDisplayVariBright IADLXDisplayVariBright;
2450
+
2451
+ typedef struct IADLXDisplayVariBrightVtbl
2452
+ {
2453
+ //IADLXInterface
2454
+ adlx_long (ADLX_STD_CALL* Acquire)(IADLXDisplayVariBright* pThis);
2455
+ adlx_long (ADLX_STD_CALL* Release)(IADLXDisplayVariBright* pThis);
2456
+ ADLX_RESULT (ADLX_STD_CALL* QueryInterface)(IADLXDisplayVariBright* pThis, const wchar_t* interfaceId, void** ppInterface);
2457
+
2458
+ // Vari-Bright interface
2459
+ ADLX_RESULT (ADLX_STD_CALL* IsSupported)(IADLXDisplayVariBright* pThis, adlx_bool* supported);
2460
+ ADLX_RESULT (ADLX_STD_CALL* IsEnabled)(IADLXDisplayVariBright* pThis, adlx_bool* enabled);
2461
+ ADLX_RESULT (ADLX_STD_CALL* SetEnabled)(IADLXDisplayVariBright* pThis, adlx_bool enabled);
2462
+ ADLX_RESULT (ADLX_STD_CALL* IsCurrentMaximizeBrightness)(IADLXDisplayVariBright* pThis, adlx_bool* maximizeBrightness);
2463
+ ADLX_RESULT (ADLX_STD_CALL* IsCurrentOptimizeBrightness)(IADLXDisplayVariBright* pThis, adlx_bool* optimizeBrightness);
2464
+ ADLX_RESULT (ADLX_STD_CALL* IsCurrentBalanced)(IADLXDisplayVariBright* pThis, adlx_bool* balanced);
2465
+ ADLX_RESULT (ADLX_STD_CALL* IsCurrentOptimizeBattery)(IADLXDisplayVariBright* pThis, adlx_bool* optimizeBattery);
2466
+ ADLX_RESULT (ADLX_STD_CALL* IsCurrentMaximizeBattery)(IADLXDisplayVariBright* pThis, adlx_bool* maximizeBattery);
2467
+ ADLX_RESULT (ADLX_STD_CALL* SetMaximizeBrightness)(IADLXDisplayVariBright* pThis);
2468
+ ADLX_RESULT (ADLX_STD_CALL* SetOptimizeBrightness)(IADLXDisplayVariBright* pThis);
2469
+ ADLX_RESULT (ADLX_STD_CALL* SetBalanced)(IADLXDisplayVariBright* pThis);
2470
+ ADLX_RESULT (ADLX_STD_CALL* SetOptimizeBattery)(IADLXDisplayVariBright* pThis);
2471
+ ADLX_RESULT (ADLX_STD_CALL* SetMaximizeBattery)(IADLXDisplayVariBright* pThis);
2472
+ } IADLXDisplayVariBrightVtbl;
2473
+
2474
+ struct IADLXDisplayVariBright
2475
+ {
2476
+ const IADLXDisplayVariBrightVtbl* pVtbl;
2477
+ };
2478
+ #endif
2479
+
2480
+ #pragma endregion IADLXDisplayVariBright interface
2481
+
2482
+ #pragma region IADLXDisplayVariBright1 interface
2483
+
2484
+ #if defined (__cplusplus)
2485
+ namespace adlx
2486
+ {
2487
+ class ADLX_NO_VTABLE IADLXDisplayVariBright1 : public IADLXDisplayVariBright
2488
+ {
2489
+ public:
2490
+ ADLX_DECLARE_IID(L"IADLXDisplayVariBright1")
2491
+ /**
2492
+ *@page DOX_IADLXDisplayVariBright1_IsBacklightAdaptiveSupported IsBacklightAdaptiveSupported
2493
+ *@ENG_START_DOX @brief Checks if Backlight Adaptive Vari-Bright Scaling mode is supported on a display. @ENG_END_DOX
2494
+ *
2495
+ *@syntax
2496
+ *@codeStart
2497
+ * @ref ADLX_RESULT IsBacklightAdaptiveSupported (adlx_bool* supported)
2498
+ *@codeEnd
2499
+ *
2500
+ *@params
2501
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the supported status of Backlight Adaptive Vari-Bright Scaling mode is returned. The variable is __true__ if Backlight Adaptive Vari-Bright Scaling mode is supported. The variable is __false__ if Backlight Adaptive Vari-Bright Scaling mode is not supported. @ENG_END_DOX}
2502
+ *
2503
+ *@retvalues
2504
+ *@ENG_START_DOX If the supported status of Backlight Adaptive Vari-Bright Scaling mode is successfully returned, __ADLX_OK__ is returned. <br>
2505
+ * If the supported status of Backlight Adaptive Vari-Bright Scaling mode is not successfully returned, an error code is returned. <br>
2506
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2507
+ *
2508
+ *
2509
+ *@copydoc IADLXDisplayVariBright1_REQ_TABLE
2510
+ *
2511
+ */
2512
+ virtual ADLX_RESULT ADLX_STD_CALL IsBacklightAdaptiveSupported(adlx_bool* supported) = 0;
2513
+ /**
2514
+ *@page DOX_IADLXDisplayVariBright1_IsBacklightAdaptiveEnabled IsBacklightAdaptiveEnabled
2515
+ *@ENG_START_DOX @brief Checks if Backlight Adaptive Vari-Bright Scaling mode is enabled on a display. @ENG_END_DOX
2516
+ *
2517
+ *@syntax
2518
+ *@codeStart
2519
+ * @ref ADLX_RESULT IsBacklightAdaptiveEnabled (adlx_bool* enabled)
2520
+ *@codeEnd
2521
+ *
2522
+ *@params
2523
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Backlight Adaptive Vari-Bright Scaling mode is returned. The variable is __true__ if Backlight Adaptive Vari-Bright Scaling mode is enabled. The variable is __false__ if Backlight Adaptive Vari-Bright Scaling mode is not enabled. @ENG_END_DOX}
2524
+ *
2525
+ *@retvalues
2526
+ *@ENG_START_DOX If the state of Backlight Adaptive Vari-Bright Scaling mode is successfully returned, __ADLX_OK__ is returned. <br>
2527
+ * If the state of Backlight Adaptive Vari-Bright Scaling mode is not successfully returned, an error code is returned. <br>
2528
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2529
+ *
2530
+ *
2531
+ *@copydoc IADLXDisplayVariBright1_REQ_TABLE
2532
+ *
2533
+ */
2534
+ virtual ADLX_RESULT ADLX_STD_CALL IsBacklightAdaptiveEnabled(adlx_bool* enabled) = 0;
2535
+ /**
2536
+ *@page DOX_IADLXDisplayVariBright1_SetBacklightAdaptiveEnabled SetBacklightAdaptiveEnabled
2537
+ *@ENG_START_DOX @brief Sets Backlight Adaptive Vari-Bright Scaling mode enabled or disabled on a display. @ENG_END_DOX
2538
+ *
2539
+ *@syntax
2540
+ *@codeStart
2541
+ * @ref ADLX_RESULT SetBacklightAdaptiveEnabled (adlx_bool enable)
2542
+ *@codeEnd
2543
+ *
2544
+ *@params
2545
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Backlight Adaptive Vari-Bright Scaling mode state. Set __true__ to enable Backlight Adaptive Vari-Bright Scaling mode. Set __false__ to disable Backlight Adaptive Vari-Bright Scaling mode. @ENG_END_DOX}
2546
+ *
2547
+ *@retvalues
2548
+ *@ENG_START_DOX If the state of Backlight Adaptive Vari-Bright Scaling mode is successfully set, __ADLX_OK__ is returned. <br>
2549
+ * If the state of Backlight Adaptive Vari-Bright Scaling mode is not successfully set, an error code is returned. <br>
2550
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2551
+ *
2552
+ *
2553
+ *@copydoc IADLXDisplayVariBright1_REQ_TABLE
2554
+ *
2555
+ */
2556
+ virtual ADLX_RESULT ADLX_STD_CALL SetBacklightAdaptiveEnabled(adlx_bool enabled) = 0;
2557
+ /**
2558
+ *@page DOX_IADLXDisplayVariBright1_IsBatteryLifeSupported IsBatteryLifeSupported
2559
+ *@ENG_START_DOX @brief Checks if Battery Life Vari-Bright Scaling mode is supported on a display. @ENG_END_DOX
2560
+ *
2561
+ *@syntax
2562
+ *@codeStart
2563
+ * @ref ADLX_RESULT IsBatteryLifeSupported (adlx_bool* supported)
2564
+ *@codeEnd
2565
+ *
2566
+ *@params
2567
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the supported status of Battery Life Vari-Bright Scaling mode is returned. The variable is __true__ if Battery Life Vari-Bright Scaling mode is supported. The variable is __false__ if Battery Life Vari-Bright Scaling mode is not supported. @ENG_END_DOX}
2568
+ *
2569
+ *@retvalues
2570
+ *@ENG_START_DOX If the supported status of Battery Life Vari-Bright Scaling mode is successfully returned, __ADLX_OK__ is returned. <br>
2571
+ * If the supported status of Battery Life Vari-Bright Scaling mode is not successfully returned, an error code is returned. <br>
2572
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2573
+ *
2574
+ *
2575
+ *@copydoc IADLXDisplayVariBright1_REQ_TABLE
2576
+ *
2577
+ */
2578
+ virtual ADLX_RESULT ADLX_STD_CALL IsBatteryLifeSupported(adlx_bool* supported) = 0;
2579
+ /**
2580
+ *@page DOX_IADLXDisplayVariBright1_IsBatteryLifeEnabled IsBatteryLifeEnabled
2581
+ *@ENG_START_DOX @brief Checks if Battery Life Vari-Bright Scaling mode is enabled on a display. @ENG_END_DOX
2582
+ *
2583
+ *@syntax
2584
+ *@codeStart
2585
+ * @ref ADLX_RESULT IsBatteryLifeEnabled (adlx_bool* enabled)
2586
+ *@codeEnd
2587
+ *
2588
+ *@params
2589
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Battery Life Vari-Bright Scaling mode is returned. The variable is __true__ if Battery Life Vari-Bright Scaling mode is enabled. The variable is __false__ if Battery Life Vari-Bright Scaling mode is not enabled. @ENG_END_DOX}
2590
+ *
2591
+ *@retvalues
2592
+ *@ENG_START_DOX If the state of Battery Life Vari-Bright Scaling mode is successfully returned, __ADLX_OK__ is returned. <br>
2593
+ * If the state of Battery Life Vari-Bright Scaling mode is not successfully returned, an error code is returned. <br>
2594
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2595
+ *
2596
+ *
2597
+ *@copydoc IADLXDisplayVariBright1_REQ_TABLE
2598
+ *
2599
+ */
2600
+ virtual ADLX_RESULT ADLX_STD_CALL IsBatteryLifeEnabled(adlx_bool* enabled) = 0;
2601
+ /**
2602
+ *@page DOX_IADLXDisplayVariBright1_SetBatteryLifeEnabled SetBatteryLifeEnabled
2603
+ *@ENG_START_DOX @brief Sets Battery Life Vari-Bright Scaling mode enabled or disabled on a display. @ENG_END_DOX
2604
+ *
2605
+ *@syntax
2606
+ *@codeStart
2607
+ * @ref ADLX_RESULT SetBatteryLifeEnabled (adlx_bool enable)
2608
+ *@codeEnd
2609
+ *
2610
+ *@params
2611
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Battery Life Vari-Bright Scaling mode state. Set __true__ to enable Battery Life Vari-Bright Scaling mode. Set __false__ to disable Battery Life Vari-Bright Scaling mode. @ENG_END_DOX}
2612
+ *
2613
+ *@retvalues
2614
+ *@ENG_START_DOX If the state of Battery Life Vari-Bright Scaling mode is successfully set, __ADLX_OK__ is returned. <br>
2615
+ * If the state of Battery Life Vari-Bright Scaling mode is not successfully set, an error code is returned. <br>
2616
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2617
+ *
2618
+ *
2619
+ *@copydoc IADLXDisplayVariBright1_REQ_TABLE
2620
+ *
2621
+ */
2622
+ virtual ADLX_RESULT ADLX_STD_CALL SetBatteryLifeEnabled(adlx_bool enabled) = 0;
2623
+ /**
2624
+ *@page DOX_IADLXDisplayVariBright1_IsWindowsPowerModeSupported IsWindowsPowerModeSupported
2625
+ *@ENG_START_DOX @brief Checks if Windows Power Mode Vari-Bright Scaling mode is supported on a display. @ENG_END_DOX
2626
+ *
2627
+ *@syntax
2628
+ *@codeStart
2629
+ * @ref ADLX_RESULT IsWindowsPowerModeSupported (adlx_bool* supported)
2630
+ *@codeEnd
2631
+ *
2632
+ *@params
2633
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the supported status of Windows Power Mode Vari-Bright Scaling mode is returned. The variable is __true__ if Windows Power Mode Vari-Bright Scaling mode is supported. The variable is __false__ if Windows Power Mode Vari-Bright Scaling mode is not supported. @ENG_END_DOX}
2634
+ *
2635
+ *@retvalues
2636
+ *@ENG_START_DOX If the supported status of Windows Power Mode Vari-Bright Scaling mode is successfully returned, __ADLX_OK__ is returned. <br>
2637
+ * If the supported status of Windows Power Mode Vari-Bright Scaling mode is not successfully returned, an error code is returned. <br>
2638
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2639
+ *
2640
+ *
2641
+ *@copydoc IADLXDisplayVariBright1_REQ_TABLE
2642
+ *
2643
+ */
2644
+ virtual ADLX_RESULT ADLX_STD_CALL IsWindowsPowerModeSupported(adlx_bool* supported) = 0;
2645
+ /**
2646
+ *@page DOX_IADLXDisplayVariBright1_IsWindowsPowerModeEnabled IsWindowsPowerModeEnabled
2647
+ *@ENG_START_DOX @brief Checks if Windows Power Mode Vari-Bright Scaling mode is enabled on a display. @ENG_END_DOX
2648
+ *
2649
+ *@syntax
2650
+ *@codeStart
2651
+ * @ref ADLX_RESULT IsWindowsPowerModeEnabled (adlx_bool* enabled)
2652
+ *@codeEnd
2653
+ *
2654
+ *@params
2655
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Windows Power Mode Vari-Bright Scaling mode is returned. The variable is __true__ if Windows Power Mode Vari-Bright Scaling mode is enabled. The variable is __false__ if Windows Power Mode Vari-Bright Scaling mode is not enabled. @ENG_END_DOX}
2656
+ *
2657
+ *@retvalues
2658
+ *@ENG_START_DOX If the state of Windows Power Mode Vari-Bright Scaling mode is successfully returned, __ADLX_OK__ is returned. <br>
2659
+ * If the state of Windows Power Mode Vari-Bright Scaling mode is not successfully returned, an error code is returned. <br>
2660
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2661
+ *
2662
+ *
2663
+ *@copydoc IADLXDisplayVariBright1_REQ_TABLE
2664
+ *
2665
+ */
2666
+ virtual ADLX_RESULT ADLX_STD_CALL IsWindowsPowerModeEnabled(adlx_bool* enabled) = 0;
2667
+ /**
2668
+ *@page DOX_IADLXDisplayVariBright1_SetWindowsPowerModeEnabled SetWindowsPowerModeEnabled
2669
+ *@ENG_START_DOX @brief Sets Windows Power Mode Vari-Bright Scaling mode enabled or disabled on a display. @ENG_END_DOX
2670
+ *
2671
+ *@syntax
2672
+ *@codeStart
2673
+ * @ref ADLX_RESULT SetWindowsPowerModeEnabled (adlx_bool enable)
2674
+ *@codeEnd
2675
+ *
2676
+ *@params
2677
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Windows Power Mode Vari-Bright Scaling mode state. Set __true__ to enable Windows Power Mode Vari-Bright Scaling mode. Set __false__ to disable Windows Power Mode Vari-Bright Scaling mode. @ENG_END_DOX}
2678
+ *
2679
+ *@retvalues
2680
+ *@ENG_START_DOX If the state of Windows Power Mode Vari-Bright Scaling mode is successfully set, __ADLX_OK__ is returned. <br>
2681
+ * If the state of Windows Power Mode Vari-Bright Scaling mode is not successfully set, an error code is returned. <br>
2682
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2683
+ *
2684
+ *
2685
+ *@copydoc IADLXDisplayVariBright1_REQ_TABLE
2686
+ *
2687
+ */
2688
+ virtual ADLX_RESULT ADLX_STD_CALL SetWindowsPowerModeEnabled(adlx_bool enabled) = 0;
2689
+ /**
2690
+ *@page DOX_IADLXDisplayVariBright1_IsFullScreenVideoSupported IsFullScreenVideoSupported
2691
+ *@ENG_START_DOX @brief Checks if Full-Screen Video Vari-Bright Scaling mode is supported on a display. @ENG_END_DOX
2692
+ *
2693
+ *@syntax
2694
+ *@codeStart
2695
+ * @ref ADLX_RESULT IsFullScreenVideoSupported (adlx_bool* supported)
2696
+ *@codeEnd
2697
+ *
2698
+ *@params
2699
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the supported status of Full-Screen Video Vari-Bright Scaling mode is returned. The variable is __true__ if Full-Screen Video Vari-Bright Scaling mode is supported. The variable is __false__ if Full-Screen Video Vari-Bright Scaling mode is not supported. @ENG_END_DOX}
2700
+ *
2701
+ *@retvalues
2702
+ *@ENG_START_DOX If the supported status of Full-Screen Video Vari-Bright Scaling mode is successfully returned, __ADLX_OK__ is returned. <br>
2703
+ * If the supported status of Full-Screen Video Vari-Bright Scaling mode is not successfully returned, an error code is returned. <br>
2704
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2705
+ *
2706
+ *
2707
+ *@copydoc IADLXDisplayVariBright1_REQ_TABLE
2708
+ *
2709
+ */
2710
+ virtual ADLX_RESULT ADLX_STD_CALL IsFullScreenVideoSupported(adlx_bool* supported) = 0;
2711
+ /**
2712
+ *@page DOX_IADLXDisplayVariBright1_IsFullScreenVideoEnabled IsFullScreenVideoEnabled
2713
+ *@ENG_START_DOX @brief Checks if Full-Screen Video Vari-Bright Scaling mode is enabled on a display. @ENG_END_DOX
2714
+ *
2715
+ *@syntax
2716
+ *@codeStart
2717
+ * @ref ADLX_RESULT IsFullScreenVideoEnabled (adlx_bool* enabled)
2718
+ *@codeEnd
2719
+ *
2720
+ *@params
2721
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Full-Screen Video Vari-Bright Scaling mode is returned. The variable is __true__ if Full-Screen Video Vari-Bright Scaling mode is enabled. The variable is __false__ if Full-Screen Video Vari-Bright Scaling mode is not enabled. @ENG_END_DOX}
2722
+ *
2723
+ *@retvalues
2724
+ *@ENG_START_DOX If the state of Full-Screen Video Vari-Bright Scaling mode is successfully returned, __ADLX_OK__ is returned. <br>
2725
+ * If the state of Full-Screen Video Vari-Bright Scaling mode is not successfully returned, an error code is returned. <br>
2726
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2727
+ *
2728
+ *
2729
+ *@copydoc IADLXDisplayVariBright1_REQ_TABLE
2730
+ *
2731
+ */
2732
+ virtual ADLX_RESULT ADLX_STD_CALL IsFullScreenVideoEnabled(adlx_bool* enabled) = 0;
2733
+ /**
2734
+ *@page DOX_IADLXDisplayVariBright1_SetFullScreenVideoEnabled SetFullScreenVideoEnabled
2735
+ *@ENG_START_DOX @brief Sets Full-Screen Video Vari-Bright Scaling mode enabled or disabled on a display. @ENG_END_DOX
2736
+ *
2737
+ *@syntax
2738
+ *@codeStart
2739
+ * @ref ADLX_RESULT SetFullScreenVideoEnabled (adlx_bool enable)
2740
+ *@codeEnd
2741
+ *
2742
+ *@params
2743
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Full-Screen Video Vari-Bright Scaling mode state. Set __true__ to enable Full-Screen Video Vari-Bright Scaling mode. Set __false__ to disable Full-Screen Video Vari-Bright Scaling mode. @ENG_END_DOX}
2744
+ *
2745
+ *@retvalues
2746
+ *@ENG_START_DOX If the state of Full-Screen Video Vari-Bright Scaling mode is successfully set, __ADLX_OK__ is returned. <br>
2747
+ * If the state of Full-Screen Video Vari-Bright Scaling mode is not successfully set, an error code is returned. <br>
2748
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2749
+ *
2750
+ *
2751
+ *@copydoc IADLXDisplayVariBright1_REQ_TABLE
2752
+ *
2753
+ */
2754
+ virtual ADLX_RESULT ADLX_STD_CALL SetFullScreenVideoEnabled(adlx_bool enabled) = 0;
2755
+ };
2756
+
2757
+ typedef IADLXInterfacePtr_T<IADLXDisplayVariBright1> IADLXDisplayVariBright1Ptr;
2758
+ }
2759
+ #else
2760
+ ADLX_DECLARE_IID(IADLXDisplayVariBright1, L"IADLXDisplayVariBright1")
2761
+ typedef struct IADLXDisplayVariBright1 IADLXDisplayVariBright1;
2762
+
2763
+ typedef struct IADLXDisplayVariBright1Vtbl
2764
+ {
2765
+ //IADLXInterface
2766
+ adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplayVariBright1* pThis);
2767
+ adlx_long(ADLX_STD_CALL* Release)(IADLXDisplayVariBright1* pThis);
2768
+ ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplayVariBright1* pThis, const wchar_t* interfaceId, void** ppInterface);
2769
+
2770
+ // Vari-Bright interface
2771
+ ADLX_RESULT(ADLX_STD_CALL* IsSupported)(IADLXDisplayVariBright1* pThis, adlx_bool* supported);
2772
+ ADLX_RESULT(ADLX_STD_CALL* IsEnabled)(IADLXDisplayVariBright1* pThis, adlx_bool* enabled);
2773
+ ADLX_RESULT(ADLX_STD_CALL* SetEnabled)(IADLXDisplayVariBright1* pThis, adlx_bool enabled);
2774
+ ADLX_RESULT(ADLX_STD_CALL* IsCurrentMaximizeBrightness)(IADLXDisplayVariBright1* pThis, adlx_bool* maximizeBrightness);
2775
+ ADLX_RESULT(ADLX_STD_CALL* IsCurrentOptimizeBrightness)(IADLXDisplayVariBright1* pThis, adlx_bool* optimizeBrightness);
2776
+ ADLX_RESULT(ADLX_STD_CALL* IsCurrentBalanced)(IADLXDisplayVariBright1* pThis, adlx_bool* balanced);
2777
+ ADLX_RESULT(ADLX_STD_CALL* IsCurrentOptimizeBattery)(IADLXDisplayVariBright1* pThis, adlx_bool* optimizeBattery);
2778
+ ADLX_RESULT(ADLX_STD_CALL* IsCurrentMaximizeBattery)(IADLXDisplayVariBright1* pThis, adlx_bool* maximizeBattery);
2779
+ ADLX_RESULT(ADLX_STD_CALL* SetMaximizeBrightness)(IADLXDisplayVariBright1* pThis);
2780
+ ADLX_RESULT(ADLX_STD_CALL* SetOptimizeBrightness)(IADLXDisplayVariBright1* pThis);
2781
+ ADLX_RESULT(ADLX_STD_CALL* SetBalanced)(IADLXDisplayVariBright1* pThis);
2782
+ ADLX_RESULT(ADLX_STD_CALL* SetOptimizeBattery)(IADLXDisplayVariBright1* pThis);
2783
+ ADLX_RESULT(ADLX_STD_CALL* SetMaximizeBattery)(IADLXDisplayVariBright1* pThis);
2784
+
2785
+ // Vari-Bright1 interface
2786
+ ADLX_RESULT(ADLX_STD_CALL* IsBacklightAdaptiveSupported)(IADLXDisplayVariBright1* pThis, adlx_bool* supported);
2787
+ ADLX_RESULT(ADLX_STD_CALL* IsBacklightAdaptiveEnabled)(IADLXDisplayVariBright1* pThis, adlx_bool* enabled);
2788
+ ADLX_RESULT(ADLX_STD_CALL* SetBacklightAdaptiveEnabled)(IADLXDisplayVariBright1* pThis, adlx_bool enabled);
2789
+ ADLX_RESULT(ADLX_STD_CALL* IsBatteryLifeSupported)(IADLXDisplayVariBright1* pThis, adlx_bool* supported);
2790
+ ADLX_RESULT(ADLX_STD_CALL* IsBatteryLifeEnabled)(IADLXDisplayVariBright1* pThis, adlx_bool* enabled);
2791
+ ADLX_RESULT(ADLX_STD_CALL* SetBatteryLifeEnabled)(IADLXDisplayVariBright1* pThis, adlx_bool enabled);
2792
+ ADLX_RESULT(ADLX_STD_CALL* IsWindowsPowerModeSupported)(IADLXDisplayVariBright1* pThis, adlx_bool* supported);
2793
+ ADLX_RESULT(ADLX_STD_CALL* IsWindowsPowerModeEnabled)(IADLXDisplayVariBright1* pThis, adlx_bool* enabled);
2794
+ ADLX_RESULT(ADLX_STD_CALL* SetWindowsPowerModeEnabled)(IADLXDisplayVariBright1* pThis, adlx_bool enabled);
2795
+ ADLX_RESULT(ADLX_STD_CALL* IsFullScreenVideoSupported)(IADLXDisplayVariBright1* pThis, adlx_bool* supported);
2796
+ ADLX_RESULT(ADLX_STD_CALL* IsFullScreenVideoEnabled)(IADLXDisplayVariBright1* pThis, adlx_bool* enabled);
2797
+ ADLX_RESULT(ADLX_STD_CALL* SetFullScreenVideoEnabled)(IADLXDisplayVariBright1* pThis, adlx_bool enabled);
2798
+ } IADLXDisplayVariBright1Vtbl;
2799
+
2800
+ struct IADLXDisplayVariBright1
2801
+ {
2802
+ const IADLXDisplayVariBright1Vtbl* pVtbl;
2803
+ };
2804
+ #endif
2805
+
2806
+ #pragma endregion IADLXDisplayVariBright1 interface
2807
+
2808
+ #pragma region IADLXDisplayConnectivtyExperience interface
2809
+
2810
+ #if defined (__cplusplus)
2811
+ namespace adlx
2812
+ {
2813
+ class ADLX_NO_VTABLE IADLXDisplayConnectivityExperience : public IADLXInterface
2814
+ {
2815
+ public:
2816
+ ADLX_DECLARE_IID(L"IADLXDisplayConnectivityExperience")
2817
+ /**
2818
+ *@page DOX_IADLXDisplayConnectivityExperience_IsSupportedHDMIQualityDetection IsSupportedHDMIQualityDetection
2819
+ *@ENG_START_DOX @brief Checks if HDMI quality detection is supported on a display. @ENG_END_DOX
2820
+ *
2821
+ *@syntax
2822
+ *@codeStart
2823
+ * @ref ADLX_RESULT IsSupportedHDMIQualityDetection (adlx_bool* supported)
2824
+ *@codeEnd
2825
+ *
2826
+ *@params
2827
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of HDMI quality detection is returned. The variable is __true__ if HDMI quality detection is supported. The variable is __false__ if HDMI quality detection is not supported. @ENG_END_DOX}
2828
+ *
2829
+ *@retvalues
2830
+ *@ENG_START_DOX If the state of HDMI quality detection is successfully returned, __ADLX_OK__ is returned. <br>
2831
+ * If the state of HDMI quality detection is not successfully returned, an error code is returned. <br>
2832
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2833
+ *
2834
+ *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE
2835
+ */
2836
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedHDMIQualityDetection(adlx_bool* supported) = 0;
2837
+ /**
2838
+ *@page DOX_IADLXDisplayConnectivityExperience_IsSupportedDPLink IsSupportedDPLink
2839
+ *@ENG_START_DOX @brief Checks if DP link is supported on a display. @ENG_END_DOX
2840
+ *
2841
+ *@syntax
2842
+ *@codeStart
2843
+ * @ref ADLX_RESULT IsSupportedDPLink (adlx_bool* supported)
2844
+ *@codeEnd
2845
+ *
2846
+ *@params
2847
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the DP link state is returned. The variable is __true__ if DP link is supported. The variable is __false__ if DP link is not supported. @ENG_END_DOX}
2848
+ *
2849
+ *@retvalues
2850
+ *@ENG_START_DOX If the DP link state is successfully returned, __ADLX_OK__ is returned. <br>
2851
+ * If the DP link state is not successfully returned, an error code is returned. <br>
2852
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2853
+ *
2854
+ *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE
2855
+ */
2856
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedDPLink(adlx_bool* supported) = 0;
2857
+ /**
2858
+ *@page DOX_IADLXDisplayConnectivityExperience_IsEnabledHDMIQualityDetection IsEnabledHDMIQualityDetection
2859
+ *@ENG_START_DOX @brief Checks if HDMI quality detection is enabled on a display. @ENG_END_DOX
2860
+ *
2861
+ *@syntax
2862
+ *@codeStart
2863
+ * @ref ADLX_RESULT IsEnabledHDMIQualityDetection (adlx_bool* enabled)
2864
+ *@codeEnd
2865
+ *
2866
+ *@params
2867
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of HDMI quality detection is returned. The variable is __true__ if HDMI quality detection is enabled. The variable is __false__ if HDMI quality detection is not enabled. @ENG_END_DOX}
2868
+ *
2869
+ *@retvalues
2870
+ *@ENG_START_DOX If the state of HDMI quality detection is successfully returned, __ADLX_OK__ is returned. <br>
2871
+ * If the state of HDMI quality detection is not successfully returned, an error code is returned. <br>
2872
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2873
+ *
2874
+ *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE
2875
+ */
2876
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabledHDMIQualityDetection(adlx_bool* enabled) = 0;
2877
+ /**
2878
+ *@page DOX_IADLXDisplayConnectivityExperience_SetEnabledHDMIQualityDetection SetEnabledHDMIQualityDetection
2879
+ *@ENG_START_DOX @brief Sets the enabled or disabled status for HDMI quality detection on a display. @ENG_END_DOX
2880
+ *
2881
+ *@syntax
2882
+ *@codeStart
2883
+ * @ref ADLX_RESULT SetEnabledHDMIQualityDetection (adlx_bool* enabled)
2884
+ *@codeEnd
2885
+ *
2886
+ *@params
2887
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new HDMI quality detection state. Set __true__ to enable HDMI quality detection. Set __false__ to disable HDMI quality detection. @ENG_END_DOX}
2888
+ *
2889
+ *@retvalues
2890
+ *@ENG_START_DOX If the state of HDMI quality detection is successfully set, __ADLX_OK__ is returned. <br>
2891
+ * If the state of HDMI quality detection is not successfully set, an error code is returned. <br>
2892
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2893
+ *
2894
+ *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE
2895
+ */
2896
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabledHDMIQualityDetection(adlx_bool enabled) = 0;
2897
+ /**
2898
+ *@page DOX_IADLXDisplayConnectivityExperience_GetDPLinkRate GetDPLinkRate
2899
+ *@ENG_START_DOX @brief Gets the Display Port (DP) link rate on a display. @ENG_END_DOX
2900
+ *
2901
+ *@syntax
2902
+ *@codeStart
2903
+ * @ref ADLX_RESULT GetDPLinkRate(@ref ADLX_DP_LINK_RATE* linkRate)
2904
+ *@codeEnd
2905
+ *
2906
+ *@params
2907
+ * @paramrow{1.,[out],linkRate,@ref ADLX_DP_LINK_RATE*,@ENG_START_DOX The pointer to a type where the current DP link rate is returned. @ENG_END_DOX}
2908
+ *
2909
+ *@retvalues
2910
+ *@ENG_START_DOX If the type of DP link rate is successfully returned, __ADLX_OK__ is returned.<br/>
2911
+ * If the type of DP link rate is not successfully returned, an error code is returned.<br/>
2912
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2913
+ *
2914
+ *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE
2915
+ */
2916
+ virtual ADLX_RESULT ADLX_STD_CALL GetDPLinkRate(ADLX_DP_LINK_RATE* linkRate) = 0;
2917
+ /**
2918
+ *@page DOX_IADLXDisplayConnectivityExperience_GetNumberOfActiveLanes GetNumberOfActiveLanes
2919
+ *@ENG_START_DOX @brief Gets the number of active lanes on a display. @ENG_END_DOX
2920
+ *
2921
+ *@syntax
2922
+ *@codeStart
2923
+ * @ref ADLX_RESULT GetNumberOfActiveLanes(adlx_uint* numActiveLanes)
2924
+ *@codeEnd
2925
+ *
2926
+ *@params
2927
+ * @paramrow{1.,[out],numActiveLanes,ADLX_DP_LINK_RATE*,@ENG_START_DOX The pointer to the number of current active lanes is returned. @ENG_END_DOX}
2928
+ *
2929
+ *@retvalues
2930
+ *@ENG_START_DOX If the number of active lanes is successfully returned, __ADLX_OK__ is returned.<br/>
2931
+ * If the number of active lanes is not successfully returned, an error code is returned.<br/>
2932
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2933
+ *
2934
+ *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE
2935
+ */
2936
+ virtual ADLX_RESULT ADLX_STD_CALL GetNumberOfActiveLanes(adlx_uint* numActiveLanes) = 0;
2937
+ /**
2938
+ *@page DOX_IADLXDisplayConnectivityExperience_GetNumberOfTotalLanes GetNumberOfTotalLanes
2939
+ *@ENG_START_DOX @brief Gets the total number of lanes on a display. @ENG_END_DOX
2940
+ *
2941
+ *@syntax
2942
+ *@codeStart
2943
+ * @ref ADLX_RESULT GetNumberOfTotalLanes(adlx_uint* numTotalLanes)
2944
+ *@codeEnd
2945
+ *
2946
+ *@params
2947
+ * @paramrow{1.,[out],numTotalLanes,ADLX_DP_LINK_RATE*,@ENG_START_DOX The pointer to the number of current total lanes is returned. @ENG_END_DOX}
2948
+ *
2949
+ *@retvalues
2950
+ *@ENG_START_DOX If the number of total lanes is successfully returned, __ADLX_OK__ is returned.<br/>
2951
+ * If the number of total lanes is not successfully returned, an error code is returned.<br/>
2952
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2953
+ *
2954
+ *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE
2955
+ */
2956
+ virtual ADLX_RESULT ADLX_STD_CALL GetNumberOfTotalLanes(adlx_uint* numTotalLanes) = 0;
2957
+ /**
2958
+ *@page DOX_IADLXDisplayConnectivityExperience_GetRelativePreEmphasis GetRelativePreEmphasis
2959
+ *@ENG_START_DOX @brief Gets the relative preset emphasis on a display. @ENG_END_DOX
2960
+ *
2961
+ *@syntax
2962
+ *@codeStart
2963
+ * @ref ADLX_RESULT GetRelativePreEmphasis(adlx_uint* relativePreEmphasis)
2964
+ *@codeEnd
2965
+ *
2966
+ *@params
2967
+ * @paramrow{1.,[out],relativePreEmphasis,ADLX_DP_LINK_RATE*,@ENG_START_DOX The pointer to the number of current relative preset emphasis is returned. @ENG_END_DOX}
2968
+ *
2969
+ *@retvalues
2970
+ *@ENG_START_DOX If the relative preset emphasis is successfully returned, __ADLX_OK__ is returned.<br/>
2971
+ * If the relative preset emphasis is not successfully returned, an error code is returned.<br/>
2972
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2973
+ *
2974
+ *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE
2975
+ */
2976
+ virtual ADLX_RESULT ADLX_STD_CALL GetRelativePreEmphasis(adlx_int* relativePreEmphasis) = 0;
2977
+ /**
2978
+ *@page DOX_IADLXDisplayConnectivityExperience_SetRelativePreEmphasis SetRelativePreEmphasis
2979
+ *@ENG_START_DOX @brief Sets the relative preset emphasis on a display. @ENG_END_DOX
2980
+ *
2981
+ *@syntax
2982
+ *@codeStart
2983
+ * @ref ADLX_RESULT SetRelativePreEmphasis(adlx_uint relativePreEmphasis)
2984
+ *@codeEnd
2985
+ *
2986
+ *@params
2987
+ * @paramrow{1.,[in],relativePreEmphasis,ADLX_DP_LINK_RATE*,@ENG_START_DOX The new relative preset emphasis. @ENG_END_DOX}
2988
+ *
2989
+ *@retvalues
2990
+ *@ENG_START_DOX If the relative preset emphasis is successfully set, __ADLX_OK__ is returned.<br/>
2991
+ * If the relative preset emphasis is not successfully set, an error code is returned.<br/>
2992
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
2993
+ *
2994
+ * @addinfo
2995
+ * @ENG_START_DOX
2996
+ * Note that relative preset emphasis allowed values range between -2 to +2.
2997
+ * @ENG_END_DOX
2998
+ *
2999
+ *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE
3000
+ */
3001
+ virtual ADLX_RESULT ADLX_STD_CALL SetRelativePreEmphasis(adlx_int relativePreEmphasis) = 0;
3002
+ /**
3003
+ *@page DOX_IADLXDisplayConnectivityExperience_GetRelativeVoltageSwing GetRelativeVoltageSwing
3004
+ *@ENG_START_DOX @brief Gets the relative voltage swing on a display. @ENG_END_DOX
3005
+ *
3006
+ *@syntax
3007
+ *@codeStart
3008
+ * @ref ADLX_RESULT GetRelativeVoltageSwing(adlx_uint* relativeVoltageSwing)
3009
+ *@codeEnd
3010
+ *
3011
+ *@params
3012
+ * @paramrow{1.,[out],relativeVoltageSwing,ADLX_DP_LINK_RATE*,@ENG_START_DOX The pointer to the number of current relative voltage swing is returned. @ENG_END_DOX}
3013
+ *
3014
+ *@retvalues
3015
+ *@ENG_START_DOX If the relative voltage swing is successfully returned, __ADLX_OK__ is returned.<br/>
3016
+ * If the relative voltage swing is not successfully returned, an error code is returned.<br/>
3017
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3018
+ *
3019
+ *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE
3020
+ */
3021
+ virtual ADLX_RESULT ADLX_STD_CALL GetRelativeVoltageSwing(adlx_int* relativeVoltageSwing) = 0;
3022
+ /**
3023
+ *@page DOX_IADLXDisplayConnectivityExperience_SetRelativeVoltageSwing SetRelativeVoltageSwing
3024
+ *@ENG_START_DOX @brief Sets the relative voltage swing on a display. @ENG_END_DOX
3025
+ *
3026
+ *@syntax
3027
+ *@codeStart
3028
+ * @ref ADLX_RESULT SetRelativeVoltageSwing(adlx_uint relativeVoltageSwing)
3029
+ *@codeEnd
3030
+ *
3031
+ *@params
3032
+ * @paramrow{1.,[in],relativeVoltageSwing,ADLX_DP_LINK_RATE*,@ENG_START_DOX The new relative voltage swing. @ENG_END_DOX}
3033
+ *
3034
+ *@retvalues
3035
+ *@ENG_START_DOX If the relative voltage swing is successfully set, __ADLX_OK__ is returned.<br/>
3036
+ * If the relative voltage swing is not successfully set, an error code is returned.<br/>
3037
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3038
+ *
3039
+ * @addinfo
3040
+ * @ENG_START_DOX
3041
+ * Note that relative voltage swing allowed values range between -2 to +2.
3042
+ * @ENG_END_DOX
3043
+ *
3044
+ *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE
3045
+ */
3046
+ virtual ADLX_RESULT ADLX_STD_CALL SetRelativeVoltageSwing(adlx_int relativeVoltageSwing) = 0;
3047
+ /**
3048
+ *@page DOX_IADLXDisplayConnectivityExperience_IsEnabledLinkProtection IsEnabledLinkProtection
3049
+ *@ENG_START_DOX @brief Checks if link protection is enabled on a display. @ENG_END_DOX
3050
+ *
3051
+ *@syntax
3052
+ *@codeStart
3053
+ * @ref ADLX_RESULT IsEnabledLinkProtection (adlx_bool* enabled)
3054
+ *@codeEnd
3055
+ *
3056
+ *@params
3057
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of link protection is returned. The variable is __true__ if link protection is enabled. The variable is __false__ if link protection is not enabled. @ENG_END_DOX}
3058
+ *
3059
+ *@retvalues
3060
+ *@ENG_START_DOX If the state of link protection is successfully returned, __ADLX_OK__ is returned. <br>
3061
+ * If the state of link protection is not successfully returned, an error code is returned. <br>
3062
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3063
+ *
3064
+ *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE
3065
+ */
3066
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabledLinkProtection(adlx_bool* enabled) = 0;
3067
+ };
3068
+
3069
+ typedef IADLXInterfacePtr_T<IADLXDisplayConnectivityExperience> IADLXDisplayConnectivityExperiencePtr;
3070
+ }
3071
+ #else
3072
+ ADLX_DECLARE_IID(IADLXDisplayConnectivityExperience, L"IADLXDisplayConnectivityExperience")
3073
+ typedef struct IADLXDisplayConnectivityExperience IADLXDisplayConnectivityExperience;
3074
+
3075
+ typedef struct IADLXDisplayConnectivityExperienceVtbl
3076
+ {
3077
+ //IADLXInterface
3078
+ adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplayConnectivityExperience* pThis);
3079
+ adlx_long(ADLX_STD_CALL* Release)(IADLXDisplayConnectivityExperience* pThis);
3080
+ ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplayConnectivityExperience* pThis, const wchar_t* interfaceId, void** ppInterface);
3081
+
3082
+ // Display Connectivity Experience interface
3083
+ ADLX_RESULT(ADLX_STD_CALL* IsSupportedHDMIQualityDetection)(IADLXDisplayConnectivityExperience* pThis, adlx_bool* supported);
3084
+ ADLX_RESULT(ADLX_STD_CALL* IsSupportedDPLink)(IADLXDisplayConnectivityExperience* pThis, adlx_bool* supported);
3085
+ ADLX_RESULT(ADLX_STD_CALL* IsEnabledHDMIQualityDetection)(IADLXDisplayConnectivityExperience* pThis, adlx_bool* enabled);
3086
+ ADLX_RESULT(ADLX_STD_CALL* SetEnabledHDMIQualityDetection)(IADLXDisplayConnectivityExperience* pThis, adlx_bool enabled);
3087
+ ADLX_RESULT(ADLX_STD_CALL* GetDPLinkRate)(IADLXDisplayConnectivityExperience* pThis, ADLX_DP_LINK_RATE* linkRate);
3088
+ ADLX_RESULT(ADLX_STD_CALL* GetNumberOfActiveLanes)(IADLXDisplayConnectivityExperience* pThis, adlx_uint* numActiveLanes);
3089
+ ADLX_RESULT(ADLX_STD_CALL* GetNumberOfTotalLanes)(IADLXDisplayConnectivityExperience* pThis, adlx_uint* numTotalLanes);
3090
+ ADLX_RESULT(ADLX_STD_CALL* GetRelativePreEmphasis)(IADLXDisplayConnectivityExperience* pThis, adlx_int* relativePreEmphasis);
3091
+ ADLX_RESULT(ADLX_STD_CALL* SetRelativePreEmphasis)(IADLXDisplayConnectivityExperience* pThis, adlx_int relativePreEmphasis);
3092
+ ADLX_RESULT(ADLX_STD_CALL* GetRelativeVoltageSwing)(IADLXDisplayConnectivityExperience* pThis, adlx_int* relativeVoltageSwing);
3093
+ ADLX_RESULT(ADLX_STD_CALL* SetRelativeVoltageSwing)(IADLXDisplayConnectivityExperience* pThis, adlx_int relativeVoltageSwing);
3094
+ ADLX_RESULT(ADLX_STD_CALL* IsEnabledLinkProtection)(IADLXDisplayConnectivityExperience* pThis, adlx_bool* enabled);
3095
+ } IADLXDisplayConnectivityExperienceVtbl;
3096
+
3097
+ struct IADLXDisplayConnectivityExperience
3098
+ {
3099
+ const IADLXDisplayConnectivityExperienceVtbl* pVtbl;
3100
+ };
3101
+ #endif
3102
+
3103
+ #pragma endregion IADLXDisplayConnectivtyExperience interface
3104
+
3105
+ #pragma region IADLXDisplayBlanking interface
3106
+
3107
+ #if defined (__cplusplus)
3108
+ namespace adlx
3109
+ {
3110
+ class ADLX_NO_VTABLE IADLXDisplayBlanking : public IADLXInterface
3111
+ {
3112
+ public:
3113
+ ADLX_DECLARE_IID(L"IADLXDisplayBlanking")
3114
+
3115
+ /**
3116
+ *@page DOX_IADLXDisplayBlanking_IsSupported IsSupported
3117
+ *@ENG_START_DOX @brief Check if display blanking is supported on a display. @ENG_END_DOX
3118
+ *
3119
+ *@syntax
3120
+ *@codeStart
3121
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
3122
+ *@codeEnd
3123
+ *
3124
+ *@params
3125
+ *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of display blanking is returned. The variable is __true__ if display blanking is supported. The variable is __false__ if display blanking is not supported. @ENG_END_DOX}
3126
+ *
3127
+ *@retvalues
3128
+ *@ENG_START_DOX If the state of display blanking is successfully returned, __ADLX_OK__ is returned. <br>
3129
+ * If the state of display blanking is not successfully returned, an error code is returned. <br>
3130
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3131
+ *
3132
+ *@copydoc IADLXDisplayBlanking_REQ_TABLE
3133
+ *
3134
+ */
3135
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported(adlx_bool* supported) = 0;
3136
+
3137
+ /**
3138
+ *@page DOX_IADLXDisplayBlanking_IsCurrentBlanked IsCurrentBlanked
3139
+ *@ENG_START_DOX @brief Checks if the current display is blanked. @ENG_END_DOX
3140
+ *
3141
+ *@syntax
3142
+ *@codeStart
3143
+ * @ref ADLX_RESULT IsCurrentBlanked (adlx_bool* blanked)
3144
+ *@codeEnd
3145
+ *
3146
+ *@params
3147
+ *@paramrow{1.,[out],blanked,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the display blanking is returned. The variable is __true__ if display blanking is enabled. The variable is __false__ if display blanking is not enabled. @ENG_END_DOX}
3148
+ *
3149
+ *@retvalues
3150
+ *@ENG_START_DOX If the state of display blanking is successfully returned, __ADLX_OK__ is returned. <br>
3151
+ * If the state of display blanking is not successfully returned, an error code is returned. <br>
3152
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3153
+ *
3154
+ *@copydoc IADLXDisplayBlanking_REQ_TABLE
3155
+ *
3156
+ */
3157
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentBlanked(adlx_bool* blanked) = 0;
3158
+
3159
+ /**
3160
+ *@page DOX_IADLXDisplayBlanking_IsCurrentUnblanked IsCurrentUnblanked
3161
+ *@ENG_START_DOX @brief Check if the current display is unblanked. @ENG_END_DOX
3162
+ *
3163
+ *@syntax
3164
+ *@codeStart
3165
+ * @ref ADLX_RESULT IsCurrentUnblanked (adlx_bool* unBlanked)
3166
+ *@codeEnd
3167
+ *
3168
+ *@params
3169
+ *@paramrow{1.,[out],unBlanked,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the display blanking is returned. The variable is __true__ if display blanking is not enabled. The variable is __false__ if display blanking is enabled. @ENG_END_DOX}
3170
+ *
3171
+ *@retvalues
3172
+ *@ENG_START_DOX If the state of display blanking is successfully returned, __ADLX_OK__ is returned. <br>
3173
+ * If the state of display blanking is not successfully returned, an error code is returned. <br>
3174
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3175
+ *
3176
+ *@copydoc IADLXDisplayBlanking_REQ_TABLE
3177
+ *
3178
+ */
3179
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentUnblanked(adlx_bool* unBlanked) = 0;
3180
+
3181
+ /**
3182
+ *@page DOX_IADLXDisplayBlanking_SetBlanked SetBlanked
3183
+ *@ENG_START_DOX @brief Set the state of display blanking to "blanked". @ENG_END_DOX
3184
+ *
3185
+ *@syntax
3186
+ *@codeStart
3187
+ * @ref ADLX_RESULT SetBlanked ()
3188
+ *@codeEnd
3189
+ *
3190
+ *@params
3191
+ * N/A
3192
+ *
3193
+ *@retvalues
3194
+ *@ENG_START_DOX If the state of display blanking is successfully returned, __ADLX_OK__ is returned. <br>
3195
+ * If the state of display blanking is not successfully returned, an error code is returned. <br>
3196
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3197
+ *
3198
+ *@copydoc IADLXDisplayBlanking_REQ_TABLE
3199
+ *
3200
+ */
3201
+ virtual ADLX_RESULT ADLX_STD_CALL SetBlanked() = 0;
3202
+
3203
+ /**
3204
+ *@page DOX_IADLXDisplayBlanking_SetUnblanked SetUnblanked
3205
+ *@ENG_START_DOX @brief Set the state of display blanking to "unblanked". @ENG_END_DOX
3206
+ *
3207
+ *@syntax
3208
+ *@codeStart
3209
+ * @ref ADLX_RESULT SetUnblanked ()
3210
+ *@codeEnd
3211
+ *
3212
+ *@params
3213
+ * N/A
3214
+ *
3215
+ *@retvalues
3216
+ *@ENG_START_DOX If the state of display blanking is successfully returned, __ADLX_OK__ is returned. <br>
3217
+ * If the state of display blanking is not successfully returned, an error code is returned. <br>
3218
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3219
+ *
3220
+ *@copydoc IADLXDisplayBlanking_REQ_TABLE
3221
+ *
3222
+ */
3223
+ virtual ADLX_RESULT ADLX_STD_CALL SetUnblanked() = 0;
3224
+ };
3225
+
3226
+ typedef IADLXInterfacePtr_T<IADLXDisplayBlanking> IADLXDisplayBlankingPtr;
3227
+ }
3228
+ #else
3229
+ ADLX_DECLARE_IID(IADLXDisplayBlanking, L"IADLXDisplayBlanking")
3230
+ typedef struct IADLXDisplayBlanking IADLXDisplayBlanking;
3231
+
3232
+ typedef struct IADLXDisplayBlankingVtbl
3233
+ {
3234
+ //IADLXInterface
3235
+ adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplayBlanking* pThis);
3236
+ adlx_long(ADLX_STD_CALL* Release)(IADLXDisplayBlanking* pThis);
3237
+ ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplayBlanking* pThis, const wchar_t* interfaceId, void** ppInterface);
3238
+
3239
+ //DisplayBlanking interface
3240
+ ADLX_RESULT(ADLX_STD_CALL* IsSupported)(IADLXDisplayBlanking* pThis, adlx_bool* supported);
3241
+ ADLX_RESULT(ADLX_STD_CALL* IsCurrentBlanked)(IADLXDisplayBlanking* pThis, adlx_bool* blanked);
3242
+ ADLX_RESULT(ADLX_STD_CALL* IsCurrentUnblanked)(IADLXDisplayBlanking* pThis, adlx_bool* unBlanked);
3243
+ ADLX_RESULT(ADLX_STD_CALL* SetBlanked)(IADLXDisplayBlanking* pThis);
3244
+ ADLX_RESULT(ADLX_STD_CALL* SetUnblanked)(IADLXDisplayBlanking* pThis);
3245
+ } IADLXDisplayBlankingVtbl;
3246
+
3247
+ struct IADLXDisplayBlanking
3248
+ {
3249
+ const IADLXDisplayBlankingVtbl* pVtbl;
3250
+ };
3251
+ #endif
3252
+
3253
+ #pragma endregion IADLXDisplayBlanking interface
3254
+
3255
+ #pragma region IADLXDisplayDynamicRefreshRateControl interface
3256
+
3257
+ #if defined (__cplusplus)
3258
+ namespace adlx
3259
+ {
3260
+ class ADLX_NO_VTABLE IADLXDisplayDynamicRefreshRateControl : public IADLXInterface
3261
+ {
3262
+ public:
3263
+ ADLX_DECLARE_IID(L"IADLXDisplayDynamicRefreshRateControl")
3264
+ /**
3265
+ *@page DOX_IADLXDisplayDynamicRefreshRateControl_IsSupported IsSupported
3266
+ *@ENG_START_DOX @brief Checks if the Dynamic Refresh Rate Control is supported on a display. @ENG_END_DOX
3267
+ *
3268
+ *@syntax
3269
+ *@codeStart
3270
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
3271
+ *@codeEnd
3272
+ *
3273
+ *@params
3274
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Dynamic Refresh Rate Control is returned. The variable is __true__ if Dynamic Refresh Rate Control is supported. The variable is __false__ if Dynamic Refresh Rate Control is not supported. @ENG_END_DOX}
3275
+ *
3276
+ *@retvalues
3277
+ *@ENG_START_DOX If the state of Dynamic Refresh Rate Control is successfully returned, __ADLX_OK__ is returned. <br>
3278
+ * If the state of Dynamic Refresh Rate Control is not successfully returned, an error code is returned. <br>
3279
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3280
+ *
3281
+ *@copydoc IADLXDisplayDynamicRefreshRateControl_REQ_TABLE
3282
+ *
3283
+ */
3284
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported(adlx_bool* supported) = 0;
3285
+ /**
3286
+ *@page DOX_IADLXDisplayDynamicRefreshRateControl_IsEnabled IsEnabled
3287
+ *@ENG_START_DOX @brief Checks if the Dynamic Refresh Rate Control is enabled on a display. @ENG_END_DOX
3288
+ *
3289
+ *@syntax
3290
+ *@codeStart
3291
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
3292
+ *@codeEnd
3293
+ *
3294
+ *@params
3295
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Dynamic Refresh Rate Control is returned. The variable is __true__ if Dynamic Refresh Rate Control is enabled. The variable is __false__ if Dynamic Refresh Rate Control is not enabled. @ENG_END_DOX}
3296
+ *
3297
+ *@retvalues
3298
+ *@ENG_START_DOX If the state of Dynamic Refresh Rate Control is successfully returned, __ADLX_OK__ is returned. <br>
3299
+ * If the state of Dynamic Refresh Rate Control is not successfully returned, an error code is returned. <br>
3300
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3301
+ *
3302
+ *@copydoc IADLXDisplayDynamicRefreshRateControl_REQ_TABLE
3303
+ *
3304
+ */
3305
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled(adlx_bool* enabled) = 0;
3306
+ /**
3307
+ *@page DOX_IADLXDisplayDynamicRefreshRateControl_SetEnabled SetEnabled
3308
+ *@ENG_START_DOX @brief Sets the Dynamic Refresh Rate Control to enabled or disabled state on a display. @ENG_END_DOX
3309
+ *
3310
+ *@syntax
3311
+ *@codeStart
3312
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
3313
+ *@codeEnd
3314
+ *
3315
+ *@params
3316
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Dynamic Refresh Rate Control state. Set __true__ to enable Dynamic Refresh Rate Control. Set __false__ to disable Dynamic Refresh Rate Control. @ENG_END_DOX}
3317
+ *
3318
+ *@retvalues
3319
+ *@ENG_START_DOX If the state of Dynamic Refresh Rate Control is successfully set, __ADLX_OK__ is returned. <br>
3320
+ * If the state of Dynamic Refresh Rate Control is not successfully set, an error code is returned. <br>
3321
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3322
+ *
3323
+ *@copydoc IADLXDisplayDynamicRefreshRateControl_REQ_TABLE
3324
+ *
3325
+ */
3326
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled(adlx_bool enabled) = 0;
3327
+ };
3328
+ typedef IADLXInterfacePtr_T<IADLXDisplayDynamicRefreshRateControl> IADLXDisplayDynamicRefreshRateControlPtr;
3329
+ }
3330
+
3331
+ #else
3332
+ ADLX_DECLARE_IID(IADLXDisplayDynamicRefreshRateControl, L"IADLXDisplayDynamicRefreshRateControl")
3333
+ typedef struct IADLXDisplayDynamicRefreshRateControl IADLXDisplayDynamicRefreshRateControl;
3334
+
3335
+ typedef struct IADLXDynamicRefreshRateControlVtbl
3336
+ {
3337
+ //IADLXInterface
3338
+ adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplayDynamicRefreshRateControl* pThis);
3339
+ adlx_long(ADLX_STD_CALL* Release)(IADLXDisplayDynamicRefreshRateControl* pThis);
3340
+ ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplayDynamicRefreshRateControl* pThis, const wchar_t* interfaceId, void** ppInterface);
3341
+
3342
+ //IADLXDisplayDynamicRefreshRateControl
3343
+ ADLX_RESULT(ADLX_STD_CALL* IsSupported)(IADLXDisplayDynamicRefreshRateControl* pThis, adlx_bool* supported);
3344
+ ADLX_RESULT(ADLX_STD_CALL* IsEnabled)(IADLXDisplayDynamicRefreshRateControl* pThis, adlx_bool* enabled);
3345
+ ADLX_RESULT(ADLX_STD_CALL* SetEnabled)(IADLXDisplayDynamicRefreshRateControl* pThis, adlx_bool enabled);
3346
+ } IADLXDynamicRefreshRateControlVtbl;
3347
+
3348
+ struct IADLXDisplayDynamicRefreshRateControl
3349
+ {
3350
+ const IADLXDynamicRefreshRateControlVtbl* pVtbl;
3351
+ };
3352
+
3353
+ #endif
3354
+
3355
+ #pragma endregion IADLXDisplayDynamicRefreshRateControl interface
3356
+
3357
+ #pragma region IADLXDisplayFreeSyncColorAccuracy interface
3358
+
3359
+ #if defined (__cplusplus)
3360
+ namespace adlx
3361
+ {
3362
+ class ADLX_NO_VTABLE IADLXDisplayFreeSyncColorAccuracy : public IADLXInterface
3363
+ {
3364
+ public:
3365
+ ADLX_DECLARE_IID(L"IADLXDisplayFreeSyncColorAccuracy")
3366
+
3367
+ /**
3368
+ *@page DOX_IADLXDisplayFreeSyncColorAccuracy_IsSupported IsSupported
3369
+ *@ENG_START_DOX @brief Checks if configuring FreeSync color accuracy is supported on a display. @ENG_END_DOX
3370
+ *
3371
+ *@syntax
3372
+ *@codeStart
3373
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
3374
+ *@codeEnd
3375
+ *
3376
+ *@params
3377
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of FreeSync color accuracy is returned. The variable is __true__ if FreeSync color accuracy configuration is supported. The variable is __false__ if FreeSync color accuracy configuration is not supported. @ENG_END_DOX}
3378
+ *
3379
+ *@retvalues
3380
+ *@ENG_START_DOX If the state of FreeSync color accuracy is successfully returned, __ADLX_OK__ is returned. <br>
3381
+ * If the state of FreeSync color accuracy is not successfully returned, an error code is returned. <br>
3382
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3383
+ *
3384
+ *@addinfo
3385
+ *@ENG_START_DOX When enabled, the FreeSync color accuracy activates the AMD FreeSync(TM) Premium Pro HDR media profile for the display for optimal color accuracy when viewing HDR content.When disabled, it activates the HDR10 media profile for the display.
3386
+ *
3387
+ *@ENG_END_DOX
3388
+ *
3389
+ *@copydoc IADLXDisplayFreeSyncColorAccuracy_REQ_TABLE
3390
+ *
3391
+ */
3392
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported(adlx_bool* supported) = 0;
3393
+ /**
3394
+ *@page DOX_IADLXDisplayFreeSyncColorAccuracy_IsEnabled IsEnabled
3395
+ *@ENG_START_DOX @brief Checks if AMD FreeSync(TM) Premium Pro HDR media profile is activated on a display. @ENG_END_DOX
3396
+ *
3397
+ *@syntax
3398
+ *@codeStart
3399
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
3400
+ *@codeEnd
3401
+ *
3402
+ *@params
3403
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of FreeSync color accuracy is returned. The variable is __true__ if AMD FreeSync(TM) Premium Pro HDR media profile is activated. The variable is __false__ if the HDR10 media profile is activated. @ENG_END_DOX}
3404
+ *
3405
+ *@retvalues
3406
+ *@ENG_START_DOX If the state of FreeSync color accuracy is successfully returned, __ADLX_OK__ is returned. <br>
3407
+ * If the state of FreeSync color accuracy is not successfully returned, an error code is returned. <br>
3408
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3409
+ *
3410
+ *@addinfo
3411
+ *@ENG_START_DOX When enabled, the FreeSync color accuracy activates the AMD FreeSync(TM) Premium Pro HDR media profile for the display for optimal color accuracy when viewing HDR content.When disabled, it activates the HDR10 media profile for the display.
3412
+ *
3413
+ *@ENG_END_DOX
3414
+ *
3415
+ *@copydoc IADLXDisplayFreeSyncColorAccuracy_REQ_TABLE
3416
+ *
3417
+ */
3418
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled(adlx_bool* enabled) = 0;
3419
+ /**
3420
+ *@page DOX_IADLXDisplayFreeSyncColorAccuracy_SetEnabled SetEnabled
3421
+ *@ENG_START_DOX @brief Activates or deactivates the AMD FreeSync(TM) Premium Pro HDR media profile on a display. @ENG_END_DOX
3422
+ *
3423
+ *@syntax
3424
+ *@codeStart
3425
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
3426
+ *@codeEnd
3427
+ *
3428
+ *@params
3429
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new FreeSync color accuracy state. Set __true__ to activate the AMD FreeSync(TM) Premium Pro HDR media profile. Set __false__ to activate the HDR10 media profile. @ENG_END_DOX}
3430
+ *
3431
+ *@retvalues
3432
+ *@ENG_START_DOX If the FreeSync color accuracy enabled status is successfully set, __ADLX_OK__ is returned. <br>
3433
+ * If the FreeSync color accuracy enabled status is not successfully set, an error code is returned. <br>
3434
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
3435
+ *
3436
+ *@addinfo
3437
+ *@ENG_START_DOX When enabled, the FreeSync color accuracy activates the AMD FreeSync(TM) Premium Pro HDR media profile for the display for optimal color accuracy when viewing HDR content.When disabled, it activates the HDR10 media profile for the display.
3438
+ *
3439
+ *@ENG_END_DOX
3440
+ *
3441
+ *@copydoc IADLXDisplayFreeSyncColorAccuracy_REQ_TABLE
3442
+ *
3443
+ */
3444
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled(adlx_bool enabled) = 0;
3445
+ };
3446
+ typedef IADLXInterfacePtr_T<IADLXDisplayFreeSyncColorAccuracy> IADLXDisplayFreeSyncColorAccuracyPtr;
3447
+ }
3448
+
3449
+ #else
3450
+ ADLX_DECLARE_IID(IADLXDisplayFreeSyncColorAccuracy, L"IADLXDisplayFreeSyncColorAccuracy")
3451
+ typedef struct IADLXDisplayFreeSyncColorAccuracy IADLXDisplayFreeSyncColorAccuracy;
3452
+
3453
+ typedef struct IADLXDisplayFreeSyncColorAccuracyVtbl
3454
+ {
3455
+ //IADLXInterface
3456
+ adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplayFreeSyncColorAccuracy* pThis);
3457
+ adlx_long(ADLX_STD_CALL* Release)(IADLXDisplayFreeSyncColorAccuracy* pThis);
3458
+ ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplayFreeSyncColorAccuracy* pThis, const wchar_t* interfaceId, void** ppInterface);
3459
+
3460
+ //IADLXDisplayFreeSyncColorAccuracy
3461
+ ADLX_RESULT(ADLX_STD_CALL* IsSupported)(IADLXDisplayFreeSyncColorAccuracy* pThis, adlx_bool* supported);
3462
+ ADLX_RESULT(ADLX_STD_CALL* IsEnabled)(IADLXDisplayFreeSyncColorAccuracy* pThis, adlx_bool* enabled);
3463
+ ADLX_RESULT(ADLX_STD_CALL* SetEnabled)(IADLXDisplayFreeSyncColorAccuracy* pThis, adlx_bool enabled);
3464
+
3465
+ } IADLXDisplayFreeSyncColorAccuracyVtbl;
3466
+
3467
+ struct IADLXDisplayFreeSyncColorAccuracy
3468
+ {
3469
+ const IADLXDisplayFreeSyncColorAccuracyVtbl* pVtbl;
3470
+ };
3471
+
3472
+ #endif
3473
+
3474
+ #pragma endregion IADLXDisplayFreeSyncColorAccuracy interface
3475
+
3476
+ #endif // ADLX_IDISPLAYSETTING_H