@Override public Image createImage(boolean returnMissingImageOnError, Device device) { int width = fVertical ? 1 : fLength; int height = fVertical ? fLength : 1; Image gradient = new Image(device, Math.max(width, 1), Math .max(height, 1)); GC gc = new GC(gradient); Color[] colors = new Color[fRGBs.length]; for (int i = 0; i < colors.length; i++) colors[i] = new Color(device, fRGBs[i]); Color bg = fBgRGB == null ? null : new Color(device, fBgRGB); drawTextGradient(gc, width, height, colors, fPercents, fVertical, bg); gc.dispose(); for (Color color : colors) color.dispose(); if (bg != null) bg.dispose(); return gradient; }
@Override public Image createImage(boolean returnMissingImageOnError, Device device) { int width = fVertical ? 1 : fLength; int height = fVertical ? fLength : 1; Image gradient = new Image(device, Math.max(width, 1), Math .max(height, 1)); GC gc = new GC(gradient); Color[] colors = new Color[fRGBs.length]; for (int i = 0; i < colors.length; i++) colors[i] = new Color(device, fRGBs[i]); Color bg = fBgRGB == null ? null : new Color(device, fBgRGB); drawTextGradient(gc, width, height, colors, fPercents, fVertical, bg); gc.dispose(); for (Color color : colors) color.dispose(); if (bg != null) bg.dispose(); return gradient; }
public Image getGradient(Color[] colors, int[] percents, int length, boolean vertical, Color bg, Display display) { if (colors.length == 0) return null; for (Color color : colors) if (color == null || color.isDisposed()) return null; if (bg != null && bg.isDisposed()) return null; AbstractImageDescriptor desc = new ComplexImageDescriptor(colors, length, percents, vertical, bg); return getGradient(desc, display); }
public Image getGradient(Color[] colors, int[] percents, int length, boolean vertical, Color bg, Display display) { if (colors.length == 0) return null; for (Color color : colors) if (color == null || color.isDisposed()) return null; if (bg != null && bg.isDisposed()) return null; AbstractImageDescriptor desc = new ComplexImageDescriptor(colors, length, percents, vertical, bg); return getGradient(desc, display); }