From e67beae2f1f77500fc17a84e49a325ff400afa6d Mon Sep 17 00:00:00 2001 From: Evgeny Pasynkov Date: Thu, 31 Jan 2013 13:25:42 +0100 Subject: [PATCH] public method to load retina icons --- .../src/com/intellij/util/ImageLoader.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/platform/util/src/com/intellij/util/ImageLoader.java b/platform/util/src/com/intellij/util/ImageLoader.java index 26eb3e2936f0..d34faff6d8b0 100644 --- a/platform/util/src/com/intellij/util/ImageLoader.java +++ b/platform/util/src/com/intellij/util/ImageLoader.java @@ -71,6 +71,18 @@ public class ImageLoader implements Serializable { return null; } + @Nullable + public static Image loadFromUrl(URL url, boolean dark, boolean retina) { + for (Pair each : getFileNames(url.toString(), dark, retina)) { + try { + return loadFromStream(URLUtil.openStream(new URL(each.first)), each.second); + } + catch (IOException ignore) { + } + } + return null; + } + @Nullable public static Image loadFromResource(@NonNls String s) { int stackFrameCount = 2; @@ -96,8 +108,10 @@ public class ImageLoader implements Serializable { } public static List> getFileNames(@NotNull String file) { - final boolean dark = UIUtil.isUnderDarcula(); - final boolean retina = UIUtil.isRetina(); + return getFileNames(file, UIUtil.isUnderDarcula(), UIUtil.isRetina()); + } + + public static List> getFileNames(@NotNull String file, boolean dark, boolean retina) { if (retina || dark) { List> answer = new ArrayList>(4);