gate.resources.img.svg.GATEIcon Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gate-core Show documentation
Show all versions of gate-core Show documentation
GATE - general achitecture for text engineering - is open source
software capable of solving almost any text processing problem. This
artifact enables you to embed the core GATE Embedded with its essential
dependencies. You will able to use the GATE Embedded API and load and
store GATE XML documents. This artifact is the perfect dependency for
CREOLE plugins or for applications that need to customize the GATE
dependencies due to confict with their own dependencies or for lower
footprint.
The newest version!
package gate.resources.img.svg;
import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* This class has been automatically generated using SVGRoundTrip.
*/
@SuppressWarnings("unused")
public class GATEIcon implements
javax.swing.Icon {
private static Color getColor(int red, int green, int blue, int alpha, boolean disabled) {
if (!disabled) return new Color(red, green, blue, alpha);
int gray = (int)(((0.30f * red) + (0.59f * green) + (0.11f * blue))/3f);
gray = Math.min(255, Math.max(0, gray));
//This brightens the image the same as GrayFilter
int percent = 50;
gray = (255 - ((255 - gray) * (100 - percent) / 100));
return new Color(gray, gray, gray, alpha);
}
/**
* Paints the transcoded SVG image on the specified graphics context. You
* can install a custom transformation on the graphics context to scale the
* image.
*
* @param g
* Graphics context.
*/
public static void paint(Graphics2D g, boolean disabled) {
Shape shape = null;
Paint paint = null;
Stroke stroke = null;
Area clip = null;
float origAlpha = 1.0f;
Composite origComposite = g.getComposite();
if (origComposite instanceof AlphaComposite) {
AlphaComposite origAlphaComposite =
(AlphaComposite)origComposite;
if (origAlphaComposite.getRule() == AlphaComposite.SRC_OVER) {
origAlpha = origAlphaComposite.getAlpha();
}
}
Shape clip_ = g.getClip();
AffineTransform defaultTransform_ = g.getTransform();
// is CompositeGraphicsNode
float alpha__0 = origAlpha;
origAlpha = origAlpha * 1.0f;
g.setComposite(AlphaComposite.getInstance(3, origAlpha));
Shape clip__0 = g.getClip();
AffineTransform defaultTransform__0 = g.getTransform();
g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, -0.0f, -0.0f));
clip = new Area(g.getClip());
clip.intersect(new Area(new Rectangle2D.Double(0.0,0.0,64.0,64.0)));
g.setClip(clip);
// _0 is CompositeGraphicsNode
float alpha__0_0 = origAlpha;
origAlpha = origAlpha * 1.0f;
g.setComposite(AlphaComposite.getInstance(3, origAlpha));
Shape clip__0_0 = g.getClip();
AffineTransform defaultTransform__0_0 = g.getTransform();
g.transform(new AffineTransform(1.25f, 0.0f, 0.0f, -1.25f, 0.0f, 64.00000762939453f));
// _0_0 is CompositeGraphicsNode
float alpha__0_0_0 = origAlpha;
origAlpha = origAlpha * 1.0f;
g.setComposite(AlphaComposite.getInstance(3, origAlpha));
Shape clip__0_0_0 = g.getClip();
AffineTransform defaultTransform__0_0_0 = g.getTransform();
g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
// _0_0_0 is ShapeNode
paint = getColor(0, 150, 65, 255, disabled);
shape = new GeneralPath();
((GeneralPath)shape).moveTo(48.9632, 17.84605);
((GeneralPath)shape).lineTo(48.9632, 28.515894);
((GeneralPath)shape).lineTo(23.987465, 28.515894);
((GeneralPath)shape).lineTo(23.987465, 20.059998);
((GeneralPath)shape).lineTo(38.55523, 20.059998);
((GeneralPath)shape).curveTo(36.811333, 14.757246, 32.853947, 11.734123, 27.146854, 11.734123);
((GeneralPath)shape).curveTo(18.887589, 11.734123, 13.918179, 16.834469, 13.918179, 25.564705);
((GeneralPath)shape).curveTo(13.918179, 33.75296, 18.821907, 38.989586, 26.206768, 38.989586);
((GeneralPath)shape).curveTo(30.503284, 38.989586, 33.722546, 37.311363, 35.46644, 34.157776);
((GeneralPath)shape).lineTo(48.15939, 34.157776);
((GeneralPath)shape).curveTo(45.67245, 43.821846, 37.483334, 49.600006, 26.206766, 49.600006);
((GeneralPath)shape).curveTo(12.109046, 49.600006, 2.2367992, 39.662483, 2.2367992, 25.564707);
((GeneralPath)shape).curveTo(2.2367992, 11.466929, 12.17428, 1.6000061, 26.272001, 1.6000061);
((GeneralPath)shape).curveTo(38.691505, 1.6000061, 46.547302, 9.722582, 48.9632, 17.84605);
g.setPaint(paint);
g.fill(shape);
origAlpha = alpha__0_0_0;
g.setTransform(defaultTransform__0_0_0);
g.setClip(clip__0_0_0);
origAlpha = alpha__0_0;
g.setTransform(defaultTransform__0_0);
g.setClip(clip__0_0);
origAlpha = alpha__0;
g.setTransform(defaultTransform__0);
g.setClip(clip__0);
g.setTransform(defaultTransform_);
g.setClip(clip_);
}
public Image getImage() {
BufferedImage image =
new BufferedImage(getIconWidth(), getIconHeight(),
BufferedImage.TYPE_INT_ARGB);
Graphics2D g = image.createGraphics();
paintIcon(null, g, 0, 0);
g.dispose();
return image;
}
/**
* Returns the X of the bounding box of the original SVG image.
*
* @return The X of the bounding box of the original SVG image.
*/
public static int getOrigX() {
return 3;
}
/**
* Returns the Y of the bounding box of the original SVG image.
*
* @return The Y of the bounding box of the original SVG image.
*/
public static int getOrigY() {
return 2;
}
/**
* Returns the width of the bounding box of the original SVG image.
*
* @return The width of the bounding box of the original SVG image.
*/
public static int getOrigWidth() {
return 64;
}
/**
* Returns the height of the bounding box of the original SVG image.
*
* @return The height of the bounding box of the original SVG image.
*/
public static int getOrigHeight() {
return 64;
}
/**
* The current width of this resizable icon.
*/
int width;
/**
* The current height of this resizable icon.
*/
int height;
/**
* Should this icon be drawn in a disabled state
*/
boolean disabled = false;
/**
* Creates a new transcoded SVG image.
*/
public GATEIcon() {
this(getOrigWidth(),getOrigHeight(),false);
}
public GATEIcon(boolean disabled) {
this(getOrigWidth(),getOrigHeight(),disabled);
}
/**
* Creates a new transcoded SVG image with the given dimensions.
*
* @param size the dimensions of the icon
*/
public GATEIcon(Dimension size) {
this(size.width, size.height, false);
}
public GATEIcon(Dimension size, boolean disabled) {
this(size.width, size.height, disabled);
}
public GATEIcon(int width, int height) {
this(width, height, false);
}
public GATEIcon(int width, int height, boolean disabled) {
this.width = width;
this.height = height;
this.disabled = disabled;
}
/*
* (non-Javadoc)
*
* @see javax.swing.Icon#getIconHeight()
*/
@Override
public int getIconHeight() {
return height;
}
/*
* (non-Javadoc)
*
* @see javax.swing.Icon#getIconWidth()
*/
@Override
public int getIconWidth() {
return width;
}
public void setDimension(Dimension newDimension) {
this.width = newDimension.width;
this.height = newDimension.height;
}
/*
* (non-Javadoc)
*
* @see javax.swing.Icon#paintIcon(java.awt.Component, java.awt.Graphics,
* int, int)
*/
@Override
public void paintIcon(Component c, Graphics g, int x, int y) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.translate(x, y);
Area clip = new Area(new Rectangle(0, 0, this.width, this.height));
if (g2d.getClip() != null) clip.intersect(new Area(g2d.getClip()));
g2d.setClip(clip);
double coef1 = (double) this.width / (double) getOrigWidth();
double coef2 = (double) this.height / (double) getOrigHeight();
double coef = Math.min(coef1, coef2);
g2d.scale(coef, coef);
paint(g2d, disabled);
g2d.dispose();
}
}