From 3fe67ae091f40b79f7ebd993ee0ebc52cda074e7 Mon Sep 17 00:00:00 2001 From: Artem Bochkarev Date: Tue, 24 Sep 2024 13:05:32 +0400 Subject: [PATCH] IJPL-162777 Fix frame dimensions was broken in commit "IJPL-162415 Fix scale" GitOrigin-RevId: 55725da55dfc868720ea34e7f8fe76ac41c1b510 --- platform/ui.jcef/jcef/JBCefNativeOsrHandler.java | 5 ++++- platform/ui.jcef/jcef/JBCefOsrHandler.java | 7 +------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/platform/ui.jcef/jcef/JBCefNativeOsrHandler.java b/platform/ui.jcef/jcef/JBCefNativeOsrHandler.java index f41a7d0ede57..2ff36602180f 100644 --- a/platform/ui.jcef/jcef/JBCefNativeOsrHandler.java +++ b/platform/ui.jcef/jcef/JBCefNativeOsrHandler.java @@ -116,7 +116,10 @@ class JBCefNativeOsrHandler extends JBCefOsrHandler implements CefNativeRenderHa @Override protected Dimension getCurrentFrameSize() { SharedMemory.WithRaster frame = myCurrentFrame; - return frame == null ? null : new Dimension(frame.getWidth(), frame.getHeight()); + if (frame == null) + return null; + + return new Dimension((int)Math.ceil(frame.getWidth()/getPixelDensity()), (int)Math.ceil(frame.getHeight()/getPixelDensity())); } @Override diff --git a/platform/ui.jcef/jcef/JBCefOsrHandler.java b/platform/ui.jcef/jcef/JBCefOsrHandler.java index 26fd0c0451d1..9805a4d69036 100644 --- a/platform/ui.jcef/jcef/JBCefOsrHandler.java +++ b/platform/ui.jcef/jcef/JBCefOsrHandler.java @@ -291,12 +291,7 @@ class JBCefOsrHandler implements CefRenderHandler { } private VolatileImage createVolatileImage(Graphics2D g, int width, int height) { - VolatileImage volatileImage = myVolatileImage; - int scaledWidth = (int)Math.floor(width/getPixelDensity()); - int scaledHeight = (int)Math.floor(height/getPixelDensity()); - if (width % getPixelDensity() != 0) ++scaledWidth; - if (height % getPixelDensity() != 0) ++scaledHeight; - VolatileImage image = g.getDeviceConfiguration().createCompatibleVolatileImage(scaledWidth, scaledHeight, Transparency.TRANSLUCENT); + VolatileImage image = g.getDeviceConfiguration().createCompatibleVolatileImage(width, height, Transparency.TRANSLUCENT); {// clear image Graphics2D gimg = (Graphics2D)image.getGraphics().create();