view src/main/java/jp/ac/u_ryukyu/treevnc/test/IsRetina.java @ 373:b6665f7f18d1

Fix Change Server
author innparusu
date Tue, 25 Aug 2015 17:52:05 +0900
parents d393cb629016
children 0aab561a8cf4
line wrap: on
line source

package jp.ac.u_ryukyu.treevnc.test;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.lang.reflect.Field;

/**
 * Created by one on 15/08/18.
 */
public class IsRetina {
    public static final boolean isRetina = isRetina();

    private static boolean isRetina() {
//other OS and JVM specific checks...

        GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
        final GraphicsDevice device = env.getDefaultScreenDevice();

        try {
            Field field = device.getClass().getDeclaredField("scale");

            if (field != null) {
                field.setAccessible(true);
                Object scale = field.get(device);

                if (scale instanceof Integer && ((Integer)scale).intValue() == 2) {
                    return true;
                }
            }
        } catch (Exception ignore) {}
        //...
        return false;
    }

    public static void main(String args[]) {
        System.out.println(isRetina());
    }
}