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