Search in sources :

Example 1 with MC_POSITION_TYPE

use of com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_POSITION_TYPE in project jna by java-native-access.

the class Dxva2Test method testGetMonitorDisplayAreaPosition.

@Test
public void testGetMonitorDisplayAreaPosition() {
    HANDLE hPhysicalMonitor = physMons[0].hPhysicalMonitor;
    // the method returns FALSE if the monitor driver doesn't support it,
    // but verifies that the JNA mapping is correct (no exception)
    MC_POSITION_TYPE ptPositionType = MC_POSITION_TYPE.MC_HORIZONTAL_POSITION;
    DWORDByReference pdwMinimumPosition = new DWORDByReference();
    DWORDByReference pdwCurrentPosition = new DWORDByReference();
    DWORDByReference pdwMaximumPosition = new DWORDByReference();
    Dxva2.INSTANCE.GetMonitorDisplayAreaPosition(hPhysicalMonitor, ptPositionType, pdwMinimumPosition, pdwCurrentPosition, pdwMaximumPosition);
}
Also used : DWORDByReference(com.sun.jna.platform.win32.WinDef.DWORDByReference) HANDLE(com.sun.jna.platform.win32.WinNT.HANDLE) MC_POSITION_TYPE(com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_POSITION_TYPE)

Example 2 with MC_POSITION_TYPE

use of com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_POSITION_TYPE in project jna by java-native-access.

the class MonitorInfoDemo method enumeratePhysicalMonitor.

/**
	 * @param hPhysicalMonitor
	 */
private static void enumeratePhysicalMonitor(HANDLE hPhysicalMonitor) {
    MC_DISPLAY_TECHNOLOGY_TYPE.ByReference techType = new MC_DISPLAY_TECHNOLOGY_TYPE.ByReference();
    Dxva2.INSTANCE.GetMonitorTechnologyType(hPhysicalMonitor, techType);
    System.out.println("TECHTYPE: " + techType.getValue());
    DWORDByReference temps = new DWORDByReference();
    DWORDByReference caps = new DWORDByReference();
    Dxva2.INSTANCE.GetMonitorCapabilities(hPhysicalMonitor, caps, temps);
    System.out.println("CAPS " + EnumUtils.setFromInteger(caps.getValue().intValue(), HighLevelMonitorConfigurationAPI.MC_CAPS.class));
    System.out.println("Temps " + temps.getValue());
    // Brightness
    DWORDByReference pdwMinimumBrightness = new DWORDByReference();
    DWORDByReference pdwCurrentBrightness = new DWORDByReference();
    DWORDByReference pdwMaximumBrightness = new DWORDByReference();
    Dxva2.INSTANCE.GetMonitorBrightness(hPhysicalMonitor, pdwMinimumBrightness, pdwCurrentBrightness, pdwMaximumBrightness);
    System.out.println("Brightness Min: " + pdwMinimumBrightness.getValue());
    System.out.println("Brightness Current: " + pdwCurrentBrightness.getValue());
    System.out.println("Brightness Max: " + pdwMaximumBrightness.getValue());
    // Contrast
    DWORDByReference pdwMinimumContrast = new DWORDByReference();
    DWORDByReference pdwCurrentContrast = new DWORDByReference();
    DWORDByReference pdwMaximumContrast = new DWORDByReference();
    Dxva2.INSTANCE.GetMonitorContrast(hPhysicalMonitor, pdwMinimumContrast, pdwCurrentContrast, pdwMaximumContrast);
    System.out.println("Contrast Min: " + pdwMinimumContrast.getValue());
    System.out.println("Contrast Current: " + pdwCurrentContrast.getValue());
    System.out.println("Contrast Max: " + pdwMaximumContrast.getValue());
    // Temperature
    MC_COLOR_TEMPERATURE.ByReference pctCurrentColorTemperature = new MC_COLOR_TEMPERATURE.ByReference();
    Dxva2.INSTANCE.GetMonitorColorTemperature(hPhysicalMonitor, pctCurrentColorTemperature);
    System.out.println("Current Temp: " + pctCurrentColorTemperature.getValue());
    // Capabilities string
    DWORDByReference pdwCapabilitiesStringLengthInCharacters = new DWORDByReference();
    Dxva2.INSTANCE.GetCapabilitiesStringLength(hPhysicalMonitor, pdwCapabilitiesStringLengthInCharacters);
    DWORD capStrLen = pdwCapabilitiesStringLengthInCharacters.getValue();
    LPSTR pszASCIICapabilitiesString = new LPSTR(new Memory(capStrLen.intValue()));
    Dxva2.INSTANCE.CapabilitiesRequestAndCapabilitiesReply(hPhysicalMonitor, pszASCIICapabilitiesString, capStrLen);
    System.out.println("Cap-String:" + new String(pszASCIICapabilitiesString.getPointer().getString(0)));
    // Position
    MC_POSITION_TYPE ptPositionType = MC_POSITION_TYPE.MC_HORIZONTAL_POSITION;
    DWORDByReference pdwMinimumPosition = new DWORDByReference();
    DWORDByReference pdwCurrentPosition = new DWORDByReference();
    DWORDByReference pdwMaximumPosition = new DWORDByReference();
    Dxva2.INSTANCE.GetMonitorDisplayAreaPosition(hPhysicalMonitor, ptPositionType, pdwMinimumPosition, pdwCurrentPosition, pdwMaximumPosition);
    System.out.println("Position (horz) Min: " + pdwMinimumPosition.getValue());
    System.out.println("Position (horz) Current: " + pdwCurrentPosition.getValue());
    System.out.println("Position (horz) Max: " + pdwMaximumPosition.getValue());
    // Size
    MC_SIZE_TYPE ptSizeType = MC_SIZE_TYPE.MC_WIDTH;
    DWORDByReference pdwMinimumSize = new DWORDByReference();
    DWORDByReference pdwCurrentSize = new DWORDByReference();
    DWORDByReference pdwMaximumSize = new DWORDByReference();
    Dxva2.INSTANCE.GetMonitorDisplayAreaSize(hPhysicalMonitor, ptSizeType, pdwMinimumSize, pdwCurrentSize, pdwMaximumSize);
    System.out.println("Width Min: " + pdwMinimumSize.getValue());
    System.out.println("Width Current: " + pdwCurrentSize.getValue());
    System.out.println("Width Max: " + pdwMaximumSize.getValue());
    // Gain
    MC_GAIN_TYPE ptGainType = MC_GAIN_TYPE.MC_RED_GAIN;
    DWORDByReference pdwMinimumGain = new DWORDByReference();
    DWORDByReference pdwCurrentGain = new DWORDByReference();
    DWORDByReference pdwMaximumGain = new DWORDByReference();
    Dxva2.INSTANCE.GetMonitorRedGreenOrBlueGain(hPhysicalMonitor, ptGainType, pdwMinimumGain, pdwCurrentGain, pdwMaximumGain);
    System.out.println("Red Gain Min: " + pdwMinimumSize.getValue());
    System.out.println("Red Gain Current: " + pdwCurrentSize.getValue());
    System.out.println("Red Gain Max: " + pdwMaximumSize.getValue());
    // Drive
    MC_DRIVE_TYPE ptDriveType = MC_DRIVE_TYPE.MC_RED_DRIVE;
    DWORDByReference pdwMinimumDrive = new DWORDByReference();
    DWORDByReference pdwCurrentDrive = new DWORDByReference();
    DWORDByReference pdwMaximumDrive = new DWORDByReference();
    Dxva2.INSTANCE.GetMonitorRedGreenOrBlueDrive(hPhysicalMonitor, ptDriveType, pdwMinimumDrive, pdwCurrentDrive, pdwMaximumDrive);
    System.out.println("Red Drive Min: " + pdwMinimumSize.getValue());
    System.out.println("Red Drive Current: " + pdwCurrentSize.getValue());
    System.out.println("Red Drive Max: " + pdwMaximumSize.getValue());
    // Timing Report
    MC_TIMING_REPORT pmtrMonitorTimingReport = new MC_TIMING_REPORT();
    Dxva2.INSTANCE.GetTimingReport(hPhysicalMonitor, pmtrMonitorTimingReport);
    System.out.println("HorizontalFrequencyInHZ " + pmtrMonitorTimingReport.dwHorizontalFrequencyInHZ);
    System.out.println("VerticalFrequencyInHZ " + pmtrMonitorTimingReport.dwVerticalFrequencyInHZ);
    System.out.println("--------------------------------------");
}
Also used : HighLevelMonitorConfigurationAPI(com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI) DWORDByReference(com.sun.jna.platform.win32.WinDef.DWORDByReference) MC_GAIN_TYPE(com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_GAIN_TYPE) Memory(com.sun.jna.Memory) DWORD(com.sun.jna.platform.win32.WinDef.DWORD) DWORDByReference(com.sun.jna.platform.win32.WinDef.DWORDByReference) MC_SIZE_TYPE(com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_SIZE_TYPE) MC_DISPLAY_TECHNOLOGY_TYPE(com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_DISPLAY_TECHNOLOGY_TYPE) MC_POSITION_TYPE(com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_POSITION_TYPE) MC_COLOR_TEMPERATURE(com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_COLOR_TEMPERATURE) MC_TIMING_REPORT(com.sun.jna.platform.win32.LowLevelMonitorConfigurationAPI.MC_TIMING_REPORT) LPSTR(com.sun.jna.platform.win32.WTypes.LPSTR) MC_DRIVE_TYPE(com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_DRIVE_TYPE)

Aggregations

MC_POSITION_TYPE (com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_POSITION_TYPE)2 DWORDByReference (com.sun.jna.platform.win32.WinDef.DWORDByReference)2 Memory (com.sun.jna.Memory)1 HighLevelMonitorConfigurationAPI (com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI)1 MC_COLOR_TEMPERATURE (com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_COLOR_TEMPERATURE)1 MC_DISPLAY_TECHNOLOGY_TYPE (com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_DISPLAY_TECHNOLOGY_TYPE)1 MC_DRIVE_TYPE (com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_DRIVE_TYPE)1 MC_GAIN_TYPE (com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_GAIN_TYPE)1 MC_SIZE_TYPE (com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI.MC_SIZE_TYPE)1 MC_TIMING_REPORT (com.sun.jna.platform.win32.LowLevelMonitorConfigurationAPI.MC_TIMING_REPORT)1 LPSTR (com.sun.jna.platform.win32.WTypes.LPSTR)1 DWORD (com.sun.jna.platform.win32.WinDef.DWORD)1 HANDLE (com.sun.jna.platform.win32.WinNT.HANDLE)1