Bug 513295 - [HiDPI] Composite Debug icons should use high-resolution
base images
Change-Id: I97b1bc04e4c1b0107223404b9812076129e6ed39
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIImageDescriptor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIImageDescriptor.java
index d75ee69..e1bbbf6 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIImageDescriptor.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIImageDescriptor.java
@@ -13,7 +13,6 @@
import org.eclipse.jface.resource.CompositeImageDescriptor;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.Point;
/**
@@ -85,8 +84,8 @@
@Override
protected Point getSize() {
if (fSize == null) {
- ImageData data= getBaseImage().getImageData();
- setSize(new Point(data.width, data.height));
+ CachedImageDataProvider provider = createCachedImageDataProvider(getBaseImage());
+ setSize(new Point(provider.getWidth(), provider.getHeight()));
}
return fSize;
}
@@ -121,83 +120,83 @@
drawOverlays();
}
- private ImageData getImageData(String imageDescriptorKey) {
- return JavaDebugImages.getImageDescriptor(imageDescriptorKey).getImageData();
+ private ImageDescriptor getImageDescriptor(String imageDescriptorKey) {
+ return JavaDebugImages.getImageDescriptor(imageDescriptorKey);
}
/**
* Add any overlays to the image as specified in the flags.
*/
protected void drawOverlays() {
- int flags= getFlags();
- int x= 0;
- int y= 0;
- ImageData data= null;
+ int flags = getFlags();
+ int x = 0;
+ int y = 0;
+ CachedImageDataProvider provider;
if ((flags & IS_OUT_OF_SYNCH) != 0) {
- x= getSize().x;
- y= 0;
- data= getImageData(JavaDebugImages.IMG_OVR_OUT_OF_SYNCH);
- x -= data.width;
- drawImage(data, x, y);
+ x = getSize().x;
+ y = 0;
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_OUT_OF_SYNCH));
+ x -= provider.getWidth();
+ drawImage(provider, x, y);
} else if ((flags & MAY_BE_OUT_OF_SYNCH) != 0) {
- x= getSize().x;
- y= 0;
- data= getImageData(JavaDebugImages.IMG_OVR_MAY_BE_OUT_OF_SYNCH);
- x -= data.width;
- drawImage(data, x, y);
+ x = getSize().x;
+ y = 0;
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_MAY_BE_OUT_OF_SYNCH));
+ x -= provider.getWidth();
+ drawImage(provider, x, y);
} else if ((flags & SYNCHRONIZED) != 0) {
- x= getSize().x;
- y= 0;
- data= getImageData(JavaDebugImages.IMG_OVR_SYNCHRONIZED);
- x -= data.width;
- drawImage(data, x, y);
+ x = getSize().x;
+ y = 0;
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_SYNCHRONIZED));
+ x -= provider.getWidth();
+ drawImage(provider, x, y);
} else {
if ((flags & IN_DEADLOCK) != 0) {
- x= 0;
- y= 0;
- data= getImageData(JavaDebugImages.IMG_OVR_IN_DEADLOCK);
- drawImage(data, x, y);
+ x = 0;
+ y = 0;
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_IN_DEADLOCK));
+ drawImage(provider, x, y);
}
if ((flags & TRIGGER_POINT) != 0) {
x = getSize().x;
y = getSize().y;
- data = getImageData(JavaDebugImages.IMG_OVR_IN_TRIGGER_POINT);
- x -= data.width;
- y -= data.height;
- drawImage(data, x, y);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_IN_TRIGGER_POINT));
+ x -= provider.getWidth();
+ y -= provider.getHeight();
+ drawImage(provider, x, y);
} else if ((flags & TRIGGER_SUPPRESSED) != 0) {
x = getSize().x;
y = getSize().y;
- data = getImageData(JavaDebugImages.IMG_OVR_TRIGGER_SUPPRESSED);
- x -= data.width;
- y -= data.height;
- drawImage(data, x, y);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_TRIGGER_SUPPRESSED));
+ x -= provider.getWidth();
+ y -= provider.getHeight();
+ drawImage(provider, x, y);
}
if ((flags & OWNED_MONITOR) != 0) {
- x= getSize().x;
- y= getSize().y;
- data= getImageData(JavaDebugImages.IMG_OVR_OWNED);
- x -= data.width;
- y -= data.height;
- drawImage(data, x, y);
+ x = getSize().x;
+ y = getSize().y;
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_OWNED));
+ x -= provider.getWidth();
+ y -= provider.getHeight();
+ drawImage(provider, x, y);
} else if ((flags & CONTENTED_MONITOR) != 0) {
- x= getSize().x;
- y= getSize().y;
- data= getImageData(JavaDebugImages.IMG_OVR_IN_CONTENTION);
- x -= data.width;
- y -= data.height;
- drawImage(data, x, y);
+ x = getSize().x;
+ y = getSize().y;
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_IN_CONTENTION));
+ x -= provider.getWidth();
+ y -= provider.getHeight();
+ drawImage(provider, x, y);
} else if ((flags & OWNS_MONITOR) != 0) {
- x= getSize().x;
- y= 0;
- data= getImageData(JavaDebugImages.IMG_OVR_OWNS_MONITOR);
- x -= data.width;
- drawImage(data, x, y);
+ x = getSize().x;
+ y = 0;
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_OWNS_MONITOR));
+ x -= provider.getWidth();
+ drawImage(provider, x, y);
} else if ((flags & IN_CONTENTION_FOR_MONITOR) != 0) {
- x= getSize().x;
- y= 0;
- data= getImageData(JavaDebugImages.IMG_OVR_IN_CONTENTION_FOR_MONITOR);
- x -= data.width;
- drawImage(data, x, y);
+ x = getSize().x;
+ y = 0;
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_IN_CONTENTION_FOR_MONITOR));
+ x -= provider.getWidth();
+ drawImage(provider, x, y);
} else {
drawBreakpointOverlays();
}
@@ -208,84 +207,84 @@
int flags= getFlags();
int x= 0;
int y= 0;
- ImageData data= null;
+ CachedImageDataProvider provider;
if ((flags & INSTALLED) != 0) {
x= 0;
y= getSize().y;
if ((flags & ENABLED) !=0) {
- data= getImageData(JavaDebugImages.IMG_OVR_BREAKPOINT_INSTALLED);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_BREAKPOINT_INSTALLED));
} else {
- data= getImageData(JavaDebugImages.IMG_OVR_BREAKPOINT_INSTALLED_DISABLED);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_BREAKPOINT_INSTALLED_DISABLED));
}
- y -= data.height;
- drawImage(data, x, y);
+ y -= provider.getHeight();
+ drawImage(provider, x, y);
}
if ((flags & CAUGHT) != 0) {
if ((flags & ENABLED) !=0) {
- data= getImageData(JavaDebugImages.IMG_OVR_CAUGHT_BREAKPOINT);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_CAUGHT_BREAKPOINT));
} else {
- data= getImageData(JavaDebugImages.IMG_OVR_CAUGHT_BREAKPOINT_DISABLED);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_CAUGHT_BREAKPOINT_DISABLED));
}
x= 0;
y= 0;
- drawImage(data, x, y);
+ drawImage(provider, x, y);
}
if ((flags & UNCAUGHT) != 0) {
if ((flags & ENABLED) !=0) {
- data= getImageData(JavaDebugImages.IMG_OVR_UNCAUGHT_BREAKPOINT);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_UNCAUGHT_BREAKPOINT));
} else {
- data= getImageData(JavaDebugImages.IMG_OVR_UNCAUGHT_BREAKPOINT_DISABLED);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_UNCAUGHT_BREAKPOINT_DISABLED));
}
- x= data.width;
- y= data.height;
- drawImage(data, x, y);
+ x = provider.getWidth();
+ y = provider.getHeight();
+ drawImage(provider, x, y);
}
if ((flags & SCOPED) != 0) {
if ((flags & ENABLED) !=0) {
- data= getImageData(JavaDebugImages.IMG_OVR_SCOPED_BREAKPOINT);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_SCOPED_BREAKPOINT));
} else {
- data= getImageData(JavaDebugImages.IMG_OVR_SCOPED_BREAKPOINT_DISABLED);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_SCOPED_BREAKPOINT_DISABLED));
}
x= 0;
y= getSize().y;
- y-= data.height;
- drawImage(data, x, y);
+ y -= provider.getHeight();
+ drawImage(provider, x, y);
}
if ((flags & CONDITIONAL) != 0) {
if ((flags & ENABLED) !=0) {
- data= getImageData(JavaDebugImages.IMG_OVR_CONDITIONAL_BREAKPOINT);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_CONDITIONAL_BREAKPOINT));
} else {
- data= getImageData(JavaDebugImages.IMG_OVR_CONDITIONAL_BREAKPOINT_DISABLED);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_CONDITIONAL_BREAKPOINT_DISABLED));
}
x= 0;
y= 0;
- drawImage(data, x, y);
+ drawImage(provider, x, y);
}
if ((flags & ENTRY) != 0) {
x= getSize().x;
y= 0;
if ((flags & ENABLED) !=0) {
- data= getImageData(JavaDebugImages.IMG_OVR_METHOD_BREAKPOINT_ENTRY);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_METHOD_BREAKPOINT_ENTRY));
} else {
- data= getImageData(JavaDebugImages.IMG_OVR_METHOD_BREAKPOINT_ENTRY_DISABLED);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_METHOD_BREAKPOINT_ENTRY_DISABLED));
}
- x -= data.width;
+ x -= provider.getWidth();
x = x - 2;
- drawImage(data, x, y);
+ drawImage(provider, x, y);
}
if ((flags & EXIT) != 0){
x= getSize().x;
y= getSize().y;
if ((flags & ENABLED) != 0) {
- data= getImageData(JavaDebugImages.IMG_OVR_METHOD_BREAKPOINT_EXIT);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_METHOD_BREAKPOINT_EXIT));
} else {
- data= getImageData(JavaDebugImages.IMG_OVR_METHOD_BREAKPOINT_EXIT_DISABLED);
+ provider = createCachedImageDataProvider(getImageDescriptor(JavaDebugImages.IMG_OVR_METHOD_BREAKPOINT_EXIT_DISABLED));
}
- x -= data.width;
+ x -= provider.getWidth();
x = x - 2;
- y -= data.height;
- drawImage(data, x, y);
+ y -= provider.getHeight();
+ drawImage(provider, x, y);
}
}
protected ImageDescriptor getBaseImage() {