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 } |