modules/web/src/main/java/com/sun/javafx/webkit/prism/PrismGraphicsManager.java

Print this page




  28 import com.sun.glass.ui.Screen;
  29 import com.sun.javafx.geom.transform.BaseTransform;
  30 import com.sun.media.jfxmedia.MediaManager;
  31 import com.sun.prism.Graphics;
  32 import com.sun.webkit.perf.WCFontPerfLogger;
  33 import com.sun.webkit.perf.WCGraphicsPerfLogger;
  34 import com.sun.webkit.graphics.*;
  35 import java.io.IOException;
  36 import java.io.InputStream;
  37 import java.nio.ByteBuffer;
  38 import java.nio.ByteOrder;
  39 
  40 public final class PrismGraphicsManager extends WCGraphicsManager {
  41 
  42     private final static float highestPixelScale;
  43     private final static BaseTransform pixelScaleTransform;
  44 
  45     static {
  46         float ps = 1f;
  47         for (Screen s : Screen.getScreens()) {
  48             ps = Math.max(s.getRenderScale(), ps);

  49         }
  50         highestPixelScale = ps;
  51         pixelScaleTransform = BaseTransform.getScaleInstance(ps, ps);
  52     }
  53 
  54     static BaseTransform getPixelScaleTransform() {
  55         return pixelScaleTransform;
  56     }
  57 
  58     @Override public float getDevicePixelScale() {
  59         return highestPixelScale;
  60     }
  61 
  62     @Override protected WCImageDecoder getImageDecoder() {
  63         return new WCImageDecoderImpl();
  64     }
  65 
  66     @Override public WCRenderQueue createRenderQueue(WCRectangle clip,
  67                                                      boolean opaque)
  68     {
  69         return new WCRenderQueueImpl(clip, opaque);
  70     }




  28 import com.sun.glass.ui.Screen;
  29 import com.sun.javafx.geom.transform.BaseTransform;
  30 import com.sun.media.jfxmedia.MediaManager;
  31 import com.sun.prism.Graphics;
  32 import com.sun.webkit.perf.WCFontPerfLogger;
  33 import com.sun.webkit.perf.WCGraphicsPerfLogger;
  34 import com.sun.webkit.graphics.*;
  35 import java.io.IOException;
  36 import java.io.InputStream;
  37 import java.nio.ByteBuffer;
  38 import java.nio.ByteOrder;
  39 
  40 public final class PrismGraphicsManager extends WCGraphicsManager {
  41 
  42     private final static float highestPixelScale;
  43     private final static BaseTransform pixelScaleTransform;
  44 
  45     static {
  46         float ps = 1f;
  47         for (Screen s : Screen.getScreens()) {
  48             ps = Math.max(s.getRecommendedOutputScaleX(), ps);
  49             ps = Math.max(s.getRecommendedOutputScaleY(), ps);
  50         }
  51         highestPixelScale = (float) Math.ceil(ps);
  52         pixelScaleTransform = BaseTransform.getScaleInstance(ps, ps);
  53     }
  54 
  55     static BaseTransform getPixelScaleTransform() {
  56         return pixelScaleTransform;
  57     }
  58 
  59     @Override public float getDevicePixelScale() {
  60         return highestPixelScale;
  61     }
  62 
  63     @Override protected WCImageDecoder getImageDecoder() {
  64         return new WCImageDecoderImpl();
  65     }
  66 
  67     @Override public WCRenderQueue createRenderQueue(WCRectangle clip,
  68                                                      boolean opaque)
  69     {
  70         return new WCRenderQueueImpl(clip, opaque);
  71     }