< prev index next >

src/java.desktop/windows/classes/sun/awt/windows/TranslucentWindowPainter.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 43,52 **** --- 43,53 ---- import sun.java2d.pipe.hw.AccelGraphicsConfig; import sun.java2d.pipe.hw.AccelSurface; import sun.security.action.GetPropertyAction; import static java.awt.image.VolatileImage.*; + import sun.java2d.SurfaceData; import static sun.java2d.pipe.hw.AccelSurface.*; import static sun.java2d.pipe.hw.ContextCapabilities.*; /** * This class handles the updates of the non-opaque windows.
*** 301,314 **** @Override protected boolean update(Image bb) { if (bb instanceof DestSurfaceProvider) { Surface s = ((DestSurfaceProvider)bb).getDestSurface(); if (s instanceof AccelSurface) { - final int w = bb.getWidth(null); - final int h = bb.getHeight(null); final boolean arr[] = { false }; final AccelSurface as = (AccelSurface)s; RenderQueue rq = as.getContext().getRenderQueue(); rq.lock(); try { BufferedContext.validateContext(as); rq.flushAndInvokeNow(new Runnable() { --- 302,317 ---- @Override protected boolean update(Image bb) { if (bb instanceof DestSurfaceProvider) { Surface s = ((DestSurfaceProvider)bb).getDestSurface(); if (s instanceof AccelSurface) { final boolean arr[] = { false }; final AccelSurface as = (AccelSurface)s; + double scaleX = ((SurfaceData)as).getDefaultScaleX(); + double scaleY = ((SurfaceData)as).getDefaultScaleY(); + final int w = (int) Math.ceil(bb.getWidth(null) * scaleX); + final int h = (int) Math.ceil(bb.getHeight(null) * scaleY); RenderQueue rq = as.getContext().getRenderQueue(); rq.lock(); try { BufferedContext.validateContext(as); rq.flushAndInvokeNow(new Runnable() {
< prev index next >