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 116