package test.svg.transcoded; import java.awt.*; import java.awt.geom.*; /** * This class has been automatically generated using <a * href="https://github.com/kirill-grouchnikov/flamingo">Flamingo SVG transcoder</a>. */ public class Mail_message_new implements org.pushingpixels.flamingo.api.common.icon.ResizableIcon { /** * 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) { Shape shape = null; Paint paint = null; Stroke stroke = null; float origAlpha = 1.0f; Composite origComposite = ((Graphics2D)g).getComposite(); if (origComposite instanceof AlphaComposite) { AlphaComposite origAlphaComposite = (AlphaComposite)origComposite; if (origAlphaComposite.getRule() == AlphaComposite.SRC_OVER) { origAlpha = origAlphaComposite.getAlpha(); } } AffineTransform defaultTransform_ = g.getTransform(); // g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0 g.setComposite(AlphaComposite.getInstance(3, 0.402f * origAlpha)); AffineTransform defaultTransform__0_0 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_0 paint = new LinearGradientPaint(new Point2D.Double(0.0, 366.6499938964844), new Point2D.Double(0.0, 609.510009765625), new float[] {0.0f,0.5f,1.0f}, new Color[] {new Color(0, 0, 0, 0),new Color(0, 0, 0, 255),new Color(0, 0, 0, 0)}, MultipleGradientPaint.CycleMethod.NO_CYCLE, MultipleGradientPaint.ColorSpaceType.SRGB, new AffineTransform(0.06419999897480011f, 0.0f, 0.0f, 0.02930000051856041f, 1.555999994277954f, 26.645000457763672f)); shape = new Rectangle2D.Double(9.256999969482422, 37.369998931884766, 30.983999252319336, 7.10699987411499); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_0); g.setComposite(AlphaComposite.getInstance(3, 0.402f * origAlpha)); AffineTransform defaultTransform__0_1 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_1 paint = new RadialGradientPaint(new Point2D.Double(605.7100219726562, 486.6499938964844), 117.14f, new Point2D.Double(605.7100219726562, 486.6499938964844), new float[] {0.0f,1.0f}, new Color[] {new Color(0, 0, 0, 255),new Color(0, 0, 0, 0)}, MultipleGradientPaint.CycleMethod.NO_CYCLE, MultipleGradientPaint.ColorSpaceType.SRGB, new AffineTransform(0.06419999897480011f, 0.0f, 0.0f, 0.02930000051856041f, 1.569000005722046f, 26.645000457763672f)); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(40.24, 37.38); ((GeneralPath)shape).lineTo(40.24, 44.487); ((GeneralPath)shape).curveTo(43.544003, 44.5, 48.229, 42.895, 48.229, 40.933); ((GeneralPath)shape).curveTo(48.229, 38.970997, 44.541, 37.379997, 40.24, 37.379997); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_1); g.setComposite(AlphaComposite.getInstance(3, 0.402f * origAlpha)); AffineTransform defaultTransform__0_2 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_2 paint = new RadialGradientPaint(new Point2D.Double(605.7100219726562, 486.6499938964844), 117.14f, new Point2D.Double(605.7100219726562, 486.6499938964844), new float[] {0.0f,1.0f}, new Color[] {new Color(0, 0, 0, 255),new Color(0, 0, 0, 0)}, MultipleGradientPaint.CycleMethod.NO_CYCLE, MultipleGradientPaint.ColorSpaceType.SRGB, new AffineTransform(-0.06419999897480011f, 0.0f, 0.0f, 0.02930000051856041f, 47.92900085449219f, 26.645000457763672f)); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(9.257, 37.38); ((GeneralPath)shape).lineTo(9.257, 44.487); ((GeneralPath)shape).curveTo(5.953, 44.5, 1.2680001, 42.895, 1.2680001, 40.933); ((GeneralPath)shape).curveTo(1.2680001, 38.970997, 4.9560003, 37.379997, 9.257, 37.379997); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_2); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_3 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_3 paint = new LinearGradientPaint(new Point2D.Double(11.572999954223633, 4.745999813079834), new Point2D.Double(18.475000381469727, 26.020000457763672), new float[] {0.0f,1.0f}, new Color[] {new Color(255, 255, 255, 255),new Color(226, 226, 226, 255)}, MultipleGradientPaint.CycleMethod.NO_CYCLE, MultipleGradientPaint.ColorSpaceType.SRGB, new AffineTransform(1.343500018119812f, 0.0f, 0.0f, 1.4178999662399292f, 2.880000114440918f, 0.3149999976158142f)); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(6.333, 16.972); ((GeneralPath)shape).lineTo(6.333, 41.482002); ((GeneralPath)shape).lineTo(43.306, 41.482002); ((GeneralPath)shape).lineTo(43.244, 17.090002); ((GeneralPath)shape).curveTo(43.241, 15.712002, 31.396, 2.4120016, 29.214, 2.4120016); ((GeneralPath)shape).lineTo(20.662, 2.4120016); ((GeneralPath)shape).curveTo(18.365002, 2.4120016, 6.3360004, 15.674002, 6.3360004, 16.972002); ((GeneralPath)shape).closePath(); g.setPaint(paint); g.fill(shape); paint = new LinearGradientPaint(new Point2D.Double(2.062000036239624, 0.0), new Point2D.Double(30.600000381469727, 0.0), new float[] {0.0f,1.0f}, new Color[] {new Color(152, 150, 144, 255),new Color(101, 100, 96, 255)}, MultipleGradientPaint.CycleMethod.NO_CYCLE, MultipleGradientPaint.ColorSpaceType.SRGB, new AffineTransform(1.343500018119812f, 0.0f, 0.0f, 1.4178999662399292f, 2.880000114440918f, 0.3149999976158142f)); stroke = new BasicStroke(0.857f,0,1,4.0f,null,0.0f); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(6.333, 16.972); ((GeneralPath)shape).lineTo(6.333, 41.482002); ((GeneralPath)shape).lineTo(43.306, 41.482002); ((GeneralPath)shape).lineTo(43.244, 17.090002); ((GeneralPath)shape).curveTo(43.241, 15.712002, 31.396, 2.4120016, 29.214, 2.4120016); ((GeneralPath)shape).lineTo(20.662, 2.4120016); ((GeneralPath)shape).curveTo(18.365002, 2.4120016, 6.3360004, 15.674002, 6.3360004, 16.972002); ((GeneralPath)shape).closePath(); g.setPaint(paint); g.setStroke(stroke); g.draw(shape); g.setTransform(defaultTransform__0_3); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_4 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_4 paint = new LinearGradientPaint(new Point2D.Double(5.827000141143799, 7.230999946594238), new Point2D.Double(13.467000007629395, 17.87700080871582), new float[] {0.0f,1.0f}, new Color[] {new Color(237, 237, 237, 255),new Color(200, 200, 200, 255)}, MultipleGradientPaint.CycleMethod.NO_CYCLE, MultipleGradientPaint.ColorSpaceType.SRGB, new AffineTransform(1.5706000328063965f, 0.0f, 0.0f, 1.190999984741211f, 2.880000114440918f, 0.34299999475479126f)); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(6.923, 16.787); ((GeneralPath)shape).curveTo(6.5249996, 16.357, 18.81, 3.0930004, 20.667, 3.0930004); ((GeneralPath)shape).lineTo(29.043, 3.0930004); ((GeneralPath)shape).curveTo(30.789999, 3.0930004, 43.083, 16.223, 42.47, 16.979); ((GeneralPath)shape).lineTo(31.609001, 30.473999); ((GeneralPath)shape).lineTo(19.295002, 30.155998); ((GeneralPath)shape).lineTo(6.9230022, 16.786); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_4); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_5 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_5 g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_5_0 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_5_0 paint = new Color(0, 0, 0, 37); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(19.08, 30.02); ((GeneralPath)shape).lineTo(11.747, 21.274); ((GeneralPath)shape).lineTo(36.565002, 14.338); ((GeneralPath)shape).lineTo(39.595, 20.554); ((GeneralPath)shape).lineTo(32.179, 29.994); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_5_0); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_5_1 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_5_1 paint = new Color(0, 0, 0, 37); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(18.292, 29.836); ((GeneralPath)shape).lineTo(10.809, 21.026001); ((GeneralPath)shape).lineTo(35.457, 14.133001); ((GeneralPath)shape).lineTo(38.631, 20.404001); ((GeneralPath)shape).lineTo(31.39, 29.811); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_5_1); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_5_2 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_5_2 paint = new Color(0, 0, 0, 37); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(18.775, 29.957); ((GeneralPath)shape).lineTo(11.099999, 21.297); ((GeneralPath)shape).lineTo(36.068, 14.227001); ((GeneralPath)shape).lineTo(39.354, 20.820002); ((GeneralPath)shape).lineTo(31.874, 29.927002); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_5_2); g.setTransform(defaultTransform__0_5); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_6 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_6 paint = new LinearGradientPaint(new Point2D.Double(10.184000015258789, 15.149999618530273), new Point2D.Double(15.310999870300293, 29.569000244140625), new float[] {0.0f,1.0f}, new Color[] {new Color(255, 255, 255, 255),new Color(220, 220, 220, 255)}, MultipleGradientPaint.CycleMethod.NO_CYCLE, MultipleGradientPaint.ColorSpaceType.SRGB, new AffineTransform(1.8193000555038452f, 0.0f, 0.0f, 1.0282000303268433f, 2.880000114440918f, 0.34299999475479126f)); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(18.594, 30.441); ((GeneralPath)shape).lineTo(11.261, 21.695); ((GeneralPath)shape).lineTo(35.973, 14.801); ((GeneralPath)shape).lineTo(39.083, 21.189); ((GeneralPath)shape).lineTo(31.963001, 30.175); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_6); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_7 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_7 g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_7_0 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_7_0 paint = new LinearGradientPaint(new Point2D.Double(8.916000366210938, 37.20000076293945), new Point2D.Double(9.88599967956543, 52.09000015258789), new float[] {0.0f,1.0f}, new Color[] {new Color(154, 162, 154, 255),new Color(181, 190, 181, 255)}, MultipleGradientPaint.CycleMethod.NO_CYCLE, MultipleGradientPaint.ColorSpaceType.SRGB, new AffineTransform(2.4547998905181885f, 0.0f, 0.0f, 0.7620000243186951f, 2.880000114440918f, 0.34299999475479126f)); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(20.488, 29.06); ((GeneralPath)shape).lineTo(7.092001, 40.031998); ((GeneralPath)shape).lineTo(21.001001, 30.427998); ((GeneralPath)shape).lineTo(30.021002, 30.427998); ((GeneralPath)shape).lineTo(42.441, 39.909996); ((GeneralPath)shape).lineTo(30.577002, 29.059996); ((GeneralPath)shape).lineTo(20.487001, 29.059996); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_7_0); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_7_1 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_7_1 paint = new LinearGradientPaint(new Point2D.Double(8.916000366210938, 37.20000076293945), new Point2D.Double(9.88599967956543, 52.09000015258789), new float[] {0.0f,1.0f}, new Color[] {new Color(154, 162, 154, 255),new Color(181, 190, 181, 255)}, MultipleGradientPaint.CycleMethod.NO_CYCLE, MultipleGradientPaint.ColorSpaceType.SRGB, new AffineTransform(2.4547998905181885f, 0.0f, 0.0f, 0.7620000243186951f, 2.880000114440918f, 0.34299999475479126f)); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(6.963, 16.885); ((GeneralPath)shape).lineTo(18.479, 31.201); ((GeneralPath)shape).lineTo(19.547, 30.347); ((GeneralPath)shape).lineTo(6.9630013, 16.885); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_7_1); g.setTransform(defaultTransform__0_7); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_8 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_8 paint = new LinearGradientPaint(new Point2D.Double(11.232999801635742, 13.685999870300293), new Point2D.Double(21.110000610351562, 24.1299991607666), new float[] {0.0f,1.0f}, new Color[] {new Color(255, 255, 255, 255),new Color(237, 237, 237, 255)}, MultipleGradientPaint.CycleMethod.NO_CYCLE, MultipleGradientPaint.ColorSpaceType.SRGB, new AffineTransform(1.37090003490448f, 0.0f, 0.0f, 1.4437999725341797f, 2.430999994277954f, -0.14100000262260437f)); stroke = new BasicStroke(0.857f,0,0,4.0f,null,0.0f); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(7.308, 17.13); ((GeneralPath)shape).lineTo(7.339, 40.339996); ((GeneralPath)shape).lineTo(42.284, 40.339996); ((GeneralPath)shape).lineTo(42.221, 17.259996); ((GeneralPath)shape).curveTo(42.219, 16.509996, 31.005001, 3.4609966, 28.837002, 3.4609966); ((GeneralPath)shape).lineTo(20.942001, 3.4609966); ((GeneralPath)shape).curveTo(18.689001, 3.4609966, 7.307001, 16.352997, 7.3080015, 17.132996); ((GeneralPath)shape).closePath(); g.setPaint(paint); g.setStroke(stroke); g.draw(shape); g.setTransform(defaultTransform__0_8); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_9 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_9 g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_9_0 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_9_0 paint = new Color(255, 255, 255, 255); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(20.957, 30.453); ((GeneralPath)shape).lineTo(9.016001, 38.724); ((GeneralPath)shape).lineTo(11.235001, 38.73); ((GeneralPath)shape).lineTo(21.233002, 31.861); ((GeneralPath)shape).lineTo(30.055, 30.438); ((GeneralPath)shape).lineTo(20.955, 30.453); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_9_0); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_9_1 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_9_1 paint = new Color(255, 255, 255, 255); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(11.428, 21.67); ((GeneralPath)shape).lineTo(12.752001, 23.081); ((GeneralPath)shape).lineTo(35.543, 16.196999); ((GeneralPath)shape).lineTo(38.458, 21.878998); ((GeneralPath)shape).lineTo(39.072, 21.166998); ((GeneralPath)shape).lineTo(36.003, 14.788998); ((GeneralPath)shape).lineTo(11.427998, 21.669998); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_9_1); g.setTransform(defaultTransform__0_9); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_10 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_10 paint = new LinearGradientPaint(new Point2D.Double(8.779999732971191, 37.78499984741211), new Point2D.Double(9.76200008392334, 32.20000076293945), new float[] {0.0f,1.0f}, new Color[] {new Color(0, 0, 0, 33),new Color(0, 0, 0, 0)}, MultipleGradientPaint.CycleMethod.NO_CYCLE, MultipleGradientPaint.ColorSpaceType.SRGB, new AffineTransform(2.39490008354187f, 0.0f, 0.0f, 0.7810999751091003f, 2.880000114440918f, 0.34299999475479126f)); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(13.308, 23.636); ((GeneralPath)shape).lineTo(19.338, 30.09); ((GeneralPath)shape).lineTo(20.535, 29.064); ((GeneralPath)shape).lineTo(30.625, 29.106998); ((GeneralPath)shape).lineTo(31.437, 29.833998); ((GeneralPath)shape).lineTo(35.412, 25.089998); ((GeneralPath)shape).curveTo(34.258, 23.678999, 13.311998, 23.635998, 13.311998, 23.635998); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_10); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_11 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_11 paint = new Color(177, 177, 177, 255); shape = new GeneralPath(); ((GeneralPath)shape).moveTo(41.813, 17.848); ((GeneralPath)shape).lineTo(31.861, 30.479); ((GeneralPath)shape).lineTo(30.793, 29.624); ((GeneralPath)shape).lineTo(41.813, 17.848); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_11); g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha)); AffineTransform defaultTransform__0_12 = g.getTransform(); g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); // _0_12 paint = new RadialGradientPaint(new Point2D.Double(36.7400016784668, 11.258999824523926), 11.26f, new Point2D.Double(36.7400016784668, 11.258999824523926), new float[] {0.0f,0.5f,1.0f}, new Color[] {new Color(255, 255, 255, 255),new Color(255, 245, 32, 227),new Color(255, 243, 0, 0)}, MultipleGradientPaint.CycleMethod.NO_CYCLE, MultipleGradientPaint.ColorSpaceType.SRGB, new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f)); shape = new Ellipse2D.Double(25.48000144958496, 0.0, 22.520000457763672, 22.520000457763672); g.setPaint(paint); g.fill(shape); g.setTransform(defaultTransform__0_12); g.setTransform(defaultTransform__0); g.setTransform(defaultTransform_); } /** * 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 double getOrigX() { return 1.2680001258850098; } /** * 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 double getOrigY() { return 0.0; } /** * 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 double getOrigWidth() { return 46.731998443603516; } /** * 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 double getOrigHeight() { return 44.5; } /** * The current width of this resizable icon. */ int width; /** * The current height of this resizable icon. */ int height; /** * Creates a new transcoded SVG image. */ public Mail_message_new() { this.width = (int) getOrigWidth(); this.height = (int) getOrigHeight(); } /* * (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; } /* * (non-Javadoc) * * @see * org.jvnet.flamingo.common.icon.ResizableIcon#setDimension(java.awt.Dimension * ) */ @Override 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); double coef1 = (double) this.width / (double) getOrigWidth(); double coef2 = (double) this.height / (double) getOrigHeight(); double coef = Math.min(coef1, coef2); g2d.clipRect(0, 0, this.width, this.height); g2d.scale(coef, coef); g2d.translate(-getOrigX(), -getOrigY()); if (coef1 != coef2) { if (coef1 < coef2) { int extraDy = (int) ((getOrigWidth() - getOrigHeight()) / 2.0); g2d.translate(0, extraDy); } else { int extraDx = (int) ((getOrigHeight() - getOrigWidth()) / 2.0); g2d.translate(extraDx, 0); } } paint(g2d); g2d.dispose(); } }