From cdd2426b7992eb8e324063af870ad5c4a44f10bd Mon Sep 17 00:00:00 2001 From: Anton Tarasov Date: Wed, 15 Jan 2020 13:59:25 +0300 Subject: [PATCH] Deprecate JBUI.scale(icon) Replaced with JBUIScale.scaleIcon(icon) GitOrigin-RevId: a1b6e3bca3d331d34d6d474310ca2723fbeee0d3 --- .../ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java | 3 +-- .../util/ui/src/com/intellij/ui/scale/JBUIScale.java | 12 ++++++++++++ .../util/ui/src/com/intellij/util/ui/EmptyIcon.java | 4 ++-- .../ui/src/com/intellij/util/ui/JBScalableIcon.java | 2 +- platform/util/ui/src/com/intellij/util/ui/JBUI.java | 11 ++++++++--- .../intellij/laf/macos/MacIntelliJCheckBoxUI.java | 2 +- .../intellij/laf/win10/WinIntelliJCheckBoxUI.java | 2 +- 7 files changed, 26 insertions(+), 10 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java index 146d33feaa10..a789da48adb0 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java @@ -19,13 +19,12 @@ import java.awt.geom.RoundRectangle2D; import java.beans.PropertyChangeListener; import static com.intellij.ide.ui.laf.darcula.DarculaUIUtil.isMultiLineHTML; -import static com.intellij.util.ui.JBUI.scale; /** * @author Konstantin Bulenkov */ public class DarculaCheckBoxUI extends MetalCheckBoxUI { - private static final Icon DEFAULT_ICON = scale(EmptyIcon.create(18)).asUIResource(); + private static final Icon DEFAULT_ICON = JBUIScale.scaleIcon(EmptyIcon.create(18)).asUIResource(); private final PropertyChangeListener textChangedListener = e -> updateTextPosition((AbstractButton)e.getSource()); diff --git a/platform/util/ui/src/com/intellij/ui/scale/JBUIScale.java b/platform/util/ui/src/com/intellij/ui/scale/JBUIScale.java index 8e49705c4638..63dda50ce58b 100644 --- a/platform/util/ui/src/com/intellij/ui/scale/JBUIScale.java +++ b/platform/util/ui/src/com/intellij/ui/scale/JBUIScale.java @@ -10,6 +10,7 @@ import com.intellij.util.LazyInitializer.MutableNotNullValue; import com.intellij.util.LazyInitializer.NullableValue; import com.intellij.util.SystemProperties; import com.intellij.util.ui.DetectRetinaKit; +import com.intellij.util.ui.JBScalableIcon; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -294,6 +295,17 @@ public final class JBUIScale { return Math.round(userScaleFactor.get() * i); } + /** + * Scales the passed {@code icon} according to the user scale factor. + * + * @see ScaleType#USR_SCALE + */ + @NotNull + public static T scaleIcon(@NotNull T icon) { + //noinspection unchecked + return (T)icon.withIconPreScaled(false); + } + public static int scaleFontSize(float fontSize) { if (userScaleFactor.get() == 1.25f) return (int)(fontSize * 1.34f); if (userScaleFactor.get() == 1.75f) return (int)(fontSize * 1.67f); diff --git a/platform/util/ui/src/com/intellij/util/ui/EmptyIcon.java b/platform/util/ui/src/com/intellij/util/ui/EmptyIcon.java index 0244c5601ba9..76acc9534823 100644 --- a/platform/util/ui/src/com/intellij/util/ui/EmptyIcon.java +++ b/platform/util/ui/src/com/intellij/util/ui/EmptyIcon.java @@ -43,7 +43,7 @@ import static com.intellij.ui.scale.DerivedScaleType.PIX_SCALE; /** * Creates an icon of the provided size. * - * Use {@link JBUI#scale(JBScalableIcon)} to meet HiDPI. + * Use {@link JBUIScale#scaleIcon(JBScalableIcon)} (JBScalableIcon)} to meet HiDPI. */ @NotNull public static EmptyIcon create(int size) { @@ -53,7 +53,7 @@ import static com.intellij.ui.scale.DerivedScaleType.PIX_SCALE; /** * Creates an icon of the provided size. * - * Use {@link JBUI#scale(JBScalableIcon)} to meet HiDPI. + * Use {@link JBUIScale#scaleIcon(JBScalableIcon)} (JBScalableIcon)} to meet HiDPI. */ @NotNull public static EmptyIcon create(int width, int height) { diff --git a/platform/util/ui/src/com/intellij/util/ui/JBScalableIcon.java b/platform/util/ui/src/com/intellij/util/ui/JBScalableIcon.java index ef11b6b50509..3b393c81f56e 100644 --- a/platform/util/ui/src/com/intellij/util/ui/JBScalableIcon.java +++ b/platform/util/ui/src/com/intellij/util/ui/JBScalableIcon.java @@ -64,7 +64,7 @@ public abstract class JBScalableIcon extends UserScaleContextSupport implements * * @param preScaled whether the icon is pre-scaled * @return the icon in the provided pre-scaled state - * @see JBUI#scale(JBScalableIcon) + * @see JBUIScale#scaleIcon(JBScalableIcon) (JBScalableIcon) */ @NotNull public JBScalableIcon withIconPreScaled(boolean preScaled) { diff --git a/platform/util/ui/src/com/intellij/util/ui/JBUI.java b/platform/util/ui/src/com/intellij/util/ui/JBUI.java index 1588d4ff7c6f..cd0009ef2981 100644 --- a/platform/util/ui/src/com/intellij/util/ui/JBUI.java +++ b/platform/util/ui/src/com/intellij/util/ui/JBUI.java @@ -186,16 +186,21 @@ public class JBUI { return new JBInsets(0, 0, 0, r); } + /** + * @deprecated Use {@link JBUIScale#scaleIcon(JBScalableIcon)}. + */ + @Deprecated + @ApiStatus.ScheduledForRemoval @NotNull public static T scale(@NotNull T icon) { - //noinspection unchecked - return (T)icon.withIconPreScaled(false); + return JBUIScale.scaleIcon(icon); } /** - * @deprecated Use {@link #scale(JBScalableIcon)}. + * @deprecated Use {@link JBUIScale#scaleIcon(JBScalableIcon)}. */ @Deprecated + @ApiStatus.ScheduledForRemoval @NotNull public static T scale(@NotNull T icon) { //noinspection unchecked diff --git a/plugins/laf/macos/src/com/intellij/laf/macos/MacIntelliJCheckBoxUI.java b/plugins/laf/macos/src/com/intellij/laf/macos/MacIntelliJCheckBoxUI.java index 6369df41a1b3..1574ab4cdbac 100644 --- a/plugins/laf/macos/src/com/intellij/laf/macos/MacIntelliJCheckBoxUI.java +++ b/plugins/laf/macos/src/com/intellij/laf/macos/MacIntelliJCheckBoxUI.java @@ -18,7 +18,7 @@ import java.awt.geom.RoundRectangle2D; * @author Konstantin Bulenkov */ public class MacIntelliJCheckBoxUI extends DarculaCheckBoxUI { - public static final Icon DEFAULT_ICON = JBUI.scale(EmptyIcon.create(22)); + public static final Icon DEFAULT_ICON = JBUIScale.scaleIcon(EmptyIcon.create(22)); public MacIntelliJCheckBoxUI(JCheckBox c) { c.setOpaque(false); diff --git a/plugins/laf/win10/src/com/intellij/laf/win10/WinIntelliJCheckBoxUI.java b/plugins/laf/win10/src/com/intellij/laf/win10/WinIntelliJCheckBoxUI.java index 0270fa0943b4..163b3bc63a5e 100644 --- a/plugins/laf/win10/src/com/intellij/laf/win10/WinIntelliJCheckBoxUI.java +++ b/plugins/laf/win10/src/com/intellij/laf/win10/WinIntelliJCheckBoxUI.java @@ -16,7 +16,7 @@ import java.awt.geom.Rectangle2D; * @author Konstantin Bulenkov */ public class WinIntelliJCheckBoxUI extends DarculaCheckBoxUI { - private static final Icon DEFAULT_ICON = JBUI.scale(EmptyIcon.create(13)).asUIResource(); + private static final Icon DEFAULT_ICON = JBUIScale.scaleIcon(EmptyIcon.create(13)).asUIResource(); @SuppressWarnings({"MethodOverridesStaticMethodOfSuperclass", "UnusedDeclaration"}) public static ComponentUI createUI(JComponent c) {