@Override public void paint(Graphics2D graphics, Dimension dimensions) { final Color SHADOW_COLOR = new Color(0.0f, 0.0f, 0.0f, 0.65f); graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); graphics.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); graphics.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); // graphics.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, // RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY); // graphics.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, // RenderingHints.VALUE_COLOR_RENDER_QUALITY); graphics.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE); // graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, // RenderingHints.VALUE_TEXT_ANTIALIAS_ON); final int imageWidth = (int) dimensions.getWidth(); final int imageHeight = (int) dimensions.getHeight(); final GeneralPath pointerShape; pointerShape = new GeneralPath(); pointerShape.setWindingRule(Path2D.WIND_EVEN_ODD); pointerShape.moveTo(0.5 * imageWidth, 0.16822429906542055 * imageHeight); pointerShape.lineTo(0.48598130841121495 * imageWidth, 0.5 * imageHeight); pointerShape.lineTo(0.5 * imageWidth, 0.5046728971962616 * imageHeight); pointerShape.lineTo(0.5093457943925234 * imageWidth, 0.5 * imageHeight); pointerShape.lineTo(0.5 * imageWidth, 0.16822429906542055 * imageHeight); pointerShape.closePath(); graphics.setColor(SHADOW_COLOR); graphics.fill(pointerShape); graphics.dispose(); }
public void render(int w, int h, Graphics2D g2) { g2.translate(w * .2, h * .2); GeneralPath p = new GeneralPath(GeneralPath.WIND_NON_ZERO); p.moveTo(0.0f, 0.0f); p.lineTo(w * .5f, 0.0f); p.lineTo(w * .5f, h * .2f); p.lineTo(0.0f, h * .2f); p.closePath(); p.moveTo(w * .05f, h * .05f); p.lineTo(w * .55f, h * .05f); p.lineTo(w * .55f, h * .25f); p.lineTo(w * .05f, h * .25f); p.closePath(); g2.setColor(LIGHT_GRAY); g2.fill(p); g2.setColor(BLACK); g2.draw(p); g2.drawString("NON_ZERO rule", 0, -5); g2.translate(0.0f, h * .45); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); g2.setColor(LIGHT_GRAY); g2.fill(p); g2.setColor(BLACK); g2.draw(p); g2.drawString("EVEN_ODD rule", 0, -5); }
@Override public void paint(Graphics2D graphics, Dimension dimensions) { final Color shadowColor = new Color(0.0f, 0.0f, 0.0f, 0.65f); graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); graphics.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); graphics.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); // graphics.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, // RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY); // graphics.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, // RenderingHints.VALUE_COLOR_RENDER_QUALITY); graphics.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE); // graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, // RenderingHints.VALUE_TEXT_ANTIALIAS_ON); final int imageWidth = (int) dimensions.getWidth(); final int imageHeight = (int) dimensions.getHeight(); final GeneralPath pointerShape; pointerShape = new GeneralPath(); pointerShape.setWindingRule(Path2D.WIND_EVEN_ODD); pointerShape.moveTo(imageWidth * 0.5, imageHeight * 0.14953271028037382); pointerShape.curveTo( imageWidth * 0.5, imageHeight * 0.14953271028037382, imageWidth * 0.4439252336448598, imageHeight * 0.49065420560747663, imageWidth * 0.4439252336448598, imageHeight * 0.5); pointerShape.curveTo( imageWidth * 0.4439252336448598, imageHeight * 0.5327102803738317, imageWidth * 0.4672897196261682, imageHeight * 0.5560747663551402, imageWidth * 0.5, imageHeight * 0.5560747663551402); pointerShape.curveTo( imageWidth * 0.5327102803738317, imageHeight * 0.5560747663551402, imageWidth * 0.5560747663551402, imageHeight * 0.5327102803738317, imageWidth * 0.5560747663551402, imageHeight * 0.5); pointerShape.curveTo( imageWidth * 0.5560747663551402, imageHeight * 0.49065420560747663, imageWidth * 0.5, imageHeight * 0.14953271028037382, imageWidth * 0.5, imageHeight * 0.14953271028037382); pointerShape.closePath(); graphics.setColor(shadowColor); graphics.fill(pointerShape); graphics.dispose(); }
private BufferedImage create_LCD_THRESHOLD_Image( final int WIDTH, final int HEIGHT, final Color COLOR) { if (WIDTH <= 0 || HEIGHT <= 0) { return null; } final BufferedImage IMAGE = UTIL.createImage(WIDTH, HEIGHT, Transparency.TRANSLUCENT); final Graphics2D G2 = IMAGE.createGraphics(); G2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); G2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE); G2.setRenderingHint( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); final int IMAGE_WIDTH = IMAGE.getWidth(); final int IMAGE_HEIGHT = IMAGE.getHeight(); final GeneralPath LCD_THRESHOLD = new GeneralPath(); LCD_THRESHOLD.setWindingRule(Path2D.WIND_EVEN_ODD); LCD_THRESHOLD.moveTo(IMAGE_WIDTH * 0.4444444444444444, IMAGE_HEIGHT * 0.7777777777777778); LCD_THRESHOLD.lineTo(IMAGE_WIDTH * 0.5555555555555556, IMAGE_HEIGHT * 0.7777777777777778); LCD_THRESHOLD.lineTo(IMAGE_WIDTH * 0.5555555555555556, IMAGE_HEIGHT * 0.8888888888888888); LCD_THRESHOLD.lineTo(IMAGE_WIDTH * 0.4444444444444444, IMAGE_HEIGHT * 0.8888888888888888); LCD_THRESHOLD.lineTo(IMAGE_WIDTH * 0.4444444444444444, IMAGE_HEIGHT * 0.7777777777777778); LCD_THRESHOLD.closePath(); LCD_THRESHOLD.moveTo(IMAGE_WIDTH * 0.4444444444444444, IMAGE_HEIGHT * 0.3333333333333333); LCD_THRESHOLD.lineTo(IMAGE_WIDTH * 0.5555555555555556, IMAGE_HEIGHT * 0.3333333333333333); LCD_THRESHOLD.lineTo(IMAGE_WIDTH * 0.5555555555555556, IMAGE_HEIGHT * 0.7222222222222222); LCD_THRESHOLD.lineTo(IMAGE_WIDTH * 0.4444444444444444, IMAGE_HEIGHT * 0.7222222222222222); LCD_THRESHOLD.lineTo(IMAGE_WIDTH * 0.4444444444444444, IMAGE_HEIGHT * 0.3333333333333333); LCD_THRESHOLD.closePath(); LCD_THRESHOLD.moveTo(0.0, IMAGE_HEIGHT); LCD_THRESHOLD.lineTo(IMAGE_WIDTH, IMAGE_HEIGHT); LCD_THRESHOLD.lineTo(IMAGE_WIDTH * 0.5, 0.0); LCD_THRESHOLD.lineTo(0.0, IMAGE_HEIGHT); LCD_THRESHOLD.closePath(); G2.setColor(COLOR); G2.fill(LCD_THRESHOLD); G2.dispose(); return IMAGE; }
@Override protected void paintSymbol(GeneralPath symbol, Dimension dimensions) { int imageWidth = (int) dimensions.getWidth(); int imageHeight = (int) dimensions.getHeight(); symbol.setWindingRule(Path2D.WIND_EVEN_ODD); symbol.moveTo(imageWidth * 0.4953271028037383, imageHeight * 0.4766355140186916); symbol.curveTo( imageWidth * 0.5186915887850467, imageHeight * 0.4766355140186916, imageWidth * 0.5327102803738317, imageHeight * 0.49065420560747663, imageWidth * 0.5327102803738317, imageHeight * 0.514018691588785); symbol.curveTo( imageWidth * 0.5327102803738317, imageHeight * 0.5327102803738317, imageWidth * 0.5186915887850467, imageHeight * 0.5514018691588785, imageWidth * 0.4953271028037383, imageHeight * 0.5514018691588785); symbol.curveTo( imageWidth * 0.4766355140186916, imageHeight * 0.5514018691588785, imageWidth * 0.45794392523364486, imageHeight * 0.5327102803738317, imageWidth * 0.45794392523364486, imageHeight * 0.514018691588785); symbol.curveTo( imageWidth * 0.45794392523364486, imageHeight * 0.49065420560747663, imageWidth * 0.4766355140186916, imageHeight * 0.4766355140186916, imageWidth * 0.4953271028037383, imageHeight * 0.4766355140186916); symbol.closePath(); symbol.moveTo(imageWidth * 0.42990654205607476, imageHeight * 0.5233644859813084); symbol.curveTo( imageWidth * 0.42990654205607476, imageHeight * 0.5233644859813084, imageWidth * 0.411214953271028, imageHeight * 0.5280373831775701, imageWidth * 0.411214953271028, imageHeight * 0.5280373831775701); symbol.curveTo( imageWidth * 0.38317757009345793, imageHeight * 0.5280373831775701, imageWidth * 0.37850467289719625, imageHeight * 0.5, imageWidth * 0.3317757009345794, imageHeight * 0.5); symbol.curveTo( imageWidth * 0.3130841121495327, imageHeight * 0.5046728971962616, imageWidth * 0.29439252336448596, imageHeight * 0.514018691588785, imageWidth * 0.27102803738317754, imageHeight * 0.5420560747663551); symbol.curveTo( imageWidth * 0.2570093457943925, imageHeight * 0.5700934579439252, imageWidth * 0.27102803738317754, imageHeight * 0.6869158878504673, imageWidth * 0.38317757009345793, imageHeight * 0.6869158878504673); symbol.curveTo( imageWidth * 0.38317757009345793, imageHeight * 0.6869158878504673, imageWidth * 0.4532710280373832, imageHeight * 0.6915887850467289, imageWidth * 0.4766355140186916, imageHeight * 0.6214953271028038); symbol.curveTo( imageWidth * 0.4766355140186916, imageHeight * 0.6214953271028038, imageWidth * 0.48598130841121495, imageHeight * 0.602803738317757, imageWidth * 0.48598130841121495, imageHeight * 0.5794392523364486); symbol.curveTo( imageWidth * 0.48598130841121495, imageHeight * 0.5794392523364486, imageWidth * 0.49065420560747663, imageHeight * 0.5794392523364486, imageWidth * 0.4953271028037383, imageHeight * 0.5794392523364486); symbol.curveTo( imageWidth * 0.5093457943925234, imageHeight * 0.5794392523364486, imageWidth * 0.5186915887850467, imageHeight * 0.5794392523364486, imageWidth * 0.5233644859813084, imageHeight * 0.5747663551401869); symbol.curveTo( imageWidth * 0.5233644859813084, imageHeight * 0.5747663551401869, imageWidth * 0.5280373831775701, imageHeight * 0.5887850467289719, imageWidth * 0.5280373831775701, imageHeight * 0.5887850467289719); symbol.curveTo( imageWidth * 0.5280373831775701, imageHeight * 0.616822429906542, imageWidth * 0.5, imageHeight * 0.6214953271028038, imageWidth * 0.5, imageHeight * 0.6728971962616822); symbol.curveTo( imageWidth * 0.5046728971962616, imageHeight * 0.6915887850467289, imageWidth * 0.514018691588785, imageHeight * 0.705607476635514, imageWidth * 0.5420560747663551, imageHeight * 0.7289719626168224); symbol.curveTo( imageWidth * 0.5747663551401869, imageHeight * 0.7429906542056075, imageWidth * 0.6915887850467289, imageHeight * 0.7289719626168224, imageWidth * 0.6915887850467289, imageHeight * 0.616822429906542); symbol.curveTo( imageWidth * 0.6915887850467289, imageHeight * 0.616822429906542, imageWidth * 0.6915887850467289, imageHeight * 0.5467289719626168, imageWidth * 0.6214953271028038, imageHeight * 0.5233644859813084); symbol.curveTo( imageWidth * 0.6214953271028038, imageHeight * 0.5233644859813084, imageWidth * 0.5981308411214953, imageHeight * 0.5046728971962616, imageWidth * 0.5654205607476636, imageHeight * 0.5093457943925234); symbol.curveTo( imageWidth * 0.5654205607476636, imageHeight * 0.5, imageWidth * 0.5607476635514018, imageHeight * 0.49065420560747663, imageWidth * 0.5560747663551402, imageHeight * 0.48598130841121495); symbol.curveTo( imageWidth * 0.5654205607476636, imageHeight * 0.48130841121495327, imageWidth * 0.5794392523364486, imageHeight * 0.4766355140186916, imageWidth * 0.5934579439252337, imageHeight * 0.4719626168224299); symbol.curveTo( imageWidth * 0.616822429906542, imageHeight * 0.4719626168224299, imageWidth * 0.6214953271028038, imageHeight * 0.5, imageWidth * 0.6728971962616822, imageHeight * 0.5); symbol.curveTo( imageWidth * 0.6915887850467289, imageHeight * 0.4953271028037383, imageWidth * 0.7102803738317757, imageHeight * 0.48598130841121495, imageWidth * 0.7289719626168224, imageHeight * 0.45794392523364486); symbol.curveTo( imageWidth * 0.7429906542056075, imageHeight * 0.42990654205607476, imageWidth * 0.7289719626168224, imageHeight * 0.3130841121495327, imageWidth * 0.616822429906542, imageHeight * 0.3130841121495327); symbol.curveTo( imageWidth * 0.616822429906542, imageHeight * 0.3130841121495327, imageWidth * 0.5514018691588785, imageHeight * 0.308411214953271, imageWidth * 0.5233644859813084, imageHeight * 0.37850467289719625); symbol.curveTo( imageWidth * 0.5233644859813084, imageHeight * 0.37850467289719625, imageWidth * 0.5046728971962616, imageHeight * 0.411214953271028, imageWidth * 0.5093457943925234, imageHeight * 0.4485981308411215); symbol.curveTo( imageWidth * 0.5046728971962616, imageHeight * 0.4485981308411215, imageWidth * 0.5, imageHeight * 0.4485981308411215, imageWidth * 0.4953271028037383, imageHeight * 0.4485981308411215); symbol.curveTo( imageWidth * 0.4953271028037383, imageHeight * 0.4485981308411215, imageWidth * 0.49065420560747663, imageHeight * 0.4485981308411215, imageWidth * 0.48598130841121495, imageHeight * 0.4485981308411215); symbol.curveTo( imageWidth * 0.48598130841121495, imageHeight * 0.4392523364485981, imageWidth * 0.4766355140186916, imageHeight * 0.4252336448598131, imageWidth * 0.4766355140186916, imageHeight * 0.411214953271028); symbol.curveTo( imageWidth * 0.4766355140186916, imageHeight * 0.38317757009345793, imageWidth * 0.5, imageHeight * 0.37850467289719625, imageWidth * 0.5, imageHeight * 0.32710280373831774); symbol.curveTo( imageWidth * 0.5, imageHeight * 0.308411214953271, imageWidth * 0.48598130841121495, imageHeight * 0.29439252336448596, imageWidth * 0.45794392523364486, imageHeight * 0.27102803738317754); symbol.curveTo( imageWidth * 0.42990654205607476, imageHeight * 0.2570093457943925, imageWidth * 0.3130841121495327, imageHeight * 0.27102803738317754, imageWidth * 0.3130841121495327, imageHeight * 0.38317757009345793); symbol.curveTo( imageWidth * 0.3130841121495327, imageHeight * 0.38317757009345793, imageWidth * 0.3130841121495327, imageHeight * 0.4532710280373832, imageWidth * 0.37850467289719625, imageHeight * 0.4766355140186916); symbol.curveTo( imageWidth * 0.37850467289719625, imageHeight * 0.4766355140186916, imageWidth * 0.40186915887850466, imageHeight * 0.49065420560747663, imageWidth * 0.43457943925233644, imageHeight * 0.49065420560747663); symbol.curveTo( imageWidth * 0.42990654205607476, imageHeight * 0.5, imageWidth * 0.42990654205607476, imageHeight * 0.5046728971962616, imageWidth * 0.42990654205607476, imageHeight * 0.514018691588785); symbol.curveTo( imageWidth * 0.42990654205607476, imageHeight * 0.5186915887850467, imageWidth * 0.42990654205607476, imageHeight * 0.5186915887850467, imageWidth * 0.42990654205607476, imageHeight * 0.5233644859813084); symbol.closePath(); }
@Override protected void paintSymbol(GeneralPath symbol, Dimension dimensions) { int imageWidth = (int) dimensions.getWidth(); int imageHeight = (int) dimensions.getHeight(); symbol.setWindingRule(Path2D.WIND_EVEN_ODD); symbol.moveTo(imageWidth * 0.42990654205607476, imageHeight * 0.5794392523364486); symbol.curveTo( imageWidth * 0.42990654205607476, imageHeight * 0.5794392523364486, imageWidth * 0.29906542056074764, imageHeight * 0.43457943925233644, imageWidth * 0.29906542056074764, imageHeight * 0.43457943925233644); symbol.curveTo( imageWidth * 0.40654205607476634, imageHeight * 0.3364485981308411, imageWidth * 0.5934579439252337, imageHeight * 0.3364485981308411, imageWidth * 0.705607476635514, imageHeight * 0.43457943925233644); symbol.curveTo( imageWidth * 0.705607476635514, imageHeight * 0.43457943925233644, imageWidth * 0.5747663551401869, imageHeight * 0.5794392523364486, imageWidth * 0.5747663551401869, imageHeight * 0.5794392523364486); symbol.curveTo( imageWidth * 0.5514018691588785, imageHeight * 0.5560747663551402, imageWidth * 0.514018691588785, imageHeight * 0.5514018691588785, imageWidth * 0.4766355140186916, imageHeight * 0.5560747663551402); symbol.curveTo( imageWidth * 0.4766355140186916, imageHeight * 0.5560747663551402, imageWidth * 0.40186915887850466, imageHeight * 0.4158878504672897, imageWidth * 0.40186915887850466, imageHeight * 0.4158878504672897); symbol.curveTo( imageWidth * 0.40186915887850466, imageHeight * 0.411214953271028, imageWidth * 0.3925233644859813, imageHeight * 0.40654205607476634, imageWidth * 0.3878504672897196, imageHeight * 0.411214953271028); symbol.curveTo( imageWidth * 0.37850467289719625, imageHeight * 0.4158878504672897, imageWidth * 0.37850467289719625, imageHeight * 0.4252336448598131, imageWidth * 0.38317757009345793, imageHeight * 0.42990654205607476); symbol.curveTo( imageWidth * 0.38317757009345793, imageHeight * 0.42990654205607476, imageWidth * 0.4532710280373832, imageHeight * 0.5654205607476636, imageWidth * 0.4532710280373832, imageHeight * 0.5654205607476636); symbol.curveTo( imageWidth * 0.4439252336448598, imageHeight * 0.5700934579439252, imageWidth * 0.43457943925233644, imageHeight * 0.5747663551401869, imageWidth * 0.42990654205607476, imageHeight * 0.5794392523364486); symbol.closePath(); symbol.moveTo(imageWidth * 0.4205607476635514, imageHeight * 0.602803738317757); symbol.curveTo( imageWidth * 0.43457943925233644, imageHeight * 0.5934579439252337, imageWidth * 0.4485981308411215, imageHeight * 0.5841121495327103, imageWidth * 0.46261682242990654, imageHeight * 0.5794392523364486); symbol.curveTo( imageWidth * 0.46261682242990654, imageHeight * 0.5794392523364486, imageWidth * 0.48130841121495327, imageHeight * 0.616822429906542, imageWidth * 0.48130841121495327, imageHeight * 0.616822429906542); symbol.curveTo( imageWidth * 0.4719626168224299, imageHeight * 0.6261682242990654, imageWidth * 0.4719626168224299, imageHeight * 0.6355140186915887, imageWidth * 0.4766355140186916, imageHeight * 0.6495327102803738); symbol.curveTo( imageWidth * 0.48598130841121495, imageHeight * 0.6635514018691588, imageWidth * 0.5046728971962616, imageHeight * 0.6682242990654206, imageWidth * 0.5186915887850467, imageHeight * 0.6588785046728972); symbol.curveTo( imageWidth * 0.5327102803738317, imageHeight * 0.6542056074766355, imageWidth * 0.5373831775700935, imageHeight * 0.6355140186915887, imageWidth * 0.5327102803738317, imageHeight * 0.6214953271028038); symbol.curveTo( imageWidth * 0.5233644859813084, imageHeight * 0.6121495327102804, imageWidth * 0.514018691588785, imageHeight * 0.602803738317757, imageWidth * 0.5046728971962616, imageHeight * 0.602803738317757); symbol.curveTo( imageWidth * 0.5046728971962616, imageHeight * 0.602803738317757, imageWidth * 0.48598130841121495, imageHeight * 0.5747663551401869, imageWidth * 0.48598130841121495, imageHeight * 0.5747663551401869); symbol.curveTo( imageWidth * 0.5186915887850467, imageHeight * 0.5700934579439252, imageWidth * 0.5514018691588785, imageHeight * 0.5794392523364486, imageWidth * 0.5794392523364486, imageHeight * 0.602803738317757); symbol.curveTo( imageWidth * 0.5794392523364486, imageHeight * 0.602803738317757, imageWidth * 0.7336448598130841, imageHeight * 0.42990654205607476, imageWidth * 0.7336448598130841, imageHeight * 0.42990654205607476); symbol.curveTo( imageWidth * 0.5981308411214953, imageHeight * 0.308411214953271, imageWidth * 0.40186915887850466, imageHeight * 0.3130841121495327, imageWidth * 0.26635514018691586, imageHeight * 0.42990654205607476); symbol.curveTo( imageWidth * 0.26635514018691586, imageHeight * 0.42990654205607476, imageWidth * 0.4205607476635514, imageHeight * 0.602803738317757, imageWidth * 0.4205607476635514, imageHeight * 0.602803738317757); symbol.closePath(); }
private BufferedImage create_SMALL_POINTER_SHADOW_Image(final int WIDTH) { if (WIDTH <= 0) { return null; } final BufferedImage IMAGE = UTIL.createImage(WIDTH, WIDTH, Transparency.TRANSLUCENT); final Graphics2D G2 = IMAGE.createGraphics(); G2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); final int IMAGE_WIDTH = IMAGE.getWidth(); final int IMAGE_HEIGHT = IMAGE.getHeight(); final GeneralPath STOPWATCHPOINTERSMALL = new GeneralPath(); STOPWATCHPOINTERSMALL.setWindingRule(Path2D.WIND_EVEN_ODD); STOPWATCHPOINTERSMALL.moveTo( IMAGE_WIDTH * 0.4766355140186916, IMAGE_HEIGHT * 0.3130841121495327); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.4766355140186916, IMAGE_HEIGHT * 0.32242990654205606, IMAGE_WIDTH * 0.48598130841121495, IMAGE_HEIGHT * 0.3317757009345794, IMAGE_WIDTH * 0.4953271028037383, IMAGE_HEIGHT * 0.3364485981308411); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.4953271028037383, IMAGE_HEIGHT * 0.3364485981308411, IMAGE_WIDTH * 0.4953271028037383, IMAGE_HEIGHT * 0.35046728971962615, IMAGE_WIDTH * 0.4953271028037383, IMAGE_HEIGHT * 0.35046728971962615); STOPWATCHPOINTERSMALL.lineTo( IMAGE_WIDTH * 0.5046728971962616, IMAGE_HEIGHT * 0.35046728971962615); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.5046728971962616, IMAGE_HEIGHT * 0.35046728971962615, IMAGE_WIDTH * 0.5046728971962616, IMAGE_HEIGHT * 0.3364485981308411, IMAGE_WIDTH * 0.5046728971962616, IMAGE_HEIGHT * 0.3364485981308411); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.514018691588785, IMAGE_HEIGHT * 0.3317757009345794, IMAGE_WIDTH * 0.5233644859813084, IMAGE_HEIGHT * 0.32242990654205606, IMAGE_WIDTH * 0.5233644859813084, IMAGE_HEIGHT * 0.3130841121495327); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.5233644859813084, IMAGE_HEIGHT * 0.3037383177570093, IMAGE_WIDTH * 0.514018691588785, IMAGE_HEIGHT * 0.29439252336448596, IMAGE_WIDTH * 0.5046728971962616, IMAGE_HEIGHT * 0.2897196261682243); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.5046728971962616, IMAGE_HEIGHT * 0.2897196261682243, IMAGE_WIDTH * 0.5, IMAGE_HEIGHT * 0.20093457943925233, IMAGE_WIDTH * 0.5, IMAGE_HEIGHT * 0.20093457943925233); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.5, IMAGE_HEIGHT * 0.20093457943925233, IMAGE_WIDTH * 0.4953271028037383, IMAGE_HEIGHT * 0.2897196261682243, IMAGE_WIDTH * 0.4953271028037383, IMAGE_HEIGHT * 0.2897196261682243); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.48598130841121495, IMAGE_HEIGHT * 0.29439252336448596, IMAGE_WIDTH * 0.4766355140186916, IMAGE_HEIGHT * 0.3037383177570093, IMAGE_WIDTH * 0.4766355140186916, IMAGE_HEIGHT * 0.3130841121495327); STOPWATCHPOINTERSMALL.closePath(); G2.setPaint(SHADOW_COLOR); G2.fill(STOPWATCHPOINTERSMALL); G2.dispose(); return IMAGE; }
private BufferedImage create_SMALL_POINTER_Image(final int WIDTH) { if (WIDTH <= 0) { return null; } final BufferedImage IMAGE = UTIL.createImage(WIDTH, WIDTH, Transparency.TRANSLUCENT); final Graphics2D G2 = IMAGE.createGraphics(); G2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); G2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); // G2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, // RenderingHints.VALUE_STROKE_NORMALIZE); final int IMAGE_WIDTH = IMAGE.getWidth(); final int IMAGE_HEIGHT = IMAGE.getHeight(); final GeneralPath STOPWATCHPOINTERSMALL = new GeneralPath(); STOPWATCHPOINTERSMALL.setWindingRule(Path2D.WIND_EVEN_ODD); STOPWATCHPOINTERSMALL.moveTo( IMAGE_WIDTH * 0.4766355140186916, IMAGE_HEIGHT * 0.3130841121495327); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.4766355140186916, IMAGE_HEIGHT * 0.32242990654205606, IMAGE_WIDTH * 0.48598130841121495, IMAGE_HEIGHT * 0.3317757009345794, IMAGE_WIDTH * 0.4953271028037383, IMAGE_HEIGHT * 0.3364485981308411); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.4953271028037383, IMAGE_HEIGHT * 0.3364485981308411, IMAGE_WIDTH * 0.4953271028037383, IMAGE_HEIGHT * 0.35046728971962615, IMAGE_WIDTH * 0.4953271028037383, IMAGE_HEIGHT * 0.35046728971962615); STOPWATCHPOINTERSMALL.lineTo( IMAGE_WIDTH * 0.5046728971962616, IMAGE_HEIGHT * 0.35046728971962615); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.5046728971962616, IMAGE_HEIGHT * 0.35046728971962615, IMAGE_WIDTH * 0.5046728971962616, IMAGE_HEIGHT * 0.3364485981308411, IMAGE_WIDTH * 0.5046728971962616, IMAGE_HEIGHT * 0.3364485981308411); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.514018691588785, IMAGE_HEIGHT * 0.3317757009345794, IMAGE_WIDTH * 0.5233644859813084, IMAGE_HEIGHT * 0.32242990654205606, IMAGE_WIDTH * 0.5233644859813084, IMAGE_HEIGHT * 0.3130841121495327); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.5233644859813084, IMAGE_HEIGHT * 0.3037383177570093, IMAGE_WIDTH * 0.514018691588785, IMAGE_HEIGHT * 0.29439252336448596, IMAGE_WIDTH * 0.5046728971962616, IMAGE_HEIGHT * 0.2897196261682243); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.5046728971962616, IMAGE_HEIGHT * 0.2897196261682243, IMAGE_WIDTH * 0.5, IMAGE_HEIGHT * 0.20093457943925233, IMAGE_WIDTH * 0.5, IMAGE_HEIGHT * 0.20093457943925233); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.5, IMAGE_HEIGHT * 0.20093457943925233, IMAGE_WIDTH * 0.4953271028037383, IMAGE_HEIGHT * 0.2897196261682243, IMAGE_WIDTH * 0.4953271028037383, IMAGE_HEIGHT * 0.2897196261682243); STOPWATCHPOINTERSMALL.curveTo( IMAGE_WIDTH * 0.48598130841121495, IMAGE_HEIGHT * 0.29439252336448596, IMAGE_WIDTH * 0.4766355140186916, IMAGE_HEIGHT * 0.3037383177570093, IMAGE_WIDTH * 0.4766355140186916, IMAGE_HEIGHT * 0.3130841121495327); STOPWATCHPOINTERSMALL.closePath(); if (flatNeedle) { G2.setColor(getPointerColor().MEDIUM); G2.fill(STOPWATCHPOINTERSMALL); } else { final Point2D POINTER_START = new Point2D.Double(STOPWATCHPOINTERSMALL.getBounds2D().getMinX(), 0); final Point2D POINTER_STOP = new Point2D.Double(STOPWATCHPOINTERSMALL.getBounds2D().getMaxX(), 0); final float[] POINTER_FRACTIONS = {0.0f, 0.3888888889f, 0.5f, 0.6111111111f, 1.0f}; final Color[] POINTER_COLORS = { getPointerColor().MEDIUM, getPointerColor().MEDIUM, getPointerColor().LIGHT, getPointerColor().MEDIUM, getPointerColor().MEDIUM }; final LinearGradientPaint GRADIENT = new LinearGradientPaint(POINTER_START, POINTER_STOP, POINTER_FRACTIONS, POINTER_COLORS); G2.setPaint(GRADIENT); G2.fill(STOPWATCHPOINTERSMALL); G2.setPaint(getPointerColor().DARK); G2.draw(STOPWATCHPOINTERSMALL); } final Ellipse2D SWBRASSRINGSMALL = new Ellipse2D.Double( IMAGE_WIDTH * 0.4813084006309509, IMAGE_HEIGHT * 0.29439252614974976, IMAGE_WIDTH * 0.037383198738098145, IMAGE_HEIGHT * 0.03738316893577576); G2.setColor(new Color(0xC48200)); G2.fill(SWBRASSRINGSMALL); final Ellipse2D SWRING1SMALL = new Ellipse2D.Double( IMAGE_WIDTH * 0.4859813153743744, IMAGE_HEIGHT * 0.29906541109085083, IMAGE_WIDTH * 0.02803739905357361, IMAGE_HEIGHT * 0.02803739905357361); G2.setColor(new Color(0x999999)); G2.fill(SWRING1SMALL); final Ellipse2D SWRING1SMALL0 = new Ellipse2D.Double( IMAGE_WIDTH * 0.49065420031547546, IMAGE_HEIGHT * 0.3037383258342743, IMAGE_WIDTH * 0.018691569566726685, IMAGE_HEIGHT * 0.018691569566726685); G2.setColor(Color.BLACK); G2.fill(SWRING1SMALL0); G2.dispose(); return IMAGE; }
private BufferedImage create_MAIN_POINTER_SHADOW_Image(final int WIDTH) { if (WIDTH <= 0) { return null; } final BufferedImage IMAGE = UTIL.createImage(WIDTH, WIDTH, Transparency.TRANSLUCENT); final Graphics2D G2 = IMAGE.createGraphics(); G2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); final int IMAGE_WIDTH = IMAGE.getWidth(); final int IMAGE_HEIGHT = IMAGE.getHeight(); final GeneralPath STOPWATCHPOINTER = new GeneralPath(); STOPWATCHPOINTER.setWindingRule(Path2D.WIND_EVEN_ODD); STOPWATCHPOINTER.moveTo(IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.45794392523364486); STOPWATCHPOINTER.lineTo(IMAGE_WIDTH * 0.5, IMAGE_HEIGHT * 0.102803738317757); STOPWATCHPOINTER.lineTo(IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.45794392523364486); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.45794392523364486, IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.45794392523364486, IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.45794392523364486); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.4719626168224299, IMAGE_HEIGHT * 0.46261682242990654, IMAGE_WIDTH * 0.45794392523364486, IMAGE_HEIGHT * 0.48130841121495327, IMAGE_WIDTH * 0.45794392523364486, IMAGE_HEIGHT * 0.5); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.45794392523364486, IMAGE_HEIGHT * 0.5186915887850467, IMAGE_WIDTH * 0.4719626168224299, IMAGE_HEIGHT * 0.5373831775700935, IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.5420560747663551); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.5420560747663551, IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.5420560747663551, IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.5420560747663551); STOPWATCHPOINTER.lineTo(IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.6214953271028038); STOPWATCHPOINTER.lineTo(IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.6214953271028038); STOPWATCHPOINTER.lineTo(IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.5420560747663551); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.5420560747663551, IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.5420560747663551, IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.5420560747663551); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.5280373831775701, IMAGE_HEIGHT * 0.5373831775700935, IMAGE_WIDTH * 0.5420560747663551, IMAGE_HEIGHT * 0.5186915887850467, IMAGE_WIDTH * 0.5420560747663551, IMAGE_HEIGHT * 0.5); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.5420560747663551, IMAGE_HEIGHT * 0.48130841121495327, IMAGE_WIDTH * 0.5280373831775701, IMAGE_HEIGHT * 0.46261682242990654, IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.45794392523364486); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.45794392523364486, IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.45794392523364486, IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.45794392523364486); STOPWATCHPOINTER.closePath(); G2.setPaint(SHADOW_COLOR); G2.fill(STOPWATCHPOINTER); G2.dispose(); return IMAGE; }
private BufferedImage create_MAIN_POINTER_Image(final int WIDTH) { if (WIDTH <= 0) { return null; } final BufferedImage IMAGE = UTIL.createImage(WIDTH, WIDTH, Transparency.TRANSLUCENT); final Graphics2D G2 = IMAGE.createGraphics(); G2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); G2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); // G2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, // RenderingHints.VALUE_STROKE_NORMALIZE); final int IMAGE_WIDTH = IMAGE.getWidth(); final int IMAGE_HEIGHT = IMAGE.getHeight(); final GeneralPath STOPWATCHPOINTER = new GeneralPath(); STOPWATCHPOINTER.setWindingRule(Path2D.WIND_EVEN_ODD); STOPWATCHPOINTER.moveTo(IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.45794392523364486); STOPWATCHPOINTER.lineTo(IMAGE_WIDTH * 0.5, IMAGE_HEIGHT * 0.102803738317757); STOPWATCHPOINTER.lineTo(IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.45794392523364486); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.45794392523364486, IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.45794392523364486, IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.45794392523364486); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.4719626168224299, IMAGE_HEIGHT * 0.46261682242990654, IMAGE_WIDTH * 0.45794392523364486, IMAGE_HEIGHT * 0.48130841121495327, IMAGE_WIDTH * 0.45794392523364486, IMAGE_HEIGHT * 0.5); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.45794392523364486, IMAGE_HEIGHT * 0.5186915887850467, IMAGE_WIDTH * 0.4719626168224299, IMAGE_HEIGHT * 0.5373831775700935, IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.5420560747663551); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.5420560747663551, IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.5420560747663551, IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.5420560747663551); STOPWATCHPOINTER.lineTo(IMAGE_WIDTH * 0.49065420560747663, IMAGE_HEIGHT * 0.6214953271028038); STOPWATCHPOINTER.lineTo(IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.6214953271028038); STOPWATCHPOINTER.lineTo(IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.5420560747663551); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.5420560747663551, IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.5420560747663551, IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.5420560747663551); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.5280373831775701, IMAGE_HEIGHT * 0.5373831775700935, IMAGE_WIDTH * 0.5420560747663551, IMAGE_HEIGHT * 0.5186915887850467, IMAGE_WIDTH * 0.5420560747663551, IMAGE_HEIGHT * 0.5); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.5420560747663551, IMAGE_HEIGHT * 0.48130841121495327, IMAGE_WIDTH * 0.5280373831775701, IMAGE_HEIGHT * 0.46261682242990654, IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.45794392523364486); STOPWATCHPOINTER.curveTo( IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.45794392523364486, IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.45794392523364486, IMAGE_WIDTH * 0.5093457943925234, IMAGE_HEIGHT * 0.45794392523364486); STOPWATCHPOINTER.closePath(); if (flatNeedle) { G2.setColor(getPointerColor().MEDIUM); G2.fill(STOPWATCHPOINTER); } else { final Point2D POINTER_START = new Point2D.Double(STOPWATCHPOINTER.getBounds2D().getMinX(), 0); final Point2D POINTER_STOP = new Point2D.Double(STOPWATCHPOINTER.getBounds2D().getMaxX(), 0); final float[] POINTER_FRACTIONS = {0.0f, 0.3888888889f, 0.5f, 0.6111111111f, 1.0f}; final Color[] POINTER_COLORS = { getPointerColor().MEDIUM, getPointerColor().MEDIUM, getPointerColor().LIGHT, getPointerColor().MEDIUM, getPointerColor().MEDIUM }; final LinearGradientPaint GRADIENT = new LinearGradientPaint(POINTER_START, POINTER_STOP, POINTER_FRACTIONS, POINTER_COLORS); G2.setPaint(GRADIENT); G2.fill(STOPWATCHPOINTER); G2.setPaint(getPointerColor().DARK); G2.draw(STOPWATCHPOINTER); } final Ellipse2D SWBRASSRING = new Ellipse2D.Double( IMAGE_WIDTH * 0.4672897160053253, IMAGE_HEIGHT * 0.4672897160053253, IMAGE_WIDTH * 0.06542053818702698, IMAGE_HEIGHT * 0.06542053818702698); final Point2D SWBRASSRING_START = new Point2D.Double(0, SWBRASSRING.getBounds2D().getMaxY()); final Point2D SWBRASSRING_STOP = new Point2D.Double(0, SWBRASSRING.getBounds2D().getMinY()); final float[] SWBRASSRING_FRACTIONS = {0.0f, 0.01f, 0.99f, 1.0f}; final Color[] SWBRASSRING_COLORS = { new Color(230, 179, 92, 255), new Color(230, 179, 92, 255), new Color(196, 130, 0, 255), new Color(196, 130, 0, 255) }; final LinearGradientPaint SWBRASSRING_GRADIENT = new LinearGradientPaint( SWBRASSRING_START, SWBRASSRING_STOP, SWBRASSRING_FRACTIONS, SWBRASSRING_COLORS); G2.setPaint(SWBRASSRING_GRADIENT); G2.fill(SWBRASSRING); final Ellipse2D SWRING1 = new Ellipse2D.Double( IMAGE_WIDTH * 0.47663551568984985, IMAGE_HEIGHT * 0.47663551568984985, IMAGE_WIDTH * 0.04672896862030029, IMAGE_HEIGHT * 0.04672896862030029); final Point2D SWRING1_CENTER = new Point2D.Double((0.5 * IMAGE_WIDTH), (0.5 * IMAGE_HEIGHT)); final float[] SWRING1_FRACTIONS = {0.0f, 0.19f, 0.22f, 0.8f, 0.99f, 1.0f}; final Color[] SWRING1_COLORS = { new Color(197, 197, 197, 255), new Color(197, 197, 197, 255), new Color(0, 0, 0, 255), new Color(0, 0, 0, 255), new Color(112, 112, 112, 255), new Color(112, 112, 112, 255) }; final RadialGradientPaint SWRING1_GRADIENT = new RadialGradientPaint( SWRING1_CENTER, (float) (0.02336448598130841 * IMAGE_WIDTH), SWRING1_FRACTIONS, SWRING1_COLORS); G2.setPaint(SWRING1_GRADIENT); G2.fill(SWRING1); G2.dispose(); return IMAGE; }