From c4f01f63bf577e67f6eb85ccdaf19c73d4a70be6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20Kr=C3=A1sa?= Date: Sat, 30 Mar 2019 00:59:23 +0100 Subject: [PATCH] #213 generate already scaled image --- META-INF/plugin.xml | 2 +- src/org/plantuml/idea/rendering/PlantUmlRenderer.java | 9 +++++++-- src/org/plantuml/idea/toolwindow/PlantUmlImageLabel.java | 3 +-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/META-INF/plugin.xml b/META-INF/plugin.xml index a75e91ba..1a84c69f 100644 --- a/META-INF/plugin.xml +++ b/META-INF/plugin.xml @@ -1,6 +1,6 @@ PlantUML integration - 2.13.0 + 2.13.1 Eugene Steinberg diff --git a/src/org/plantuml/idea/rendering/PlantUmlRenderer.java b/src/org/plantuml/idea/rendering/PlantUmlRenderer.java index 2277c834..d1f3469d 100644 --- a/src/org/plantuml/idea/rendering/PlantUmlRenderer.java +++ b/src/org/plantuml/idea/rendering/PlantUmlRenderer.java @@ -2,6 +2,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.Pair; +import com.intellij.util.ui.JBUI; import net.sourceforge.plantuml.*; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.cucadiagram.Display; @@ -103,7 +104,7 @@ private static void zoomDiagram(Diagram diagram, int zoom) { UmlDiagram umlDiagram = (UmlDiagram) diagram; Scale scale = umlDiagram.getScale(); if (scale == null) { - umlDiagram.setScale(new ScaleSimple(zoom / 100f)); + umlDiagram.setScale(new ScaleSimple(getSystemScale() * zoom / 100f)); } } else if (diagram instanceof NewpagedDiagram) { NewpagedDiagram newpagedDiagram = (NewpagedDiagram) diagram; @@ -112,13 +113,17 @@ private static void zoomDiagram(Diagram diagram, int zoom) { DescriptionDiagram descriptionDiagram = (DescriptionDiagram) page; Scale scale = descriptionDiagram.getScale(); if (scale == null) { - descriptionDiagram.setScale(new ScaleSimple(zoom / 100f)); + descriptionDiagram.setScale(new ScaleSimple(getSystemScale() * zoom / 100f)); } } } } } + private static double getSystemScale() { + return JBUI.ScaleContext.create().getScale(JBUI.ScaleType.SYS_SCALE); + } + @NotNull protected static Titles getTitles(int totalPages, List blocks) { List titles = new ArrayList(totalPages); diff --git a/src/org/plantuml/idea/toolwindow/PlantUmlImageLabel.java b/src/org/plantuml/idea/toolwindow/PlantUmlImageLabel.java index da6c9226..fffa8f54 100644 --- a/src/org/plantuml/idea/toolwindow/PlantUmlImageLabel.java +++ b/src/org/plantuml/idea/toolwindow/PlantUmlImageLabel.java @@ -4,7 +4,6 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.ui.JBColor; import com.intellij.ui.PopupHandler; -import com.intellij.util.ImageLoader; import com.intellij.util.ui.ImageUtil; import com.intellij.util.ui.JBImageIcon; import com.intellij.util.ui.JBUI; @@ -90,7 +89,7 @@ private static void setDiagram(@NotNull final ImageItem imageItem, final JLabel JBUI.ScaleContext ctx = JBUI.ScaleContext.create(label); scaledImage = ImageUtil.ensureHiDPI(image, ctx); - scaledImage = ImageLoader.scaleImage(scaledImage, ctx.getScale(JBUI.ScaleType.SYS_SCALE)); +// scaledImage = ImageLoader.scaleImage(scaledImage, ctx.getScale(JBUI.ScaleType.SYS_SCALE)); label.setIcon(new JBImageIcon(scaledImage)); label.addMouseListener(new PopupHandler() {