highlevelmonitorconfigurationapi.h 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /**
  2. * This file is part of the mingw-w64 runtime package.
  3. * No warranty is given; refer to the file DISCLAIMER within this package.
  4. */
  5. #include <winapifamily.h>
  6. #ifndef HighLevelMonitorConfigurationAPI_h
  7. #define HighLevelMonitorConfigurationAPI_h
  8. #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
  9. #include <windows.h>
  10. #include <physicalmonitorenumerationapi.h>
  11. #define MC_CAPS_NONE 0x00000000
  12. #define MC_CAPS_MONITOR_TECHNOLOGY_TYPE 0x00000001
  13. #define MC_CAPS_BRIGHTNESS 0x00000002
  14. #define MC_CAPS_CONTRAST 0x00000004
  15. #define MC_CAPS_COLOR_TEMPERATURE 0x00000008
  16. #define MC_CAPS_RED_GREEN_BLUE_GAIN 0x00000010
  17. #define MC_CAPS_RED_GREEN_BLUE_DRIVE 0x00000020
  18. #define MC_CAPS_DEGAUSS 0x00000040
  19. #define MC_CAPS_DISPLAY_AREA_POSITION 0x00000080
  20. #define MC_CAPS_DISPLAY_AREA_SIZE 0x00000100
  21. #define MC_CAPS_RESTORE_FACTORY_DEFAULTS 0x00000400
  22. #define MC_CAPS_RESTORE_FACTORY_COLOR_DEFAULTS 0x00000800
  23. #define MC_RESTORE_FACTORY_DEFAULTS_ENABLES_MONITOR_SETTINGS 0x00001000
  24. #define MC_SUPPORTED_COLOR_TEMPERATURE_NONE 0x00000000
  25. #define MC_SUPPORTED_COLOR_TEMPERATURE_4000K 0x00000001
  26. #define MC_SUPPORTED_COLOR_TEMPERATURE_5000K 0x00000002
  27. #define MC_SUPPORTED_COLOR_TEMPERATURE_6500K 0x00000004
  28. #define MC_SUPPORTED_COLOR_TEMPERATURE_7500K 0x00000008
  29. #define MC_SUPPORTED_COLOR_TEMPERATURE_8200K 0x00000010
  30. #define MC_SUPPORTED_COLOR_TEMPERATURE_9300K 0x00000020
  31. #define MC_SUPPORTED_COLOR_TEMPERATURE_10000K 0x00000040
  32. #define MC_SUPPORTED_COLOR_TEMPERATURE_11500K 0x00000080
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36. typedef enum _MC_DISPLAY_TECHNOLOGY_TYPE {
  37. MC_SHADOW_MASK_CATHODE_RAY_TUBE,
  38. MC_APERTURE_GRILL_CATHODE_RAY_TUBE,
  39. MC_THIN_FILM_TRANSISTOR,
  40. MC_LIQUID_CRYSTAL_ON_SILICON,
  41. MC_PLASMA,
  42. MC_ORGANIC_LIGHT_EMITTING_DIODE,
  43. MC_ELECTROLUMINESCENT,
  44. MC_MICROELECTROMECHANICAL,
  45. MC_FIELD_EMISSION_DEVICE
  46. } MC_DISPLAY_TECHNOLOGY_TYPE,*LPMC_DISPLAY_TECHNOLOGY_TYPE;
  47. typedef enum _MC_DRIVE_TYPE {
  48. MC_RED_DRIVE,
  49. MC_GREEN_DRIVE,
  50. MC_BLUE_DRIVE
  51. } MC_DRIVE_TYPE;
  52. typedef enum _MC_GAIN_TYPE {
  53. MC_RED_GAIN,
  54. MC_GREEN_GAIN,
  55. MC_BLUE_GAIN
  56. } MC_GAIN_TYPE;
  57. typedef enum _MC_POSITION_TYPE {
  58. MC_HORIZONTAL_POSITION,
  59. MC_VERTICAL_POSITION
  60. } MC_POSITION_TYPE;
  61. typedef enum _MC_SIZE_TYPE {
  62. MC_WIDTH,
  63. MC_HEIGHT
  64. } MC_SIZE_TYPE;
  65. typedef enum _MC_COLOR_TEMPERATURE {
  66. MC_COLOR_TEMPERATURE_UNKNOWN,
  67. MC_COLOR_TEMPERATURE_4000K,
  68. MC_COLOR_TEMPERATURE_5000K,
  69. MC_COLOR_TEMPERATURE_6500K,
  70. MC_COLOR_TEMPERATURE_7500K,
  71. MC_COLOR_TEMPERATURE_8200K,
  72. MC_COLOR_TEMPERATURE_9300K,
  73. MC_COLOR_TEMPERATURE_10000K,
  74. MC_COLOR_TEMPERATURE_11500K
  75. } MC_COLOR_TEMPERATURE,*LPMC_COLOR_TEMPERATURE;
  76. _BOOL WINAPI DegaussMonitor (HANDLE hMonitor);
  77. _BOOL WINAPI GetMonitorBrightness (HANDLE hMonitor, LPDWORD pdwMinimumBrightness, LPDWORD pdwCurrentBrightness, LPDWORD pdwMaximumBrightness);
  78. _BOOL WINAPI GetMonitorCapabilities (HANDLE hMonitor, LPDWORD pdwMonitorCapabilities, LPDWORD pdwSupportedColorTemperatures);
  79. _BOOL WINAPI GetMonitorColorTemperature (HANDLE hMonitor, LPMC_COLOR_TEMPERATURE pctCurrentColorTemperature);
  80. _BOOL WINAPI GetMonitorContrast (HANDLE hMonitor, LPDWORD pdwMinimumContrast, LPDWORD pdwCurrentContrast, LPDWORD pdwMaximumContrast);
  81. _BOOL WINAPI GetMonitorDisplayAreaSize (HANDLE hMonitor, MC_SIZE_TYPE stSizeType, LPDWORD pdwMinimumWidthOrHeight, LPDWORD pdwCurrentWidthOrHeight, LPDWORD pdwMaximumWidthOrHeight);
  82. _BOOL WINAPI GetMonitorDisplayAreaPosition (HANDLE hMonitor, MC_POSITION_TYPE ptPositionType, LPDWORD pdwMinimumPosition, LPDWORD pdwCurrentPosition, LPDWORD pdwMaximumPosition);
  83. _BOOL WINAPI GetMonitorRedGreenOrBlueDrive (HANDLE hMonitor, MC_DRIVE_TYPE dtDriveType, LPDWORD pdwMinimumDrive, LPDWORD pdwCurrentDrive, LPDWORD pdwMaximumDrive);
  84. _BOOL WINAPI GetMonitorRedGreenOrBlueGain (HANDLE hMonitor, MC_GAIN_TYPE gtGainType, LPDWORD pdwMinimumGain, LPDWORD pdwCurrentGain, LPDWORD pdwMaximumGain);
  85. _BOOL WINAPI GetMonitorTechnologyType (HANDLE hMonitor, LPMC_DISPLAY_TECHNOLOGY_TYPE pdtyDisplayTechnologyType);
  86. _BOOL WINAPI RestoreMonitorFactoryColorDefaults (HANDLE hMonitor);
  87. _BOOL WINAPI RestoreMonitorFactoryDefaults (HANDLE hMonitor);
  88. _BOOL WINAPI SaveCurrentMonitorSettings (HANDLE hMonitor);
  89. _BOOL WINAPI SetMonitorBrightness (HANDLE hMonitor, DWORD dwNewBrightness);
  90. _BOOL WINAPI SetMonitorColorTemperature (HANDLE hMonitor, MC_COLOR_TEMPERATURE ctCurrentColorTemperature);
  91. _BOOL WINAPI SetMonitorContrast (HANDLE hMonitor, DWORD dwNewContrast);
  92. _BOOL WINAPI SetMonitorDisplayAreaSize (HANDLE hMonitor, MC_SIZE_TYPE stSizeType, DWORD dwNewDisplayAreaWidthOrHeight);
  93. _BOOL WINAPI SetMonitorDisplayAreaPosition (HANDLE hMonitor, MC_POSITION_TYPE ptPositionType, DWORD dwNewPosition);
  94. _BOOL WINAPI SetMonitorRedGreenOrBlueDrive (HANDLE hMonitor, MC_DRIVE_TYPE dtDriveType, DWORD dwNewDrive);
  95. _BOOL WINAPI SetMonitorRedGreenOrBlueGain (HANDLE hMonitor, MC_GAIN_TYPE gtGainType, DWORD dwNewGain);
  96. #ifdef __cplusplus
  97. }
  98. #endif
  99. #endif
  100. #endif