List of usage examples for org.eclipse.jface.resource ImageDescriptor ImageDescriptor
protected ImageDescriptor()
From source file:net.refractions.udig.legend.ui.ColorMapLegendCreator.java
License:Open Source License
private static List<LegendEntry> createRampEntries(ColorMap colorMap, final Dimension imageSize) { List<LegendEntry> lentries = new ArrayList<LegendEntry>(); final ColorMapEntry[] entries = colorMap.getColorMapEntries(); boolean first = true; for (int i = 1; i < entries.length; i += 1) { final ColorMapEntry entry = entries[i]; final ColorMapEntry prevEntry = entries[i - 1]; if (isNoData(prevEntry)) { //skip no data entries in legend continue; }/*from ww w . jav a 2s .c o m*/ ImageDescriptor dd = null; int idx = -1; if (first) { idx = 0; } else if (i > entries.length - 2) { idx = 2; } final int index = idx; first = false; dd = new ImageDescriptor() { @Override public ImageData getImageData() { Display display = PlatformUI.getWorkbench().getDisplay(); Image swtImage = new Image(display, imageSize.width, imageSize.height); GC gc = new GC(swtImage); gc.setAntialias(SWT.ON); org.eclipse.swt.graphics.Color c1 = getColor(display, entry.getColor()); org.eclipse.swt.graphics.Color c2 = getColor(display, prevEntry.getColor()); gc.setAlpha(getAlpha(entry.getOpacity())); gc.setBackground(c1); gc.setForeground(c2); gc.fillGradientRectangle(1, 0, imageSize.width - 2, imageSize.height, true); gc.setAlpha(150); gc.setForeground(display.getSystemColor(SWT.COLOR_BLACK)); gc.drawLine(0, 0, 0, imageSize.height); gc.drawLine(imageSize.width - 1, 0, imageSize.width - 1, imageSize.height); if (index == 0) { gc.drawLine(0, 0, imageSize.width - 1, 0); } else if (index == 2) { gc.drawLine(0, imageSize.height - 1, imageSize.width - 1, imageSize.height - 1); } c1.dispose(); c2.dispose(); ImageData clone = (ImageData) swtImage.getImageData().clone(); swtImage.dispose(); return clone; } }; String[] text = null; String q1 = entry.getQuantity().evaluate(null, String.class); String q2 = prevEntry.getQuantity().evaluate(null, String.class); String l1 = entry.getLabel(); String l2 = prevEntry.getLabel(); if (i <= entries.length - 3) { if (l2 == null) { text = new String[] { q2 }; } else { text = new String[] { l2 + " (" + q2 + ")" }; //$NON-NLS-1$ //$NON-NLS-2$ } } else { text = new String[2]; if (l2 == null) { text[0] = q2; } else { text[0] = l2 + " (" + q2 + ")"; //$NON-NLS-1$//$NON-NLS-2$ } if (l1 == null) { text[1] = q1; } else { text[1] = l1 + " (" + q1 + ")"; //$NON-NLS-1$//$NON-NLS-2$ } } LegendEntry le = new LegendEntry(text, dd); le.setSpacingAfter(0); le.setTextPosition(SWT.TOP); lentries.add(le); } lentries.get(lentries.size() - 1).setSpacingAfter(null); //default spacing return lentries; }
From source file:net.refractions.udig.legend.ui.ColorMapLegendCreator.java
License:Open Source License
private static List<LegendEntry> createIntervalEntries(ColorMap colorMap, final Dimension imageSize) { List<LegendEntry> lentries = new ArrayList<LegendEntry>(); final ColorMapEntry[] entries = colorMap.getColorMapEntries(); for (int i = 0; i < entries.length; i++) { ColorMapEntry prevEntry = null;/* w w w . java 2 s . c o m*/ if (i > 0) { prevEntry = entries[i - 1]; } final ColorMapEntry entry = entries[i]; if (isNoData(entry)) { //skip no data entries in legend continue; } ImageDescriptor dd = null; dd = new ImageDescriptor() { @Override public ImageData getImageData() { Display display = PlatformUI.getWorkbench().getDisplay(); Image swtImage = new Image(display, imageSize.width, imageSize.height); GC gc = new GC(swtImage); gc.setAntialias(SWT.ON); org.eclipse.swt.graphics.Color c = getColor(display, entry.getColor()); gc.setAlpha(getAlpha(entry.getOpacity())); gc.setBackground(c); gc.fillRectangle(1, 1, imageSize.width - 2, imageSize.height - 2); c.dispose(); gc.setAlpha(150); gc.setForeground(display.getSystemColor(SWT.COLOR_BLACK)); gc.drawRectangle(1, 1, imageSize.width - 2, imageSize.height - 2); ImageData clone = (ImageData) swtImage.getImageData().clone(); swtImage.dispose(); return clone; } }; String text = null; String q1 = entry.getQuantity().evaluate(null, String.class); String l1 = entry.getLabel(); if (prevEntry == null) { text = "< " + q1; //$NON-NLS-1$ if (l1 != null) { text = l1 + " (" + text + ")"; //$NON-NLS-1$ //$NON-NLS-2$ } } else { String q2 = prevEntry.getQuantity().evaluate(null, String.class); text = q2 + " - " + q1; //$NON-NLS-1$ if (l1 != null) { text = l1 + " (" + text + ")"; //$NON-NLS-1$ //$NON-NLS-2$ } } LegendEntry le = new LegendEntry(text, dd); lentries.add(le); } return lentries; }
From source file:net.refractions.udig.legend.ui.ColorMapLegendCreator.java
License:Open Source License
private static List<LegendEntry> createValuesEntries(ColorMap colorMap, final Dimension imageSize) { List<LegendEntry> lentries = new ArrayList<LegendEntry>(); final ColorMapEntry[] entries = colorMap.getColorMapEntries(); for (int i = 0; i < entries.length; i++) { final ColorMapEntry entry = entries[i]; if (isNoData(entry)) { //skip no data entries in legend continue; }// w w w . jav a 2 s. c om ImageDescriptor dd = null; dd = new ImageDescriptor() { @Override public ImageData getImageData() { Display display = PlatformUI.getWorkbench().getDisplay(); Image swtImage = new Image(display, imageSize.width, imageSize.height); GC gc = new GC(swtImage); gc.setAntialias(SWT.ON); org.eclipse.swt.graphics.Color c = getColor(display, entry.getColor()); gc.setAlpha(getAlpha(entry.getOpacity())); gc.setBackground(c); gc.fillRectangle(1, 1, imageSize.width - 2, imageSize.height - 2); gc.setAlpha(150); gc.setForeground(display.getSystemColor(SWT.COLOR_BLACK)); gc.drawRectangle(1, 1, imageSize.width - 2, imageSize.height - 2); c.dispose(); ImageData clone = (ImageData) swtImage.getImageData().clone(); swtImage.dispose(); return clone; } }; String text = null; String q1 = entry.getQuantity().evaluate(null, String.class); String l1 = entry.getLabel(); text = q1; if (l1 != null) { text = l1 + " (" + q1 + ")"; //$NON-NLS-1$ //$NON-NLS-2$ } LegendEntry le = new LegendEntry(text, dd); lentries.add(le); } return lentries; }
From source file:net.refractions.udig.project.internal.provider.GlyphBuilder.java
License:Open Source License
public static ImageDescriptor createImageDescriptor(final RenderedImage image) { return new ImageDescriptor() { public ImageData getImageData() { return createImageData(image); }// w w w. j a v a2s . co m }; }
From source file:net.refractions.udig.ui.graphics.AWTSWTImageUtils.java
License:Open Source License
public static ImageDescriptor createImageDescriptor(final RenderedImage image, final boolean transparent) { AWTSWTImageUtils.checkAccess();/* w ww . ja v a 2 s. com*/ return new ImageDescriptor() { public ImageData getImageData() { return createImageData(image, transparent); } }; }
From source file:net.refractions.udig.ui.graphics.AWTSWTImageUtils.java
License:Open Source License
/** * Creates an image descriptor that from the source image. * * @param image source image/* www .jav a 2 s.c om*/ * @return an image descriptor that from the source image. */ public static ImageDescriptor createImageDescriptor(final BufferedImage image) { AWTSWTImageUtils.checkAccess(); return new ImageDescriptor() { public ImageData getImageData() { return AWTSWTImageUtils.createImageData(image); } }; }
From source file:net.refractions.udig.ui.graphics.AWTSWTImageUtils.java
License:Open Source License
/** * Converts a Swing {@link Icon} to an {@link ImageDescriptor} * * @param icon icon to convert//from w w w. j a v a 2s.co m * @return an ImageDescriptor */ public static ImageDescriptor awtIcon2ImageDescriptor(final Icon icon) { ImageDescriptor descriptor = new ImageDescriptor() { @Override public ImageData getImageData() { BufferedImage image = createBufferedImage(icon.getIconWidth(), icon.getIconHeight()); Graphics2D g = image.createGraphics(); try { icon.paintIcon(null, g, 0, 0); } finally { g.dispose(); } ImageData data = createImageData(image); return data; } }; return descriptor; }
From source file:net.refractions.udig.ui.graphics.Glyph.java
License:Open Source License
public static ImageDescriptor push(final ImageDescriptor icon) { return new ImageDescriptor() { @Override/*from www .jav a2 s . c o m*/ public ImageData getImageData() { ImageData push = icon.getImageData(); if (!push.palette.isDirect) { RGB[] rgb = new RGB[push.palette.colors.length]; System.arraycopy(push.palette.colors, 0, rgb, 0, push.palette.colors.length); rgb[push.transparentPixel] = Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW) .getRGB(); push.palette = new PaletteData(rgb); push.transparentPixel = -1; createBorder(push); return push; } int pushColour = push.palette .getPixel(Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW).getRGB()); for (int x = 0; x < push.width; x++) for (int y = 0; y < push.height; y++) { if (push.getAlpha(x, y) == 0) { push.setAlpha(x, y, 255); push.setPixel(x, y, pushColour); } if (push.getPixel(x, y) == push.transparentPixel) { push.setPixel(x, y, pushColour); } } return push; } private void createBorder(ImageData push) { for (int y = 0; y < push.height; y++) { for (int x = 0; x < push.width; x++) { if (y == 0 || x == 0) push.setPixel(x, y, 0); } } } }; }
From source file:net.refractions.udig.ui.graphics.Glyph.java
License:Open Source License
/** * Render a icon based on the current style. * <p>/*from w w w . j a va2 s.c om*/ * Simple render of point in the center of the screen. * </p> * @param style * @return Icon representing style applyed to an image */ public static ImageDescriptor point(final Rule rule) { return new ImageDescriptor() { public ImageData getImageData() { Image image = null; try { Display display = PlatformUI.getWorkbench().getDisplay(); image = new Image(display, DEFAULT_WIDTH, DEFAULT_HEIGHT); d.drawDirect(image, display, d.feature(d.point(7, 7)), rule); return extractImageDataAndDispose(image); } catch (RuntimeException ex) { if (image != null && !image.isDisposed()) { image.dispose(); } throw ex; } } }; }
From source file:net.refractions.udig.ui.graphics.Glyph.java
License:Open Source License
/** * Icon for point data in the provided color * <p>/*w ww .ja v a2 s . c o m*/ * XXX: Suggest point( SLD style ) at a later time. * </p> * @param color * @param fill * @return ImageDescriptor */ public static ImageDescriptor point(final Color color, final Color fill) { return new ImageDescriptor() { public ImageData getImageData() { Image swtImage = null; try { Display display = PlatformUI.getWorkbench().getDisplay(); swtImage = new Image(display, DEFAULT_WIDTH, DEFAULT_HEIGHT); GC gc = new GC(swtImage); gc.setAntialias(SWT.ON); gc.setLineCap(SWT.CAP_SQUARE); gc.setLineStyle(SWT.LINE_SOLID); gc.setLineWidth(1); Color c = color; Color f = fill; if (c == null && f == null) { // only need default if both are empty c = Color.BLACK; f = Color.LIGHT_GRAY; } if (f != null) { gc.setBackground(color(f)); gc.setAlpha(f.getAlpha()); gc.fillRectangle(8, 7, 5, 5); } if (c != null) { gc.setForeground(color(c)); gc.setAlpha(c.getAlpha()); gc.drawRectangle(8, 7, 5, 5); } ImageData clone = (ImageData) swtImage.getImageData().clone(); swtImage.dispose(); gc.dispose(); return clone; } catch (RuntimeException ex) { if (swtImage != null && !swtImage.isDisposed()) { swtImage.dispose(); } throw ex; } } }; }