Home | History | Annotate | Download | only in include
      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