private void setComposite(Composite comp) {
    if (comp instanceof AlphaComposite) {
      AlphaComposite aComp = (AlphaComposite) comp;
      validatedExtraAlpha = aComp.getAlpha();

      this.compRule = XRUtils.j2dAlphaCompToXR(aComp.getRule());
      this.extraAlpha = validatedExtraAlpha;

      if (extraAlpha == 1.0f) {
        alphaMask = XRUtils.None;
        alphaColor.alpha = XRColor.FULL_ALPHA.alpha;
      } else {
        alphaColor.alpha = XRColor.byteToXRColorValue((int) (extraAlpha * 255));
        alphaMask = alphaMaskPict;
        con.renderRectangle(alphaMaskPict, XRUtils.PictOpSrc, alphaColor, 0, 0, 1, 1);
      }

      xorEnabled = false;
    } else if (comp instanceof XORComposite) {
      /* XOR composite validation is handled in XRSurfaceData */
      xorEnabled = true;
    } else {
      throw new InternalError(
          "Composite accaleration not implemented for: " + comp.getClass().getName());
    }
  }
示例#2
0
 protected void drawImageMosaic(Graphics2D g2) {
   // Break the image up into tiles. Draw each
   //   tile with its own transparency, allowing
   //   the background to show through to varying
   //   degrees.
   int side = 36;
   int width = mImage.getWidth();
   int height = mImage.getHeight();
   for (int y = 0; y < height; y += side) {
     for (int x = 0; x < width; x += side) {
       // Calculate an appropriate transparency value.
       float xBias = (float) x / (float) width;
       float yBias = (float) y / (float) height;
       float alpha = 1.0f - Math.abs(xBias - yBias);
       g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
       // Draw the subimage.
       int w = Math.min(side, width - x);
       int h = Math.min(side, height - y);
       BufferedImage tile = mImage.getSubimage(x, y, w, h);
       g2.drawImage(tile, x, y, null);
     }
   }
   // Reset the composite.
   g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
 }
示例#3
0
  /*
   * (non-Javadoc)
   *
   * @see org.math.plot.render.AbstractDrawer#fillPloygon(double[][])
   */
  public void fillPolygon(float alpha, double[]... pC) {
    int[][] c = new int[pC.length][2];
    for (int i = 0; i < pC.length; i++) {
      c[i] = projection.screenProjection(pC[i]);
    }

    int minx = c[0][0], miny = c[0][1], maxx = c[0][0] + 1, maxy = c[0][1] + 1;
    int[] x = new int[c.length];
    for (int i = 0; i < c.length; i++) {
      x[i] = c[i][0];
      minx = FastMath.min(minx, x[i]);
      maxx = FastMath.max(maxx, x[i]);
    }
    int[] y = new int[c.length];
    for (int i = 0; i < c.length; i++) {
      y[i] = c[i][1];
      miny = FastMath.min(miny, y[i]);
      maxy = FastMath.max(maxy, y[i]);
    }
    if (comp2D.hitClip(minx, miny, maxx - minx, maxy - miny)) {
      Composite cs = comp2D.getComposite();
      comp2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
      comp2D.fillPolygon(x, y, c.length);
      comp2D.setComposite(cs);
    }
  }
示例#4
0
 public void drawImage(Image img, float alpha, double[] _xyzSW, double[] _xyzSE, double[] _xyzNW) {
   Composite cs = comp2D.getComposite();
   comp2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
   AffineTransform t =
       getAffineTransform(img.getWidth(canvas), img.getHeight(canvas), _xyzSW, _xyzSE, _xyzNW);
   if (t != null) {
     comp2D.drawImage(img, t, canvas);
   }
   comp2D.setComposite(cs);
 }
示例#5
0
文件: Hero.java 项目: rweichler/wuigi
  // CONSTANT METHODS
  public void draw(Graphics g, ImageObserver o) {

    boolean transparent =
        invulerable && (invulerableTime < 3000 / 15 || System.currentTimeMillis() % 60 > 30);
    if (transparent)
      ((Graphics2D) g).setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
    int x = Wuigi.scaleW(Wuigi.screenWidth / 2.0 + xOffset - 4);
    int y = Wuigi.scaleH(Wuigi.screenHeight - yOffset);
    if (cape) {
      if (facingRight)
        g.drawImage(
            TCape.IMAGE.getBuffer(),
            x - 5,
            y,
            Wuigi.scaleW(WIDTH + 8),
            Wuigi.scaleH(HEIGHT + 2),
            o);
      else
        g.drawImage(
            TCape.IMAGE.flipX(), x + 5, y, Wuigi.scaleW(WIDTH + 8), Wuigi.scaleH(HEIGHT + 2), o);
    }

    drawAWP(g, x, y);

    g.drawImage(
        figureOutDrawImage(IMAGE),
        x,
        // (int)(Global.H-H-pos.y-Global.GROUND_LEVEL),
        y,
        Wuigi.scaleW(WIDTH + 8),
        Wuigi.scaleH(HEIGHT + 2),
        o);
    if (transparent)
      ((Graphics2D) g).setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f));

    // g.setColor(Color.WHITE);
    // g.drawRect((int)(Wuigi.W/2 - X_OFFSET), (int)(Wuigi.H - Y_OFFSET), (int)X_OFFSET*2 + width,
    // (int)(Y_OFFSET*2) - Wuigi.H);
  }
示例#6
0
  public void drawShadowedText(String label, float alpha, double... pC) {
    int[] sC = projection.screenProjection(pC);

    // Corner offset adjustment : Text Offset is used Here
    FontRenderContext frc = comp2D.getFontRenderContext();
    Font font1 = comp2D.getFont();
    int x = sC[0];
    int y = sC[1];
    double w = font1.getStringBounds(label, frc).getWidth();
    double h = font1.getSize2D();
    x -= (int) (w * text_Eastoffset);
    y += (int) (h * text_Northoffset);

    int wc = (int) (w * FastMath.cos(text_angle) + h * FastMath.sin(text_angle));
    int hc = (int) (h * FastMath.cos(text_angle) + w * FastMath.sin(text_angle));
    if (!comp2D.hitClip(x, y, wc, hc)) {
      return;
    }

    if (text_angle != 0) {
      comp2D.rotate(text_angle, x + w / 2, y - h / 2);
    }

    Composite cs = comp2D.getComposite();
    Color c = comp2D.getColor();

    String[] lines = label.split("\n");
    for (int i = 0; i < lines.length; i++) {

      comp2D.setColor(Color.white);
      comp2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
      comp2D.fillRect(x, y - (int) h, (int) w, (int) h);
      comp2D.setComposite(cs);
      comp2D.setColor(c);

      comp2D.drawString(lines[i], x, y);
      y += h;
    }

    if (text_angle != 0) {
      comp2D.rotate(-text_angle, x + w / 2, y - h / 2);
    }
  }
  public void validateCompositeState(
      Composite comp, AffineTransform xform, Paint paint, SunGraphics2D sg2d) {
    boolean updatePaint = (paint != validatedPaint) || paint == null;

    // validate composite
    if ((comp != validatedComp)) {
      if (comp != null) {
        setComposite(comp);
      } else {
        comp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER);
        setComposite(comp);
      }
      // the paint state is dependent on the composite state, so make
      // sure we update the color below
      updatePaint = true;
      validatedComp = comp;
    }

    if (sg2d != null && validatedPixel != sg2d.pixel) {
      validatedPixel = sg2d.pixel;
      setForeground(validatedPixel);
    }

    // validate paint
    if (updatePaint) {
      if (paint != null && sg2d != null && sg2d.paintState >= SunGraphics2D.PAINT_GRADIENT) {
        XRPaints.setPaint(sg2d, paint);
      } else {
        XRResetPaint();
      }
      validatedPaint = paint;
    }

    if (src != solidSrcPict) {
      AffineTransform at = (AffineTransform) xform.clone();
      try {
        at.invert();
      } catch (NoninvertibleTransformException e) {
        at.setToIdentity();
      }
      src.validateAsSource(at, -1, -1);
    }
  }
  @Override
  public void draw(Graphics2D g) {
    double opacity = get(OPACITY);
    opacity = Math.min(Math.max(0d, opacity), 1d);
    if (opacity != 0d) {
      if (opacity != 1d) {
        Rectangle2D.Double drawingArea = getDrawingArea();

        Rectangle2D clipBounds = g.getClipBounds();
        if (clipBounds != null) {
          Rectangle2D.intersect(drawingArea, clipBounds, drawingArea);
        }

        if (!drawingArea.isEmpty()) {

          BufferedImage buf =
              new BufferedImage(
                  (int) ((2 + drawingArea.width) * g.getTransform().getScaleX()),
                  (int) ((2 + drawingArea.height) * g.getTransform().getScaleY()),
                  BufferedImage.TYPE_INT_ARGB);
          Graphics2D gr = buf.createGraphics();
          gr.scale(g.getTransform().getScaleX(), g.getTransform().getScaleY());
          gr.translate((int) -drawingArea.x, (int) -drawingArea.y);
          gr.setRenderingHints(g.getRenderingHints());
          drawFigure(gr);
          gr.dispose();
          Composite savedComposite = g.getComposite();
          g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, (float) opacity));
          g.drawImage(
              buf,
              (int) drawingArea.x,
              (int) drawingArea.y,
              2 + (int) drawingArea.width,
              2 + (int) drawingArea.height,
              null);
          g.setComposite(savedComposite);
        }
      } else {
        drawFigure(g);
      }
    }
  }
示例#9
0
class GMap implements Serializable {

  /**
   * This class contains the modifications to the map, and is capable of generating an image at any
   * zoom level. One Gmap is shared by all the viewing panes in the GUI class.
   */

  // defaultImage
  private transient BufferedImage defaultImage;

  // transparency
  private transient AlphaComposite opacity70 =
      AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.70f);
  private transient AlphaComposite opacity40 =
      AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f);

  // google icon
  Image googleImage;

  // keep track of the data object
  private transient GDataSource gDataSourceMap;
  private transient GDataSource gDataSourceSatellite;
  private transient GDataSource gDataSourceHybrid;
  private transient GDataSource gDataSourceOverlay;

  // GDraw handles the work of painting data NOT in the database
  private GDraw gDraw;

  /** Messages */
  public static final int MESSAGE_DOWNLOADING = 0;

  public static final int MESSAGE_PAINTING = 1;

  /** Modes */
  public static final int SATELLITE_MODE = 2;

  public static final int MAP_MODE = 3;
  public static final int HYBRID_MODE = 4;
  private int mode;

  /**
   * Creates a new GMap object based on a base directory specified in the constructure.
   *
   * @param cache - Base directory to search for cached image folders.
   */
  public GMap(String cache) {
    // data source
    this.gDataSourceMap = new GDataSourceMap(cache + "/map_cache");
    this.gDataSourceSatellite = new GDataSourceSatellite(cache + "/sat_cache");
    // this.gDataSourceOverlay = new GDataSourceOverlay(cache+"/overlay_cache");
    this.gDataSourceHybrid = new GDataSourceHybrid(cache + "/hybrid_cache", gDataSourceSatellite);

    // build default image
    defaultImage = getDefaultImage(GDataSource.sourceSize.width, GDataSource.sourceSize.height);

    // init gdraw draw object
    this.gDraw = new GDraw();

    // mode
    this.mode = MAP_MODE;

    // icon
    ImageIcon loadImage = new ImageIcon("images/google.png");
    googleImage = loadImage.getImage();
  }
  /** Builds a GMap based on a 'cache' sub-directory. */
  public GMap() {
    this("cache");
  }

  // getters
  /**
   * Returns a GDataSource object used by the GMap object
   *
   * @return Returns the GDataSource used to grab the images.
   */
  public GDataSource getGDataSource() {
    return getGDataSource(mode);
  }
  /**
   * Returns a GDataSource based on a specific mode using constants: MAP_MODE, SATELLITE_MODE,
   * HYBRID_MODE
   *
   * @return A GDataSource of the specified mode.
   */
  public GDataSource getGDataSource(int mode) {
    if (mode == MAP_MODE) return gDataSourceMap;
    else if (mode == SATELLITE_MODE) return gDataSourceSatellite;
    else if (mode == HYBRID_MODE) return gDataSourceHybrid;
    return null;
  }
  /** */
  public GDraw getGDraw() {
    return gDraw;
  }
  /**
   * Gets the current used by the GMap object
   *
   * @return Current mode: MAP_MODE, SATELLITE_MODE, HYBRID_MODE
   */
  public int getMode() {
    return mode;
  }

  /**
   * Sets the current mode of the GMap object
   *
   * @param Mode to set: MAP_MODE, SATELLITE_MODE, HYBRID_MODE
   */
  public void setMode(int mode) {
    this.mode = mode;
  }

  /**
   * Sets the registered GDraw to gDraw. This method is intended primarily for serialization
   * purposes, and should not be used to modify the state of the GMap. Instead, use the GDraw's
   * public methods.
   *
   * @param gDraw
   */
  public void setGDraw(GDraw gDraw) {
    this.gDraw = gDraw;
  }

  /**
   * Method used to build image asynchronously
   *
   * @param image - Image to paint
   * @param x - x Pixel value
   * @param y - y Pixel value
   * @param w - width in pixels
   * @param h - height in pixels
   * @param cachedZoom - zoom level used
   * @param listener - GMapListener object
   */
  public void paintAsynchronousImage(
      BufferedImage image,
      int x,
      int y,
      int w,
      int h,
      int zoom,
      int cachedZoom,
      GMapListener listener) {
    buildImage(image, x, y, w, h, zoom, cachedZoom, listener);
  }
  /**
   * Returns image at x and y
   *
   * @param x - x Pixel value
   * @param y - y Pixel value
   * @param w - width in pixels
   * @param h - height in pixels
   * @param cachedZoom - zoom level used
   */
  public BufferedImage getImage(int x, int y, int w, int h, int zoom, int cachedZoom) {
    // create buffered image for return
    return getImage(x, y, w, h, zoom, cachedZoom, null);
  }
  /**
   * Returns image at x and y
   *
   * @param x - x Pixel value
   * @param y - y Pixel value
   * @param w - width in pixels
   * @param h - height in pixels
   * @param cachedZoom - zoom level used
   * @param listener - GMapListener to use in getImage
   */
  public BufferedImage getImage(
      int x, int y, int w, int h, int zoom, int cachedZoom, GMapListener listener) {
    BufferedImage toReturn = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
    buildImage(toReturn, x, y, w, h, zoom, cachedZoom, listener);
    return toReturn;
  }
  /**
   * Method used to cacheImage
   *
   * @param image - Image to paint
   * @param x - x Pixel value
   * @param y - y Pixel value
   * @param w - width in pixels
   * @param h - height in pixels
   * @param zoom - zoom level used
   */
  public void cacheImage(int x, int y, int w, int h, int zoom) {
    cacheImage(x, y, w, h, zoom, null);
  }
  /**
   * Method used to cache image
   *
   * @param image - Image to paint
   * @param x - x Pixel value
   * @param y - y Pixel value
   * @param w - width in pixels
   * @param h - height in pixels
   * @param zoom - zoom level used
   */
  public void cacheImage(int x, int y, int w, int h, int zoom, GMapListener listener) {
    paintAsynchronousImage(null, x, y, w, h, zoom, (GPhysicalPoint.MIN_ZOOM - 1), listener);
  }

  /** Main method used to build the image based on a large number of tiles. */
  public void buildImage(
      BufferedImage toReturn,
      int x,
      int y,
      int w,
      int h,
      int zoom,
      int cachedZoom,
      GMapListener listener) {
    // validate
    // if(x < 0 || y < 0 || w <= 0 || h <= 0) return getDefaultImage(w,h);

    // if(toReturn != null) Graphics2D g = toReturn.createGraphics();

    // find index of point
    int xIndex = x / GDataSource.sourceSize.width;
    int yIndex = y / GDataSource.sourceSize.height;

    // find coord of our starting point
    int xCoord = x % GDataSource.sourceSize.width;
    int yCoord = y % GDataSource.sourceSize.height;

    // Checks for invalid xCoord and yCoord
    if (xCoord < 0) {
      xCoord = 0;
    }
    if (yCoord < 0) {
      yCoord = 0;
    }

    // load this index
    BufferedImage image = getIndexedImage(xIndex, yIndex, zoom, cachedZoom, listener);

    // get info about the image
    // Dimension imageSize = new Dimension(image.getWidth(),image.getHeight());

    // Holds number of row and column images needed
    int rowImages;
    int colImages;

    // find the width of what we CAN paint
    int paintWidth = GDataSource.sourceSize.width - xCoord;
    int paintHeight = GDataSource.sourceSize.height - yCoord;

    // Calculate number of row images
    if ((h - paintHeight) % 256 == 0) {
      rowImages = 1 + (h - paintHeight) / 256;
    } else {
      rowImages = 2 + (h - paintHeight) / 256;
    }

    // Calculate number of column images
    if ((w - paintWidth) % 256 == 0) {
      colImages = 1 + (w - paintWidth) / 256;
    } else {
      colImages = 2 + (w - paintWidth) / 256;
    }

    // Overal Image coordinates
    int xImage = 0;
    int yImage = 0;

    // DEBUG
    // System.out.println(x + " " + y + " " + w + " " + h + " " + rowImages + " " + colImages);
    // System.out.println();

    // set listener
    if (listener != null) listener.updateGMapTaskSize(rowImages * colImages);

    // a counter for the listener
    int completed = 0;

    // Iteratively loops through all CACHED images and paints them
    for (int row = 0; row < rowImages; row++) {
      for (int col = 0; col < colImages; col++) {
        int thisXIndex = x / GDataSource.sourceSize.width + col;
        int thisYIndex = y / GDataSource.sourceSize.height + row;

        getSpecificImage(x, y, w, h, col, row, toReturn, zoom, cachedZoom, listener, true);
        if (getGDataSource().isCached(thisXIndex, thisYIndex, zoom)) {
          if (listener != null) {
            listener.updateGMapCompleted(completed);
            completed++;
          }
        }
        if (listener.asynchronousGMapStopFlag()) return;
      }
    }

    // do the UNCACHED IMAGES NEXT
    for (int row = 0; row < rowImages; row++) {
      for (int col = 0; col < colImages; col++) {
        int thisXIndex = x / GDataSource.sourceSize.width + col;
        int thisYIndex = y / GDataSource.sourceSize.height + row;

        if (!getGDataSource().isCached(thisXIndex, thisYIndex, zoom)) {
          getSpecificImage(x, y, w, h, col, row, toReturn, zoom, cachedZoom, listener, false);
          if (listener != null) {
            listener.updateGMapCompleted(completed);
            completed++;
            if (listener.asynchronousGMapStopFlag()) return;
          }
        }
      }
    }

    // the dispatch to GDraw object
    gDraw.draw(toReturn, new GPhysicalPoint(x, y, zoom), zoom);
  }

  private BufferedImage getSpecificImage(
      int x,
      int y,
      int w,
      int h,
      int imgIndexX,
      int imgIndexY,
      BufferedImage buffImg,
      int zoom,
      int cachedZoom,
      GMapListener listener,
      boolean localFilesOnly) {

    int xIndex = x / GDataSource.sourceSize.width;
    int yIndex = y / GDataSource.sourceSize.height;

    xIndex += imgIndexX;
    yIndex += imgIndexY;

    BufferedImage image = null;
    if (!localFilesOnly || getGDataSource().isCached(xIndex, yIndex, zoom))
      image = getIndexedImage(xIndex, yIndex, zoom, cachedZoom, listener);

    int xCoord = x % GDataSource.sourceSize.width;
    int yCoord = y % GDataSource.sourceSize.height;

    // Checks for invalid xCoord and yCoord
    if (xCoord < 0) {
      xCoord = 0;
    }
    if (yCoord < 0) {
      yCoord = 0;
    }

    // get info about the image
    Dimension imageSize =
        new Dimension(getGDataSource().sourceSize.width, getGDataSource().sourceSize.height);

    // find the width of what we CAN paint
    int initPaintWidth = imageSize.width - xCoord;
    int initPaintHeight = imageSize.height - yCoord;

    int paintWidth = initPaintWidth;
    int paintHeight = initPaintHeight;

    int rowImages = numOfRows(x, y, h, zoom, cachedZoom);
    int colImages = numOfCols(x, y, w, zoom, cachedZoom);

    if (imgIndexX >= colImages || imgIndexY >= rowImages) {
      return null;
    }

    int xImage = 0;
    int yImage = 0;

    int xInitCoord = xCoord;
    int yInitCoord = yCoord;

    if (imgIndexX > 0) {
      xImage = initPaintWidth + (imgIndexX - 1) * imageSize.width;
      xCoord = 0;
      if (imgIndexX < (colImages - 1)) {
        paintWidth = imageSize.width;
      } else {
        paintWidth = w - ((colImages - 2) * imageSize.width) - (imageSize.width - xInitCoord);
      }
    }
    if (imgIndexY > 0) {
      yImage = initPaintHeight + (imgIndexY - 1) * imageSize.height;
      yCoord = 0;
      if (imgIndexY < (rowImages - 1)) {
        paintHeight = imageSize.height;
      } else {
        paintHeight = h - ((rowImages - 2) * imageSize.height) - (imageSize.height - yInitCoord);
      }
    }

    if (buffImg != null) {
      Graphics2D g = (Graphics2D) buffImg.getGraphics();
      if (image != null) {
        // System.out.println(xCoord + ":" + yCoord + ":" + paintWidth + ":" + paintHeight);
        g.drawImage(
            image.getSubimage(xCoord, yCoord, paintWidth, paintHeight),
            xImage,
            yImage,
            paintWidth,
            paintHeight,
            null);
      } else {
        Composite originalComposite = g.getComposite();
        g.setComposite(opacity40);
        g.setColor(Color.BLACK);
        g.fillRect(xImage, yImage, paintWidth, paintHeight);
        g.setComposite(originalComposite);
      }
    }

    return buffImg;
  }

  /** Calculates the number of rows of tiles needed to build current image. */
  public int numOfRows(int x, int y, int h, int zoom, int cachedZoom) {
    int xIndex = x / GDataSource.sourceSize.width;
    int yIndex = y / GDataSource.sourceSize.height;

    // BufferedImage image = getIndexedImage(xIndex,yIndex,zoom,cachedZoom);

    int yCoord = y % GDataSource.sourceSize.height;

    // find the width of what we CAN paint
    int paintHeight = GDataSource.sourceSize.height - yCoord;

    int rowImages;

    // Calculate number of row images
    if ((h - paintHeight) % 256 == 0) {
      rowImages = 1 + (h - paintHeight) / 256;
    } else {
      rowImages = 2 + (h - paintHeight) / 256;
    }

    return rowImages;
  }
  /** Calculates the number of columns of tiles needed to build current image. */
  public int numOfCols(int x, int y, int w, int zoom, int cachedZoom) {
    int xIndex = x / GDataSource.sourceSize.width;
    int yIndex = y / GDataSource.sourceSize.height;

    // BufferedImage image = getIndexedImage(xIndex,yIndex,zoom,cachedZoom);

    int xCoord = x % GDataSource.sourceSize.height;

    // find the width of what we CAN paint
    int paintWidth = GDataSource.sourceSize.width - xCoord;

    int colImages;

    // Calculate number of row images
    if ((w - paintWidth) % 256 == 0) {
      colImages = 1 + (w - paintWidth) / 256;
    } else {
      colImages = 2 + (w - paintWidth) / 256;
    }

    return colImages;
  }

  public BufferedImage getIndexedImage(int x, int y, int zoom, int cacheZoom) {
    return getIndexedImage(x, y, zoom, cacheZoom, null);
  }
  /** Get an image based on index numbers */
  public BufferedImage getIndexedImage(
      int x, int y, int zoom, int cacheZoom, GMapListener listener) {

    if (listener != null) {
      if (!getGDataSource().isCached(x, y, zoom)) {
        listener.updateGMapPainting();
        listener.updateGMapMessage(GMap.MESSAGE_DOWNLOADING);
      } else {
        listener.updateGMapMessage(GMap.MESSAGE_PAINTING);
      }
    }

    BufferedImage thumbImage = getGDataSource().getImage(x, y, zoom, true);

    if (thumbImage == null) return defaultImage;

    // if we dont have to paint cache, return here
    if (cacheZoom == (GPhysicalPoint.MIN_ZOOM - 1) || cacheZoom >= zoom) return thumbImage;

    BufferedImage paintedImage =
        new BufferedImage(
            GDataSource.sourceSize.width,
            GDataSource.sourceSize.height,
            BufferedImage.TYPE_INT_ARGB);
    Graphics2D graphics2D = paintedImage.createGraphics();
    graphics2D.drawImage(
        thumbImage, 0, 0, GDataSource.sourceSize.width, GDataSource.sourceSize.height, null);

    // now lets move to painting the cache
    double imageNum = Math.pow(2, zoom - cacheZoom);

    // draw cache lines
    int startX = (int) (imageNum * x);
    int startY = (int) (imageNum * y);

    // get composite to restore later, set new transparent composite
    Composite originalComposite = graphics2D.getComposite();
    graphics2D.setComposite(opacity40);

    // draw grid
    for (int i = 0; i < imageNum; i++) {
      for (int j = 0; j < imageNum; j++) {
        // points
        Point upperLeft =
            new Point(
                (int) (GDataSource.sourceSize.width / imageNum) * i,
                (int) (GDataSource.sourceSize.height / imageNum) * j);
        Dimension size =
            new Dimension(
                (int) (GDataSource.sourceSize.width / imageNum),
                (int) (GDataSource.sourceSize.height / imageNum));

        // draw lines
        graphics2D.setColor(new Color(100, 100, 100));
        graphics2D.drawLine(upperLeft.x, upperLeft.y, upperLeft.x + size.width, upperLeft.y);
        graphics2D.drawLine(upperLeft.x, upperLeft.y, upperLeft.x, upperLeft.y + size.height);

        // check if file exists
        if (getGDataSource().isCached(startX + i, startY + j, cacheZoom))
          graphics2D.setColor(Color.RED);
        else graphics2D.setColor(new Color(155, 155, 155));

        // shade rectangle
        graphics2D.fillRect(upperLeft.x, upperLeft.y, size.width, size.height);
      }
    }

    // restore composite
    graphics2D.setComposite(originalComposite);

    return paintedImage;
  }

  // initialize default image
  private BufferedImage getDefaultImage(int w, int h) {
    BufferedImage defaultImage = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
    Graphics2D graphics2D = defaultImage.createGraphics();
    graphics2D.setColor(new Color(200, 200, 200));
    graphics2D.fillRect(0, 0, w, h);
    graphics2D.setColor(new Color(130, 130, 130));
    graphics2D.drawRect(0, 0, w - 1, h - 1);
    return defaultImage;
  }

  /** Method to set the <tt>cacheDirectory</tt> property. */
  public void setCacheDirectory() {}
}
示例#10
0
  /**
   * 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;
    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, 48.0, 48.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.6164523363113403f,
            0.0f,
            0.0f,
            1.6164523363113403f,
            -2.138885736465454f,
            -21.565214157104492f));
    // _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, 3.469669818878174f, -10.369165420532227f));
    // _0_0_0 is CompositeGraphicsNode
    float alpha__0_0_0_0 = origAlpha;
    origAlpha = origAlpha * 0.3f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_0_0 = g.getClip();
    AffineTransform defaultTransform__0_0_0_0 = g.getTransform();
    g.transform(
        new AffineTransform(
            0.41036099195480347f,
            0.0f,
            0.0f,
            0.6798580288887024f,
            -0.07301999628543854f,
            15.97854995727539f));
    // _0_0_0_0 is ShapeNode
    paint =
        new RadialGradientPaint(
            new Point2D.Double(23.9375, 42.6875),
            23.75956f,
            new Point2D.Double(23.9375, 42.6875),
            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(1.0f, 0.0f, 0.0f, 0.24763000011444092f, 0.0f, 32.116798400878906f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(47.69706, 42.6875);
    ((GeneralPath) shape).curveTo(47.69706, 45.936913, 37.05954, 48.57108, 23.9375, 48.57108);
    ((GeneralPath) shape).curveTo(10.815458, 48.57108, 0.17794037, 45.936913, 0.17794037, 42.6875);
    ((GeneralPath) shape).curveTo(0.17794037, 39.438087, 10.815458, 36.80392, 23.9375, 36.80392);
    ((GeneralPath) shape).curveTo(37.05954, 36.80392, 47.69706, 39.438087, 47.69706, 42.6875);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    origAlpha = alpha__0_0_0_0;
    g.setTransform(defaultTransform__0_0_0_0);
    g.setClip(clip__0_0_0_0);
    float alpha__0_0_0_1 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_0_1 = g.getClip();
    AffineTransform defaultTransform__0_0_0_1 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_0_1 is ShapeNode
    paint = new Color(0, 0, 0, 255);
    stroke = new BasicStroke(0.9999998f, 1, 1, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(17.5, 34.5);
    ((GeneralPath) shape).lineTo(14.5, 31.5);
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_0_0_1;
    g.setTransform(defaultTransform__0_0_0_1);
    g.setClip(clip__0_0_0_1);
    float alpha__0_0_0_2 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_0_2 = g.getClip();
    AffineTransform defaultTransform__0_0_0_2 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_0_2 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(47.998985290527344, 47.27030944824219),
            new Point2D.Double(63.938480377197266, 47.27030944824219),
            new float[] {0.0f, 0.3493976f, 1.0f},
            new Color[] {
              new Color(186, 189, 182, 255),
              new Color(238, 238, 236, 255),
              new Color(136, 138, 133, 255)
            },
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                1.0041179656982422f,
                0.0f,
                0.0f,
                1.0234580039978027f,
                -47.19974136352539f,
                -10.879670143127441f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(8.999472, 27.50001);
    ((GeneralPath) shape).curveTo(4.8597455, 27.50001, 1.4999676, 28.744392, 1.4999676, 30.277649);
    ((GeneralPath) shape).lineTo(1.4999676, 43.721375);
    ((GeneralPath) shape).curveTo(1.4999676, 45.25463, 4.8597455, 46.499016, 8.999472, 46.499016);
    ((GeneralPath) shape).curveTo(13.139198, 46.499016, 16.49898, 45.25463, 16.49898, 43.721375);
    ((GeneralPath) shape).lineTo(16.49898, 30.277649);
    ((GeneralPath) shape).curveTo(16.49898, 28.744392, 13.139198, 27.50001, 8.999472, 27.50001);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    paint =
        new LinearGradientPaint(
            new Point2D.Double(5.3125, 26.99901008605957),
            new Point2D.Double(5.625, 39.0),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(46, 52, 54, 255), new Color(136, 138, 133, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    stroke = new BasicStroke(1.0019997f, 1, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(8.999472, 27.50001);
    ((GeneralPath) shape).curveTo(4.8597455, 27.50001, 1.4999676, 28.744392, 1.4999676, 30.277649);
    ((GeneralPath) shape).lineTo(1.4999676, 43.721375);
    ((GeneralPath) shape).curveTo(1.4999676, 45.25463, 4.8597455, 46.499016, 8.999472, 46.499016);
    ((GeneralPath) shape).curveTo(13.139198, 46.499016, 16.49898, 45.25463, 16.49898, 43.721375);
    ((GeneralPath) shape).lineTo(16.49898, 30.277649);
    ((GeneralPath) shape).curveTo(16.49898, 28.744392, 13.139198, 27.50001, 8.999472, 27.50001);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_0_0_2;
    g.setTransform(defaultTransform__0_0_0_2);
    g.setClip(clip__0_0_0_2);
    float alpha__0_0_0_3 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_0_3 = g.getClip();
    AffineTransform defaultTransform__0_0_0_3 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_0_3 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(47.52022171020508, 53.98938751220703),
            new Point2D.Double(51.531280517578125, 40.39101791381836),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(255, 255, 255, 255), new Color(255, 255, 255, 0)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, -47.0f, -10.0f));
    stroke = new BasicStroke(1.0019997f, 1, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(9.0, 28.5);
    ((GeneralPath) shape).curveTo(7.031106, 28.5, 5.264027, 28.804224, 4.0625, 29.25);
    ((GeneralPath) shape).curveTo(3.461736, 29.472889, 2.993416, 29.755526, 2.75, 29.96875);
    ((GeneralPath) shape).curveTo(2.506584, 30.181974, 2.5, 30.264948, 2.5, 30.28125);
    ((GeneralPath) shape).lineTo(2.5, 43.71875);
    ((GeneralPath) shape).curveTo(2.5, 43.73505, 2.50658, 43.81802, 2.75, 44.03125);
    ((GeneralPath) shape).curveTo(2.993416, 44.244476, 3.461736, 44.52711, 4.0625, 44.75);
    ((GeneralPath) shape).curveTo(5.264028, 45.195778, 7.031107, 45.5, 9.0, 45.5);
    ((GeneralPath) shape).curveTo(10.968893, 45.5, 12.735971, 45.195774, 13.9375, 44.75);
    ((GeneralPath) shape).curveTo(14.538264, 44.52711, 15.006584, 44.244476, 15.25, 44.03125);
    ((GeneralPath) shape).curveTo(15.493416, 43.818024, 15.5, 43.73505, 15.5, 43.71875);
    ((GeneralPath) shape).lineTo(15.5, 30.28125);
    ((GeneralPath) shape).curveTo(15.5, 30.26495, 15.4934, 30.18198, 15.25, 29.96875);
    ((GeneralPath) shape).curveTo(15.006584, 29.755526, 14.538264, 29.472889, 13.9375, 29.25);
    ((GeneralPath) shape).curveTo(12.735973, 28.804224, 10.968894, 28.5, 9.0, 28.5);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_0_0_3;
    g.setTransform(defaultTransform__0_0_0_3);
    g.setClip(clip__0_0_0_3);
    float alpha__0_0_0_4 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_0_4 = g.getClip();
    AffineTransform defaultTransform__0_0_0_4 = g.getTransform();
    g.transform(
        new AffineTransform(
            0.9285699725151062f,
            0.0f,
            0.0f,
            0.7996000051498413f,
            -56.46419143676758f,
            5.712399959564209f));
    // _0_0_0_4 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(62.9604606628418, 31.0),
            new Point2D.Double(76.70162200927734, 31.0),
            new float[] {0.0f, 0.6626506f, 1.0f},
            new Color[] {
              new Color(0, 0, 0, 255), new Color(86, 88, 85, 255), new Color(46, 52, 54, 255)
            },
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(77.5, 31.0);
    ((GeneralPath) shape).curveTo(77.5, 32.38071, 74.36599, 33.5, 70.5, 33.5);
    ((GeneralPath) shape).curveTo(66.63401, 33.5, 63.5, 32.38071, 63.5, 31.0);
    ((GeneralPath) shape).curveTo(63.5, 29.619287, 66.63401, 28.5, 70.5, 28.5);
    ((GeneralPath) shape).curveTo(74.36599, 28.5, 77.5, 29.619287, 77.5, 31.0);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    paint = new Color(255, 255, 255, 255);
    stroke = new BasicStroke(1.1628509f, 1, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(77.5, 31.0);
    ((GeneralPath) shape).curveTo(77.5, 32.38071, 74.36599, 33.5, 70.5, 33.5);
    ((GeneralPath) shape).curveTo(66.63401, 33.5, 63.5, 32.38071, 63.5, 31.0);
    ((GeneralPath) shape).curveTo(63.5, 29.619287, 66.63401, 28.5, 70.5, 28.5);
    ((GeneralPath) shape).curveTo(74.36599, 28.5, 77.5, 29.619287, 77.5, 31.0);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_0_0_4;
    g.setTransform(defaultTransform__0_0_0_4);
    g.setClip(clip__0_0_0_4);
    float alpha__0_0_0_5 = origAlpha;
    origAlpha = origAlpha * 0.1f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_0_5 = g.getClip();
    AffineTransform defaultTransform__0_0_0_5 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_0_5 is ShapeNode
    paint = new Color(0, 0, 0, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(9.345005, 42.713127);
    ((GeneralPath) shape).curveTo(9.204923, 33.22204, 5.5778227, 33.856804, 7.334597, 32.244312);
    ((GeneralPath) shape).curveTo(12.218053, 32.56472, 14.649587, 31.727633, 15.3125, 30.84375);
    ((GeneralPath) shape).curveTo(17.886276, 34.05394, 10.425369, 32.933487, 11.3263645, 42.68907);
    ((GeneralPath) shape).curveTo(11.311034, 44.32013, 9.306448, 44.76434, 9.345005, 42.71313);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    origAlpha = alpha__0_0_0_5;
    g.setTransform(defaultTransform__0_0_0_5);
    g.setClip(clip__0_0_0_5);
    float alpha__0_0_0_6 = origAlpha;
    origAlpha = origAlpha * 0.6f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_0_6 = g.getClip();
    AffineTransform defaultTransform__0_0_0_6 = g.getTransform();
    g.transform(
        new AffineTransform(0.75f, 0.125f, 0.0f, 0.8585929870605469f, 1.75f, 4.182837963104248f));
    // _0_0_0_6 is ShapeNode
    paint = new Color(136, 138, 133, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(7.0, 35.747044);
    ((GeneralPath) shape).curveTo(7.0, 36.71191, 6.1045694, 37.494087, 5.0, 37.494087);
    ((GeneralPath) shape).curveTo(3.8954306, 37.494087, 3.0, 36.71191, 3.0, 35.747044);
    ((GeneralPath) shape).curveTo(3.0, 34.782177, 3.8954306, 34.0, 5.0, 34.0);
    ((GeneralPath) shape).curveTo(6.1045694, 34.0, 7.0, 34.782177, 7.0, 35.747044);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    origAlpha = alpha__0_0_0_6;
    g.setTransform(defaultTransform__0_0_0_6);
    g.setClip(clip__0_0_0_6);
    float alpha__0_0_0_7 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_0_7 = g.getClip();
    AffineTransform defaultTransform__0_0_0_7 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_0_7 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(11.269515037536621, 37.85743713378906),
            new Point2D.Double(10.562406539916992, 32.48784255981445),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(164, 0, 0, 255), new Color(239, 41, 41, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, -2.0f, 0.0f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(9.032505, 42.369377);
    ((GeneralPath) shape).curveTo(9.283048, 30.94079, 3.624698, 33.71618, 5.709597, 31.728687);
    ((GeneralPath) shape).curveTo(11.354185, 32.403618, 14.372165, 31.395576, 15.0, 30.5);
    ((GeneralPath) shape).curveTo(17.573776, 33.71019, 10.112869, 32.589737, 11.0138645, 42.34532);
    ((GeneralPath) shape).curveTo(10.998534, 43.97638, 8.993948, 44.42059, 9.032505, 42.36938);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    origAlpha = alpha__0_0_0_7;
    g.setTransform(defaultTransform__0_0_0_7);
    g.setClip(clip__0_0_0_7);
    float alpha__0_0_0_8 = origAlpha;
    origAlpha = origAlpha * 0.3f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_0_8 = g.getClip();
    AffineTransform defaultTransform__0_0_0_8 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_0_8 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(11.296875, 37.5),
            new Point2D.Double(10.296875, 32.890625),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(255, 255, 255, 255), new Color(255, 255, 255, 0)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, -2.0f, 0.0f));
    stroke = new BasicStroke(0.4f, 1, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(7.718751, 33.531254);
    ((GeneralPath) shape).curveTo(8.311668, 34.52206, 9.518863, 36.40045, 9.593751, 41.734383);
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_0_0_8;
    g.setTransform(defaultTransform__0_0_0_8);
    g.setClip(clip__0_0_0_8);
    float alpha__0_0_0_9 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_0_9 = g.getClip();
    AffineTransform defaultTransform__0_0_0_9 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_0_9 is ShapeNode
    paint = new Color(0, 0, 0, 255);
    stroke = new BasicStroke(1.0000001f, 1, 1, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(5.5, 35.5);
    ((GeneralPath) shape).curveTo(5.5, 35.5, 10.361633, 41.44325, 13.611814, 41.498775);
    ((GeneralPath) shape).curveTo(16.861994, 41.554306, 18.47873, 39.728474, 18.5, 37.422268);
    ((GeneralPath) shape).curveTo(18.52129, 35.116177, 17.5, 34.500008, 17.5, 34.500008);
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_0_0_9;
    g.setTransform(defaultTransform__0_0_0_9);
    g.setClip(clip__0_0_0_9);
    float alpha__0_0_0_10 = origAlpha;
    origAlpha = origAlpha * 0.6f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_0_10 = g.getClip();
    AffineTransform defaultTransform__0_0_0_10 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_0_10 is ShapeNode
    paint = new Color(255, 255, 255, 255);
    stroke = new BasicStroke(0.3f, 1, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(6.03865, 32.310688);
    ((GeneralPath) shape).curveTo(10.705692, 32.89853, 14.322287, 32.21565, 14.955822, 31.212723);
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_0_0_10;
    g.setTransform(defaultTransform__0_0_0_10);
    g.setClip(clip__0_0_0_10);
    float alpha__0_0_0_11 = origAlpha;
    origAlpha = origAlpha * 0.3f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_0_11 = g.getClip();
    AffineTransform defaultTransform__0_0_0_11 = g.getTransform();
    g.transform(
        new AffineTransform(
            0.7735850214958191f,
            0.0f,
            0.0f,
            1.1914889812469482f,
            0.5613210201263428f,
            -8.249003410339355f));
    // _0_0_0_11 is ShapeNode
    paint = new Color(255, 255, 255, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(12.140624, 42.710938);
    ((GeneralPath) shape).curveTo(12.140624, 42.91373, 11.955242, 43.078125, 11.7265625, 43.078125);
    ((GeneralPath) shape).curveTo(11.497882, 43.078125, 11.312499, 42.91373, 11.312499, 42.710938);
    ((GeneralPath) shape).curveTo(11.312499, 42.508144, 11.497881, 42.34375, 11.7265625, 42.34375);
    ((GeneralPath) shape).curveTo(11.955242, 42.34375, 12.140624, 42.508144, 12.140624, 42.710938);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    origAlpha = alpha__0_0_0_11;
    g.setTransform(defaultTransform__0_0_0_11);
    g.setClip(clip__0_0_0_11);
    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);
    float alpha__0_1 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_1 = g.getClip();
    AffineTransform defaultTransform__0_1 = g.getTransform();
    g.transform(
        new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 3.358757257461548f, 20.329320907592773f));
    // _0_1 is CompositeGraphicsNode
    float alpha__0_1_0 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_1_0 = g.getClip();
    AffineTransform defaultTransform__0_1_0 = g.getTransform();
    g.transform(
        new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 3.707106828689575f, -22.445436477661133f));
    // _0_1_0 is CompositeGraphicsNode
    float alpha__0_1_0_0 = origAlpha;
    origAlpha = origAlpha * 0.3f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_1_0_0 = g.getClip();
    AffineTransform defaultTransform__0_1_0_0 = g.getTransform();
    g.transform(
        new AffineTransform(
            0.2309119999408722f,
            0.0f,
            0.0f,
            0.4249109923839569f,
            23.95890998840332f,
            27.361600875854492f));
    // _0_1_0_0 is ShapeNode
    paint =
        new RadialGradientPaint(
            new Point2D.Double(23.9375, 42.6875),
            23.75956f,
            new Point2D.Double(23.9375, 42.6875),
            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(1.0f, 0.0f, 0.0f, 0.24763000011444092f, 0.0f, 32.116798400878906f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(47.69706, 42.6875);
    ((GeneralPath) shape).curveTo(47.69706, 45.936913, 37.05954, 48.57108, 23.9375, 48.57108);
    ((GeneralPath) shape).curveTo(10.815458, 48.57108, 0.17794037, 45.936913, 0.17794037, 42.6875);
    ((GeneralPath) shape).curveTo(0.17794037, 39.438087, 10.815458, 36.80392, 23.9375, 36.80392);
    ((GeneralPath) shape).curveTo(37.05954, 36.80392, 47.69706, 39.438087, 47.69706, 42.6875);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    origAlpha = alpha__0_1_0_0;
    g.setTransform(defaultTransform__0_1_0_0);
    g.setClip(clip__0_1_0_0);
    float alpha__0_1_0_1 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_1_0_1 = g.getClip();
    AffineTransform defaultTransform__0_1_0_1 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_1_0_1 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(27.65625, 40.4375),
            new Point2D.Double(32.46925354003906, 40.4375),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(233, 185, 110, 255), new Color(193, 125, 17, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(31.011063, 32.499992);
    ((GeneralPath) shape).curveTo(31.011063, 32.499992, 32.528572, 40.253124, 32.5, 42.424072);
    ((GeneralPath) shape).curveTo(32.4719, 44.559433, 31.819656, 46.43749, 29.469381, 46.43749);
    ((GeneralPath) shape).curveTo(27.15003, 46.43749, 26.531536, 44.704422, 26.50061, 42.424072);
    ((GeneralPath) shape).curveTo(26.46969, 40.144012, 27.95765, 32.562492, 27.95765, 32.562492);
    ((GeneralPath) shape).lineTo(31.01106, 32.499992);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    paint =
        new LinearGradientPaint(
            new Point2D.Double(32.0, 37.25),
            new Point2D.Double(32.0, 34.2707405090332),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(143, 89, 2, 255), new Color(99, 61, 0, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f));
    stroke = new BasicStroke(0.9999998f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(31.011063, 32.499992);
    ((GeneralPath) shape).curveTo(31.011063, 32.499992, 32.528572, 40.253124, 32.5, 42.424072);
    ((GeneralPath) shape).curveTo(32.4719, 44.559433, 31.819656, 46.43749, 29.469381, 46.43749);
    ((GeneralPath) shape).curveTo(27.15003, 46.43749, 26.531536, 44.704422, 26.50061, 42.424072);
    ((GeneralPath) shape).curveTo(26.46969, 40.144012, 27.95765, 32.562492, 27.95765, 32.562492);
    ((GeneralPath) shape).lineTo(31.01106, 32.499992);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_1_0_1;
    g.setTransform(defaultTransform__0_1_0_1);
    g.setClip(clip__0_1_0_1);
    float alpha__0_1_0_2 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_1_0_2 = g.getClip();
    AffineTransform defaultTransform__0_1_0_2 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_1_0_2 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(29.410438537597656, 20.64676856994629),
            new Point2D.Double(30.096174240112305, 25.90407371520996),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(73, 83, 86, 255), new Color(30, 34, 36, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(22.5, 27.5);
    ((GeneralPath) shape).curveTo(22.45849, 23.0625, 20.41699, 19.4375, 20.5, 19.5);
    ((GeneralPath) shape).curveTo(21.994165, 20.8125, 23.986385, 21.0, 24.982494, 23.4375);
    ((GeneralPath) shape).curveTo(24.982494, 23.5, 26.974714, 22.0, 26.538916, 20.4375);
    ((GeneralPath) shape).curveTo(27.970825, 21.0, 28.157595, 22.145832, 28.966934, 23.0);
    ((GeneralPath) shape).lineTo(29.963045, 20.0);
    ((GeneralPath) shape).lineTo(32.45052, 23.0);
    ((GeneralPath) shape).lineTo(35.509438, 20.0);
    ((GeneralPath) shape).curveTo(35.509438, 20.0, 36.437744, 24.9375, 36.5, 27.5);
    ((GeneralPath) shape).lineTo(22.5, 27.5);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    paint =
        new LinearGradientPaint(
            new Point2D.Double(27.510536193847656, 25.36113739013672),
            new Point2D.Double(28.02859878540039, 20.057836532592773),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(0, 0, 0, 255), new Color(212, 40, 40, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    stroke = new BasicStroke(1.0000001f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(22.5, 27.5);
    ((GeneralPath) shape).curveTo(22.45849, 23.0625, 20.41699, 19.4375, 20.5, 19.5);
    ((GeneralPath) shape).curveTo(21.994165, 20.8125, 23.986385, 21.0, 24.982494, 23.4375);
    ((GeneralPath) shape).curveTo(24.982494, 23.5, 26.974714, 22.0, 26.538916, 20.4375);
    ((GeneralPath) shape).curveTo(27.970825, 21.0, 28.157595, 22.145832, 28.966934, 23.0);
    ((GeneralPath) shape).lineTo(29.963045, 20.0);
    ((GeneralPath) shape).lineTo(32.45052, 23.0);
    ((GeneralPath) shape).lineTo(35.509438, 20.0);
    ((GeneralPath) shape).curveTo(35.509438, 20.0, 36.437744, 24.9375, 36.5, 27.5);
    ((GeneralPath) shape).lineTo(22.5, 27.5);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_1_0_2;
    g.setTransform(defaultTransform__0_1_0_2);
    g.setClip(clip__0_1_0_2);
    float alpha__0_1_0_3 = origAlpha;
    origAlpha = origAlpha * 0.6f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_1_0_3 = g.getClip();
    AffineTransform defaultTransform__0_1_0_3 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f));
    // _0_1_0_3 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(28.5, 44.0),
            new Point2D.Double(28.0, 30.375),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(255, 255, 255, 255), new Color(255, 255, 255, 0)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    stroke = new BasicStroke(0.9999998f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(28.78125, 32.53125);
    ((GeneralPath) shape).curveTo(28.676458, 33.07113, 28.516066, 34.062725, 28.21875, 35.8125);
    ((GeneralPath) shape).curveTo(27.8503, 37.980934, 27.487719, 40.531914, 27.5, 41.4375);
    ((GeneralPath) shape).curveTo(27.51428, 42.490627, 27.68577, 43.2988, 27.96875, 43.75);
    ((GeneralPath) shape).curveTo(28.25173, 44.2012, 28.556435, 44.4375, 29.46875, 44.4375);
    ((GeneralPath) shape).curveTo(30.379202, 44.4375, 30.69847, 44.198746, 31.0, 43.71875);
    ((GeneralPath) shape).curveTo(31.30153, 43.238754, 31.487242, 42.407036, 31.5, 41.4375);
    ((GeneralPath) shape).curveTo(31.51099, 40.602573, 31.157352, 38.01107, 30.78125, 35.8125);
    ((GeneralPath) shape).curveTo(30.482124, 34.063904, 30.298449, 33.104626, 30.1875, 32.53125);
    ((GeneralPath) shape).lineTo(28.78125, 32.53125);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_1_0_3;
    g.setTransform(defaultTransform__0_1_0_3);
    g.setClip(clip__0_1_0_3);
    float alpha__0_1_0_4 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_1_0_4 = g.getClip();
    AffineTransform defaultTransform__0_1_0_4 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_1_0_4 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(28.747844696044922, 28.779314041137695),
            new Point2D.Double(28.747844696044922, 32.069236755371094),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(193, 125, 17, 255), new Color(233, 185, 110, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(22.504711, 32.99529);
    ((GeneralPath) shape).lineTo(22.5, 28.5);
    ((GeneralPath) shape).lineTo(36.5, 28.5);
    ((GeneralPath) shape).lineTo(36.5047, 32.99529);
    ((GeneralPath) shape).curveTo(36.50471, 33.99529, 36.0, 34.520832, 35.0, 34.5);
    ((GeneralPath) shape).lineTo(24.0, 34.5);
    ((GeneralPath) shape).curveTo(23.0, 34.5, 22.5, 34.0, 22.504711, 32.99529);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    paint = new Color(143, 89, 2, 255);
    stroke = new BasicStroke(1.0f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(22.504711, 32.99529);
    ((GeneralPath) shape).lineTo(22.5, 28.5);
    ((GeneralPath) shape).lineTo(36.5, 28.5);
    ((GeneralPath) shape).lineTo(36.5047, 32.99529);
    ((GeneralPath) shape).curveTo(36.50471, 33.99529, 36.0, 34.520832, 35.0, 34.5);
    ((GeneralPath) shape).lineTo(24.0, 34.5);
    ((GeneralPath) shape).curveTo(23.0, 34.5, 22.5, 34.0, 22.504711, 32.99529);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_1_0_4;
    g.setTransform(defaultTransform__0_1_0_4);
    g.setClip(clip__0_1_0_4);
    float alpha__0_1_0_5 = origAlpha;
    origAlpha = origAlpha * 0.3608247f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_1_0_5 = g.getClip();
    AffineTransform defaultTransform__0_1_0_5 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_1_0_5 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(29.258052825927734, 33.98051834106445),
            new Point2D.Double(29.15077781677246, 35.60707092285156),
            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(-1.0f, 0.0f, 0.0f, 1.0f, 58.984371185302734f, 1.0f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(27.984375, 35.0);
    ((GeneralPath) shape).lineTo(30.96875, 34.9922);
    ((GeneralPath) shape).curveTo(31.21286, 36.31806, 31.160522, 35.96878, 31.363445, 37.31524);
    ((GeneralPath) shape).curveTo(30.723043, 35.335163, 28.484375, 35.0, 27.984375, 35.0);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    origAlpha = alpha__0_1_0_5;
    g.setTransform(defaultTransform__0_1_0_5);
    g.setClip(clip__0_1_0_5);
    float alpha__0_1_0_6 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_1_0_6 = g.getClip();
    AffineTransform defaultTransform__0_1_0_6 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_1_0_6 is ShapeNode
    paint = new Color(239, 41, 41, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(21.743534, 20.953165);
    ((GeneralPath) shape).lineTo(22.804193, 25.107418);
    ((GeneralPath) shape).lineTo(22.936775, 22.698835);
    ((GeneralPath) shape).curveTo(23.934671, 22.956944, 24.241106, 24.509592, 24.925512, 25.39468);
    ((GeneralPath) shape).curveTo(25.679361, 24.879639, 26.703506, 24.284899, 27.400387, 23.42804);
    ((GeneralPath) shape).lineTo(29.389124, 24.886448);
    ((GeneralPath) shape).lineTo(30.847532, 22.9861);
    ((GeneralPath) shape).lineTo(32.968853, 25.019032);
    ((GeneralPath) shape).lineTo(35.708893, 23.162876);
    ((GeneralPath) shape).lineTo(35.266953, 21.041555);
    ((GeneralPath) shape).lineTo(32.438526, 23.781595);
    ((GeneralPath) shape).lineTo(30.140429, 20.997362);
    ((GeneralPath) shape).curveTo(29.80531, 22.035887, 29.448578, 23.117634, 29.168156, 24.04676);
    ((GeneralPath) shape).curveTo(28.40532, 23.250467, 27.937128, 22.15954, 27.046835, 21.32882);
    ((GeneralPath) shape).curveTo(26.696201, 22.181229, 26.418604, 23.131428, 24.704542, 24.04676);
    ((GeneralPath) shape).curveTo(24.091263, 22.70779, 23.345703, 21.477758, 21.743534, 20.953169);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    origAlpha = alpha__0_1_0_6;
    g.setTransform(defaultTransform__0_1_0_6);
    g.setClip(clip__0_1_0_6);
    float alpha__0_1_0_7 = origAlpha;
    origAlpha = origAlpha * 0.6f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_1_0_7 = g.getClip();
    AffineTransform defaultTransform__0_1_0_7 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f));
    // _0_1_0_7 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(26.282012939453125, 28.0),
            new Point2D.Double(26.229612350463867, 34.544891357421875),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(255, 255, 255, 255), new Color(255, 255, 255, 0)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    stroke = new BasicStroke(1.0f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(23.5, 28.5);
    ((GeneralPath) shape).lineTo(23.5, 32.0);
    ((GeneralPath) shape).curveTo(23.4984, 32.335457, 23.54743, 32.422497, 23.5625, 32.4375);
    ((GeneralPath) shape).curveTo(23.57757, 32.4525, 23.663807, 32.5, 24.0, 32.5);
    ((GeneralPath) shape).lineTo(35.0, 32.5);
    ((GeneralPath) shape).curveTo(35.010414, 32.499836, 35.020836, 32.499836, 35.03125, 32.5);
    ((GeneralPath) shape).curveTo(35.355663, 32.5068, 35.390083, 32.45384, 35.40625, 32.4375);
    ((GeneralPath) shape).curveTo(35.422417, 32.421165, 35.5, 32.334637, 35.5, 32.0);
    ((GeneralPath) shape).lineTo(35.5, 28.5);
    ((GeneralPath) shape).lineTo(23.5, 28.5);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_1_0_7;
    g.setTransform(defaultTransform__0_1_0_7);
    g.setClip(clip__0_1_0_7);
    origAlpha = alpha__0_1_0;
    g.setTransform(defaultTransform__0_1_0);
    g.setClip(clip__0_1_0);
    float alpha__0_1_1 = origAlpha;
    origAlpha = origAlpha * 1.0f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_1_1 = g.getClip();
    AffineTransform defaultTransform__0_1_1 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_1_1 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(38.5, 26.718740463256836),
            new Point2D.Double(26.499988555908203, 23.9999942779541),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(186, 189, 182, 255), new Color(211, 215, 207, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.7071067690849304f, -19.445436477661133f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(40.207108, 6.0804515);
    ((GeneralPath) shape).lineTo(40.207108, 7.0286756);
    ((GeneralPath) shape).curveTo(40.207108, 7.5970173, 39.74956, 8.0545635, 39.18122, 8.0545635);
    ((GeneralPath) shape).lineTo(27.232998, 8.0545635);
    ((GeneralPath) shape).curveTo(26.664656, 8.0545635, 26.20711, 7.5970173, 26.20711, 7.0286756);
    ((GeneralPath) shape).lineTo(26.20711, 6.0804515);
    ((GeneralPath) shape).lineTo(40.207108, 6.0804515);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    paint =
        new LinearGradientPaint(
            new Point2D.Double(26.084016799926758, 25.42251205444336),
            new Point2D.Double(26.084016799926758, 28.000019073486328),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(85, 87, 83, 255), new Color(136, 138, 133, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.7071067690849304f, -19.445436477661133f));
    stroke = new BasicStroke(0.9999997f, 1, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(40.207108, 6.0804515);
    ((GeneralPath) shape).lineTo(40.207108, 7.0286756);
    ((GeneralPath) shape).curveTo(40.207108, 7.5970173, 39.74956, 8.0545635, 39.18122, 8.0545635);
    ((GeneralPath) shape).lineTo(27.232998, 8.0545635);
    ((GeneralPath) shape).curveTo(26.664656, 8.0545635, 26.20711, 7.5970173, 26.20711, 7.0286756);
    ((GeneralPath) shape).lineTo(26.20711, 6.0804515);
    ((GeneralPath) shape).lineTo(40.207108, 6.0804515);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_1_1;
    g.setTransform(defaultTransform__0_1_1);
    g.setClip(clip__0_1_1);
    origAlpha = alpha__0_1;
    g.setTransform(defaultTransform__0_1);
    g.setClip(clip__0_1);
    origAlpha = alpha__0;
    g.setTransform(defaultTransform__0);
    g.setClip(clip__0);
    g.setTransform(defaultTransform_);
    g.setClip(clip_);
  }
示例#11
0
  /**
   * 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, 1.0f * 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
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_0 = g.getTransform();
    g.transform(
        new AffineTransform(
            0.0231101606041193f,
            0.0f,
            0.0f,
            0.022715330123901367f,
            44.685020446777344f,
            39.36098861694336f));
    // _0_0_0
    g.setComposite(AlphaComposite.getInstance(3, 0.40206185f * origAlpha));
    AffineTransform defaultTransform__0_0_0_0 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_0_0
    paint =
        new LinearGradientPaint(
            new Point2D.Double(302.8571472167969, 366.64788818359375),
            new Point2D.Double(302.8571472167969, 609.5050659179688),
            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(
                2.7743890285491943f,
                0.0f,
                0.0f,
                1.9697060585021973f,
                -1892.178955078125f,
                -872.8853759765625f));
    shape =
        new Rectangle2D.Double(
            -1559.2523193359375, -150.6968536376953, 1339.633544921875, 478.357177734375);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_0_0);
    g.setComposite(AlphaComposite.getInstance(3, 0.40206185f * origAlpha));
    AffineTransform defaultTransform__0_0_0_1 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_0_1
    paint =
        new RadialGradientPaint(
            new Point2D.Double(605.7142944335938, 486.64788818359375),
            117.14286f,
            new Point2D.Double(605.7142944335938, 486.64788818359375),
            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(
                2.7743890285491943f,
                0.0f,
                0.0f,
                1.9697060585021973f,
                -1891.633056640625f,
                -872.8853759765625f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(-219.61876, -150.68037);
    ((GeneralPath) shape)
        .curveTo(-219.61876, -150.68037, -219.61876, 327.65042, -219.61876, 327.65042);
    ((GeneralPath) shape).curveTo(-76.74459, 328.55087, 125.78146, 220.48074, 125.78138, 88.45424);
    ((GeneralPath) shape)
        .curveTo(125.78138, -43.572304, -33.655437, -150.68036, -219.61876, -150.68037);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_0_1);
    g.setComposite(AlphaComposite.getInstance(3, 0.40206185f * origAlpha));
    AffineTransform defaultTransform__0_0_0_2 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_0_2
    paint =
        new RadialGradientPaint(
            new Point2D.Double(605.7142944335938, 486.64788818359375),
            117.14286f,
            new Point2D.Double(605.7142944335938, 486.64788818359375),
            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(
                -2.7743890285491943f,
                0.0f,
                0.0f,
                1.9697060585021973f,
                112.76229858398438f,
                -872.8853759765625f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(-1559.2523, -150.68037);
    ((GeneralPath) shape)
        .curveTo(-1559.2523, -150.68037, -1559.2523, 327.65042, -1559.2523, 327.65042);
    ((GeneralPath) shape)
        .curveTo(-1702.1265, 328.55087, -1904.6525, 220.48074, -1904.6525, 88.45424);
    ((GeneralPath) shape)
        .curveTo(-1904.6525, -43.572304, -1745.2157, -150.68036, -1559.2523, -150.68037);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_0_2);
    g.setTransform(defaultTransform__0_0_0);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_1 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_1
    paint =
        new LinearGradientPaint(
            new Point2D.Double(1.8456430435180664, 88.29493713378906),
            new Point2D.Double(18.972126007080078, 88.29493713378906),
            new float[] {0.0f, 0.27586207f, 1.0f},
            new Color[] {
              new Color(142, 141, 135, 255),
              new Color(203, 201, 193, 255),
              new Color(142, 141, 135, 255)
            },
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                2.302720069885254f, 0.0f, 0.0f, 0.4379180073738098f, 0.0f, 0.5840340256690979f));
    shape =
        new RoundRectangle2D.Double(
            4.75,
            36.004188537597656,
            38.4375,
            6.491594314575195,
            3.4230966567993164,
            3.423095464706421);
    g.setPaint(paint);
    g.fill(shape);
    paint = new Color(89, 89, 89, 255);
    stroke = new BasicStroke(0.9999998f, 0, 0, 4.0f, null, 0.0f);
    shape =
        new RoundRectangle2D.Double(
            4.75,
            36.004188537597656,
            38.4375,
            6.491594314575195,
            3.4230966567993164,
            3.423095464706421);
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_0_1);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_2 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_2
    paint =
        new LinearGradientPaint(
            new Point2D.Double(1.8456430435180664, 88.29492950439453),
            new Point2D.Double(18.972126007080078, 88.29492950439453),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(220, 220, 218, 255), new Color(186, 185, 183, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                2.2918241024017334f, 0.0f, 0.0f, 0.4342690110206604f, 0.08855178952217102f, 2.0f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(7.130896, 21.5);
    ((GeneralPath) shape).lineTo(40.870613, 21.5);
    ((GeneralPath) shape).curveTo(41.25566, 21.5, 41.747646, 21.788155, 42.05105, 22.223919);
    ((GeneralPath) shape).curveTo(42.35445, 22.659683, 43.787518, 24.83394, 44.109447, 25.297964);
    ((GeneralPath) shape).curveTo(44.431377, 25.761988, 44.502396, 26.201853, 44.502396, 26.77405);
    ((GeneralPath) shape).lineTo(44.502396, 38.850952);
    ((GeneralPath) shape).curveTo(44.502396, 39.764523, 43.7704, 40.5, 42.861153, 40.5);
    ((GeneralPath) shape).lineTo(5.1403594, 40.5);
    ((GeneralPath) shape).curveTo(4.2311096, 40.5, 3.4991138, 39.764523, 3.4991138, 38.850952);
    ((GeneralPath) shape).lineTo(3.4991138, 26.77405);
    ((GeneralPath) shape).curveTo(3.4991138, 26.280031, 3.6002798, 25.571642, 3.9455202, 25.120718);
    ((GeneralPath) shape).curveTo(4.3811665, 24.551714, 5.549866, 22.57277, 5.8581276, 22.153118);
    ((GeneralPath) shape).curveTo(6.1663885, 21.733467, 6.732446, 21.5, 7.130896, 21.5);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    paint = new Color(103, 103, 103, 255);
    stroke = new BasicStroke(1.0000004f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(7.130896, 21.5);
    ((GeneralPath) shape).lineTo(40.870613, 21.5);
    ((GeneralPath) shape).curveTo(41.25566, 21.5, 41.747646, 21.788155, 42.05105, 22.223919);
    ((GeneralPath) shape).curveTo(42.35445, 22.659683, 43.787518, 24.83394, 44.109447, 25.297964);
    ((GeneralPath) shape).curveTo(44.431377, 25.761988, 44.502396, 26.201853, 44.502396, 26.77405);
    ((GeneralPath) shape).lineTo(44.502396, 38.850952);
    ((GeneralPath) shape).curveTo(44.502396, 39.764523, 43.7704, 40.5, 42.861153, 40.5);
    ((GeneralPath) shape).lineTo(5.1403594, 40.5);
    ((GeneralPath) shape).curveTo(4.2311096, 40.5, 3.4991138, 39.764523, 3.4991138, 38.850952);
    ((GeneralPath) shape).lineTo(3.4991138, 26.77405);
    ((GeneralPath) shape).curveTo(3.4991138, 26.280031, 3.6002798, 25.571642, 3.9455202, 25.120718);
    ((GeneralPath) shape).curveTo(4.3811665, 24.551714, 5.549866, 22.57277, 5.8581276, 22.153118);
    ((GeneralPath) shape).curveTo(6.1663885, 21.733467, 6.732446, 21.5, 7.130896, 21.5);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_0_2);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_3 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_3
    paint = new Color(251, 251, 251, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(7.424621, 21.975533);
    ((GeneralPath) shape).curveTo(6.921893, 21.975533, 6.3048778, 22.053783, 6.0546017, 22.46703);
    ((GeneralPath) shape).lineTo(4.1542525, 25.604816);
    ((GeneralPath) shape).curveTo(3.8721285, 26.070648, 4.1881986, 26.868141, 5.087311, 26.868141);
    ((GeneralPath) shape).lineTo(42.730785, 26.868141);
    ((GeneralPath) shape).curveTo(44.040733, 26.868141, 43.950535, 25.858072, 43.663845, 25.42804);
    ((GeneralPath) shape).lineTo(41.896076, 22.776388);
    ((GeneralPath) shape).curveTo(41.575542, 22.29559, 41.459198, 21.975533, 40.65864, 21.975533);
    ((GeneralPath) shape).lineTo(7.424621, 21.975533);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_3);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_4 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_4
    paint =
        new LinearGradientPaint(
            new Point2D.Double(15.387969017028809, 32.53923797607422),
            new Point2D.Double(15.487822532653809, 58.83126449584961),
            new float[] {0.0f, 0.10344828f, 1.0f},
            new Color[] {
              new Color(255, 255, 255, 32),
              new Color(255, 255, 255, 255),
              new Color(255, 255, 255, 0)
            },
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                1.4925689697265625f, 0.0f, 0.0f, 0.66874098777771f, 0.08188071846961975f, 2.0f));
    stroke = new BasicStroke(0.9469671f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(7.60536, 22.445757);
    ((GeneralPath) shape).lineTo(40.432674, 22.445757);
    ((GeneralPath) shape).curveTo(40.79835, 22.445757, 41.26559, 22.71863, 41.553734, 23.131283);
    ((GeneralPath) shape).curveTo(41.841873, 23.543938, 42.849964, 25.160946, 43.1557, 25.60036);
    ((GeneralPath) shape).curveTo(43.461437, 26.039776, 43.59127, 26.456312, 43.59127, 26.998163);
    ((GeneralPath) shape).lineTo(43.59127, 38.279263);
    ((GeneralPath) shape).curveTo(43.59127, 39.144386, 43.457546, 39.528355, 42.594032, 39.528355);
    ((GeneralPath) shape).lineTo(5.5322266, 39.528355);
    ((GeneralPath) shape).curveTo(4.6687107, 39.528355, 4.4726048, 39.144386, 4.4726048, 38.279263);
    ((GeneralPath) shape).lineTo(4.4726048, 26.998163);
    ((GeneralPath) shape).curveTo(4.4726048, 26.530346, 4.69345, 25.859524, 5.021325, 25.432514);
    ((GeneralPath) shape).curveTo(5.435059, 24.893684, 6.103854, 23.461634, 6.3966103, 23.064238);
    ((GeneralPath) shape).curveTo(6.6893663, 22.666842, 7.2269516, 22.445757, 7.60536, 22.445757);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_0_4);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_5 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_5
    paint =
        new LinearGradientPaint(
            new Point2D.Double(25.056711196899414, 3.6785457134246826),
            new Point2D.Double(24.78970718383789, 25.247310638427734),
            new float[] {0.0f, 0.4054697f, 0.5344828f, 1.0f},
            new Color[] {
              new Color(224, 224, 224, 255),
              new Color(255, 255, 255, 255),
              new Color(205, 205, 205, 255),
              new Color(73, 73, 73, 255)
            },
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                0.9457100033760071f,
                0.0f,
                0.0f,
                1.076032042503357f,
                0.05016683042049408f,
                4.095404148101807f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(11.672962, 4.4999475);
    ((GeneralPath) shape).lineTo(36.325115, 4.4999475);
    ((GeneralPath) shape).curveTo(36.97588, 4.4999475, 37.49978, 5.0100775, 37.49978, 5.6437373);
    ((GeneralPath) shape).lineTo(37.49978, 24.348175);
    ((GeneralPath) shape).lineTo(10.498298, 24.348175);
    ((GeneralPath) shape).lineTo(10.498298, 5.6437373);
    ((GeneralPath) shape).curveTo(10.498298, 5.0100775, 11.022197, 4.4999475, 11.672962, 4.4999475);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    paint = new Color(137, 137, 137, 255);
    stroke = new BasicStroke(1.0000004f, 1, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(11.672962, 4.4999475);
    ((GeneralPath) shape).lineTo(36.325115, 4.4999475);
    ((GeneralPath) shape).curveTo(36.97588, 4.4999475, 37.49978, 5.0100775, 37.49978, 5.6437373);
    ((GeneralPath) shape).lineTo(37.49978, 24.348175);
    ((GeneralPath) shape).lineTo(10.498298, 24.348175);
    ((GeneralPath) shape).lineTo(10.498298, 5.6437373);
    ((GeneralPath) shape).curveTo(10.498298, 5.0100775, 11.022197, 4.4999475, 11.672962, 4.4999475);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_0_5);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_6 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_6
    paint =
        new LinearGradientPaint(
            new Point2D.Double(20.771228790283203, 25.1402530670166),
            new Point2D.Double(20.71780014038086, 19.33746337890625),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(255, 255, 255, 0), new Color(248, 248, 248, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                1.198768973350525f,
                0.0f,
                0.0f,
                0.853564977645874f,
                -0.1430860012769699f,
                2.034512996673584f));
    stroke = new BasicStroke(1.0000002f, 1, 1, 4.0f, null, 0.0f);
    shape =
        new RoundRectangle2D.Double(
            11.498513221740723,
            5.499246597290039,
            25.00057601928711,
            18.836374282836914,
            0.35355344414711,
            0.35355350375175476);
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_0_6);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_7 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_7
    paint =
        new LinearGradientPaint(
            new Point2D.Double(10.33823299407959, 64.65225982666016),
            new Point2D.Double(10.33823299407959, 54.136138916015625),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(247, 246, 245, 255), new Color(247, 246, 245, 0)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(2.3698439598083496f, 0.0f, 0.0f, 0.4219689965248108f, 0.0f, 2.0f));
    shape =
        new RoundRectangle2D.Double(
            6.875, 27.375, 33.75, 5.1875, 3.4230966567993164, 3.4230966567993164);
    g.setPaint(paint);
    g.fill(shape);
    paint =
        new LinearGradientPaint(
            new Point2D.Double(9.731653213500977, 70.7249755859375),
            new Point2D.Double(9.705278396606445, 62.282466888427734),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(102, 102, 102, 255), new Color(0, 0, 0, 0)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(2.3698439598083496f, 0.0f, 0.0f, 0.4219689965248108f, 0.0f, 2.0f));
    stroke = new BasicStroke(1.0f, 0, 0, 4.0f, null, 0.0f);
    shape =
        new RoundRectangle2D.Double(
            6.875, 27.375, 33.75, 5.1875, 3.4230966567993164, 3.4230966567993164);
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_0_7);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_8 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 2.0f));
    // _0_0_8
    paint =
        new RadialGradientPaint(
            new Point2D.Double(9.129549026489258, 26.925594329833984),
            2.1227016f,
            new Point2D.Double(9.129549026489258, 26.925594329833984),
            new float[] {0.0f, 0.5f, 1.0f},
            new Color[] {
              new Color(255, 255, 253, 255), new Color(187, 187, 185, 255), new Color(0, 0, 0, 255)
            },
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(10.871767, 27.626486);
    ((GeneralPath) shape).curveTo(10.871767, 28.33431, 10.297961, 28.908117, 9.590136, 28.908117);
    ((GeneralPath) shape).curveTo(8.882311, 28.908117, 8.308505, 28.33431, 8.308505, 27.626486);
    ((GeneralPath) shape).curveTo(8.308505, 26.918661, 8.882311, 26.344854, 9.590136, 26.344854);
    ((GeneralPath) shape).curveTo(10.297961, 26.344854, 10.871767, 26.918661, 10.871767, 27.626486);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_8);
    g.setComposite(AlphaComposite.getInstance(3, 0.36571428f * origAlpha));
    AffineTransform defaultTransform__0_0_9 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_9
    paint =
        new LinearGradientPaint(
            new Point2D.Double(9.869808197021484, 57.2276496887207),
            new Point2D.Double(9.912813186645508, 72.06431579589844),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(0, 0, 0, 60), new Color(0, 0, 0, 0)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                2.7720859050750732f,
                0.0f,
                0.0f,
                0.36073899269104004f,
                0.6187180280685425f,
                2.883882999420166f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(11.743718, 25.416054);
    ((GeneralPath) shape).lineTo(37.306217, 25.478554);
    ((GeneralPath) shape).curveTo(37.993717, 25.480234, 38.294037, 25.107557, 38.243717, 24.478554);
    ((GeneralPath) shape).lineTo(38.118717, 22.916054);
    ((GeneralPath) shape).lineTo(39.984837, 22.916054);
    ((GeneralPath) shape).curveTo(40.797337, 22.916054, 40.975037, 23.108616, 41.172337, 23.478554);
    ((GeneralPath) shape).lineTo(41.672337, 24.416054);
    ((GeneralPath) shape).curveTo(42.19913, 25.403793, 43.48351, 26.390165, 42.170494, 26.390165);
    ((GeneralPath) shape).curveTo(37.667786, 26.390165, 13.993718, 26.041054, 11.743718, 25.416054);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_9);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_10 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_10
    paint = new Color(255, 255, 255, 255);
    stroke = new BasicStroke(0.99999994f, 1, 1, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(43.488808, 26.5);
    ((GeneralPath) shape).lineTo(4.5111804, 26.5);
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_0_10);
    g.setComposite(AlphaComposite.getInstance(3, 0.43575415f * origAlpha));
    AffineTransform defaultTransform__0_0_11 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 2.0f));
    // _0_0_11
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_11_0 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_11_0
    paint = new Color(0, 0, 0, 75);
    shape = new Rectangle2D.Double(14.0, 7.0, 19.0, 1.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_11_0);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_11_1 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_11_1
    paint = new Color(0, 0, 0, 75);
    shape = new Rectangle2D.Double(14.0, 9.0, 19.0, 1.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_11_1);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_11_2 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_11_2
    paint = new Color(0, 0, 0, 75);
    shape = new Rectangle2D.Double(14.0, 11.0, 19.0, 1.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_11_2);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_11_3 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_11_3
    paint = new Color(0, 0, 0, 75);
    shape = new Rectangle2D.Double(14.0, 13.0, 11.0, 1.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_11_3);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_11_4 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_11_4
    paint = new Color(0, 0, 0, 75);
    shape = new Rectangle2D.Double(14.0, 17.0, 19.0, 1.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_11_4);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_11_5 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_11_5
    paint = new Color(0, 0, 0, 75);
    shape = new Rectangle2D.Double(14.0, 19.0, 19.0, 1.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_11_5);
    g.setTransform(defaultTransform__0_0_11);
    g.setTransform(defaultTransform__0_0);
    g.setTransform(defaultTransform__0);
    g.setTransform(defaultTransform_);
  }
示例#12
0
  /**
   * 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, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0 = g.getTransform();
    g.transform(
        new AffineTransform(
            0.021751120686531067f,
            0.0f,
            0.0f,
            0.024932630360126495f,
            42.41048812866211f,
            33.8111686706543f));
    // _0_0
    g.setComposite(AlphaComposite.getInstance(3, 0.40206185f * origAlpha));
    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
    paint =
        new LinearGradientPaint(
            new Point2D.Double(302.8571472167969, 366.64788818359375),
            new Point2D.Double(302.8571472167969, 609.5050659179688),
            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(
                2.7743890285491943f,
                0.0f,
                0.0f,
                1.9697060585021973f,
                -1892.178955078125f,
                -872.8853759765625f));
    shape =
        new Rectangle2D.Double(
            -1559.2523193359375, -150.6968536376953, 1339.633544921875, 478.357177734375);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_0);
    g.setComposite(AlphaComposite.getInstance(3, 0.40206185f * origAlpha));
    AffineTransform defaultTransform__0_0_1 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_1
    paint =
        new RadialGradientPaint(
            new Point2D.Double(605.7142944335938, 486.64788818359375),
            117.14286f,
            new Point2D.Double(605.7142944335938, 486.64788818359375),
            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(
                2.7743890285491943f,
                0.0f,
                0.0f,
                1.9697060585021973f,
                -1891.633056640625f,
                -872.8853759765625f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(-219.61876, -150.68037);
    ((GeneralPath) shape)
        .curveTo(-219.61876, -150.68037, -219.61876, 327.65042, -219.61876, 327.65042);
    ((GeneralPath) shape).curveTo(-76.74459, 328.55087, 125.78146, 220.48074, 125.78138, 88.45424);
    ((GeneralPath) shape)
        .curveTo(125.78138, -43.572304, -33.655437, -150.68036, -219.61876, -150.68037);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_1);
    g.setComposite(AlphaComposite.getInstance(3, 0.40206185f * origAlpha));
    AffineTransform defaultTransform__0_0_2 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_2
    paint =
        new RadialGradientPaint(
            new Point2D.Double(605.7142944335938, 486.64788818359375),
            117.14286f,
            new Point2D.Double(605.7142944335938, 486.64788818359375),
            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(
                -2.7743890285491943f,
                0.0f,
                0.0f,
                1.9697060585021973f,
                112.76229858398438f,
                -872.8853759765625f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(-1559.2523, -150.68037);
    ((GeneralPath) shape)
        .curveTo(-1559.2523, -150.68037, -1559.2523, 327.65042, -1559.2523, 327.65042);
    ((GeneralPath) shape)
        .curveTo(-1702.1265, 328.55087, -1904.6525, 220.48074, -1904.6525, 88.45424);
    ((GeneralPath) shape)
        .curveTo(-1904.6525, -43.572304, -1745.2157, -150.68036, -1559.2523, -150.68037);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_2);
    g.setTransform(defaultTransform__0_0);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * 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 LinearGradientPaint(
            new Point2D.Double(12.487299919128418, 3.7318999767303467),
            new Point2D.Double(31.081300735473633, 36.032798767089844),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(210, 210, 210, 255), new Color(237, 237, 237, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                1.4340029954910278f,
                0.0f,
                0.0f,
                0.9900869727134705f,
                52.32167053222656f,
                2.8389179706573486f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(2.7177715, 6.454775);
    ((GeneralPath) shape).lineTo(43.379543, 6.454775);
    ((GeneralPath) shape).curveTo(44.002792, 6.454775, 44.504543, 6.956525, 44.504543, 7.5797744);
    ((GeneralPath) shape).lineTo(44.504543, 31.480581);
    ((GeneralPath) shape).curveTo(44.504543, 32.103832, 36.04784, 39.49987, 35.424595, 39.49987);
    ((GeneralPath) shape).lineTo(2.7177715, 39.49987);
    ((GeneralPath) shape).curveTo(2.094522, 39.49987, 1.5927727, 38.998123, 1.5927727, 38.37487);
    ((GeneralPath) shape).lineTo(1.5927727, 7.5797744);
    ((GeneralPath) shape).curveTo(1.5927727, 6.956525, 2.094522, 6.454775, 2.7177715, 6.454775);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    paint = new Color(187, 191, 187, 255);
    stroke = new BasicStroke(0.99999994f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(2.7177715, 6.454775);
    ((GeneralPath) shape).lineTo(43.379543, 6.454775);
    ((GeneralPath) shape).curveTo(44.002792, 6.454775, 44.504543, 6.956525, 44.504543, 7.5797744);
    ((GeneralPath) shape).lineTo(44.504543, 31.480581);
    ((GeneralPath) shape).curveTo(44.504543, 32.103832, 36.04784, 39.49987, 35.424595, 39.49987);
    ((GeneralPath) shape).lineTo(2.7177715, 39.49987);
    ((GeneralPath) shape).curveTo(2.094522, 39.49987, 1.5927727, 38.998123, 1.5927727, 38.37487);
    ((GeneralPath) shape).lineTo(1.5927727, 7.5797744);
    ((GeneralPath) shape).curveTo(1.5927727, 6.956525, 2.094522, 6.454775, 2.7177715, 6.454775);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_1);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_2 = g.getTransform();
    g.transform(
        new AffineTransform(
            1.0547740459442139f,
            0.0f,
            0.0f,
            1.0499889850616455f,
            -0.8146470189094543f,
            4.485012054443359f));
    // _0_2
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_2_0 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_0
    paint =
        new LinearGradientPaint(
            new Point2D.Double(21.932600021362305, 24.627399444580078),
            new Point2D.Double(21.932600021362305, 7.109099864959717),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(133, 149, 188, 255), new Color(4, 26, 59, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                1.0989890098571777f,
                0.0f,
                0.0f,
                -0.7977570295333862f,
                -1.9538650512695312f,
                37.32400131225586f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(5.512695, 30.0);
    ((GeneralPath) shape).lineTo(39.643234, 30.0);
    ((GeneralPath) shape).lineTo(39.643234, 19.627375);
    ((GeneralPath) shape).lineTo(5.512695, 19.627375);
    ((GeneralPath) shape).lineTo(5.512695, 30.0);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_0);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_2_1 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_1
    paint =
        new LinearGradientPaint(
            new Point2D.Double(21.932600021362305, 24.627399444580078),
            new Point2D.Double(21.932600021362305, 7.109099864959717),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(208, 214, 229, 255), new Color(9, 58, 128, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                1.0989890098571777f,
                0.0f,
                0.0f,
                1.1066969633102417f,
                -1.9538650512695312f,
                -4.922452926635742f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(5.512695, 5.237844);
    ((GeneralPath) shape).lineTo(39.643234, 5.237844);
    ((GeneralPath) shape).lineTo(39.643234, 19.627375);
    ((GeneralPath) shape).lineTo(5.512695, 19.627375);
    ((GeneralPath) shape).lineTo(5.512695, 5.237844);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_1);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_2_2 = g.getTransform();
    g.transform(
        new AffineTransform(
            1.1892169713974f,
            0.0f,
            0.0f,
            1.1892169713974f,
            -3.525355100631714f,
            -6.535408020019531f));
    // _0_2_2
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_2_2_0 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_2_0
    g.setComposite(AlphaComposite.getInstance(3, 0.04999994f * origAlpha));
    AffineTransform defaultTransform__0_2_2_0_0 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_2_0_0
    paint = new Color(232, 245, 47, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(18.4, 15.4);
    ((GeneralPath) shape).curveTo(18.4, 17.6, 16.6, 19.5, 14.3, 19.5);
    ((GeneralPath) shape).curveTo(12.1, 19.5, 10.2, 17.7, 10.2, 15.4);
    ((GeneralPath) shape).curveTo(10.2, 13.2, 12.0, 11.3, 14.3, 11.3);
    ((GeneralPath) shape).curveTo(16.5, 11.3, 18.4, 13.1, 18.4, 15.4);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_2_0_0);
    g.setComposite(AlphaComposite.getInstance(3, 0.20829993f * origAlpha));
    AffineTransform defaultTransform__0_2_2_0_1 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_2_0_1
    paint = new Color(236, 247, 81, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(18.0, 15.4);
    ((GeneralPath) shape).curveTo(18.0, 17.4, 16.4, 19.1, 14.3, 19.1);
    ((GeneralPath) shape).curveTo(12.3, 19.1, 10.6, 17.5, 10.6, 15.4);
    ((GeneralPath) shape).curveTo(10.6, 13.4, 12.2, 11.7, 14.3, 11.7);
    ((GeneralPath) shape).curveTo(16.3, 11.7, 18.0, 13.3, 18.0, 15.4);
    ((GeneralPath) shape).lineTo(18.0, 15.4);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_2_0_1);
    g.setComposite(AlphaComposite.getInstance(3, 0.36669993f * origAlpha));
    AffineTransform defaultTransform__0_2_2_0_2 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_2_0_2
    paint = new Color(240, 249, 114, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(17.6, 15.4);
    ((GeneralPath) shape).curveTo(17.6, 17.2, 16.1, 18.7, 14.3, 18.7);
    ((GeneralPath) shape).curveTo(12.5, 18.7, 11.0, 17.2, 11.0, 15.4);
    ((GeneralPath) shape).curveTo(11.0, 13.6, 12.5, 12.1, 14.3, 12.1);
    ((GeneralPath) shape).curveTo(16.1, 12.1, 17.6, 13.6, 17.6, 15.4);
    ((GeneralPath) shape).lineTo(17.6, 15.4);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_2_0_2);
    g.setComposite(AlphaComposite.getInstance(3, 0.525f * origAlpha));
    AffineTransform defaultTransform__0_2_2_0_3 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_2_0_3
    paint = new Color(244, 250, 149, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(17.2, 15.4);
    ((GeneralPath) shape).curveTo(17.2, 17.0, 15.9, 18.3, 14.3, 18.3);
    ((GeneralPath) shape).curveTo(12.7, 18.3, 11.4, 17.0, 11.4, 15.4);
    ((GeneralPath) shape).curveTo(11.4, 13.8, 12.7, 12.5, 14.3, 12.5);
    ((GeneralPath) shape).curveTo(15.9, 12.5, 17.2, 13.8, 17.2, 15.4);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_2_0_3);
    g.setComposite(AlphaComposite.getInstance(3, 0.6833f * origAlpha));
    AffineTransform defaultTransform__0_2_2_0_4 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_2_0_4
    paint = new Color(247, 252, 183, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(16.8, 15.4);
    ((GeneralPath) shape).curveTo(16.8, 16.8, 15.7, 17.9, 14.3, 17.9);
    ((GeneralPath) shape).curveTo(12.9, 17.9, 11.8, 16.8, 11.8, 15.4);
    ((GeneralPath) shape).curveTo(11.8, 14.0, 12.9, 12.9, 14.3, 12.9);
    ((GeneralPath) shape).curveTo(15.7, 12.9, 16.8, 14.0, 16.8, 15.4);
    ((GeneralPath) shape).lineTo(16.8, 15.4);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_2_0_4);
    g.setComposite(AlphaComposite.getInstance(3, 0.8417f * origAlpha));
    AffineTransform defaultTransform__0_2_2_0_5 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_2_0_5
    paint = new Color(251, 253, 219, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(16.4, 15.4);
    ((GeneralPath) shape).curveTo(16.4, 16.6, 15.4, 17.5, 14.3, 17.5);
    ((GeneralPath) shape).curveTo(13.2, 17.5, 12.2, 16.5, 12.2, 15.4);
    ((GeneralPath) shape).curveTo(12.2, 14.3, 13.2, 13.3, 14.3, 13.3);
    ((GeneralPath) shape).curveTo(15.4, 13.3, 16.4, 14.3, 16.4, 15.4);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_2_0_5);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_2_2_0_6 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_2_0_6
    paint = new Color(255, 255, 255, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(16.0, 15.4);
    ((GeneralPath) shape).curveTo(16.0, 16.4, 15.2, 17.2, 14.2, 17.2);
    ((GeneralPath) shape).curveTo(13.2, 17.2, 12.4, 16.4, 12.4, 15.4);
    ((GeneralPath) shape).curveTo(12.4, 14.4, 13.2, 13.6, 14.2, 13.6);
    ((GeneralPath) shape).curveTo(15.2, 13.6, 16.0, 14.4, 16.0, 15.4);
    ((GeneralPath) shape).lineTo(16.0, 15.4);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_2_0_6);
    g.setTransform(defaultTransform__0_2_2_0);
    g.setTransform(defaultTransform__0_2_2);
    g.setComposite(AlphaComposite.getInstance(3, 0.3f * origAlpha));
    AffineTransform defaultTransform__0_2_3 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_3
    paint = new Color(0, 0, 0, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(25.01586, 21.649044);
    ((GeneralPath) shape).lineTo(33.697147, 21.649044);
    ((GeneralPath) shape).lineTo(35.362053, 22.124731);
    ((GeneralPath) shape).lineTo(32.50793, 22.124731);
    ((GeneralPath) shape).curveTo(32.50793, 22.124731, 35.362053, 22.362574, 36.789116, 24.1464);
    ((GeneralPath) shape).curveTo(38.216175, 25.811304, 35.12421, 27.832975, 35.12421, 27.832975);
    ((GeneralPath) shape).curveTo(35.12421, 27.832975, 35.12421, 27.832975, 35.12421, 27.832975);
    ((GeneralPath) shape).curveTo(35.005287, 27.47621, 34.291756, 24.622087, 32.864697, 23.43287);
    ((GeneralPath) shape).curveTo(31.7944, 22.481497, 30.605183, 22.243652, 30.605183, 22.243652);
    ((GeneralPath) shape).lineTo(25.01586, 22.243652);
    ((GeneralPath) shape).lineTo(25.01586, 21.767965);
    ((GeneralPath) shape).lineTo(25.01586, 21.649044);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_3);
    g.setComposite(AlphaComposite.getInstance(3, 0.3f * origAlpha));
    AffineTransform defaultTransform__0_2_4 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_4
    paint = new Color(0, 0, 0, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(30.724106, 22.362574);
    ((GeneralPath) shape).lineTo(25.729391, 22.362574);
    ((GeneralPath) shape).lineTo(35.005287, 27.59513);
    ((GeneralPath) shape).lineTo(30.724106, 22.362574);
    ((GeneralPath) shape).lineTo(30.724106, 22.362574);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_4);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_2_5 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_5
    paint = new Color(81, 81, 81, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(25.01586, 21.767965);
    ((GeneralPath) shape).lineTo(33.697147, 21.767965);
    ((GeneralPath) shape).lineTo(35.005287, 20.935513);
    ((GeneralPath) shape).lineTo(32.15117, 20.935513);
    ((GeneralPath) shape).curveTo(32.15117, 20.935513, 34.767445, 20.459827, 35.12421, 17.486782);
    ((GeneralPath) shape).curveTo(35.480972, 14.513739, 31.08087, 11.183931, 31.08087, 11.183931);
    ((GeneralPath) shape).curveTo(31.08087, 11.183931, 31.08087, 11.183931, 31.08087, 11.302853);
    ((GeneralPath) shape).curveTo(31.19979, 12.016383, 32.389008, 17.011095, 31.556557, 18.913845);
    ((GeneralPath) shape).curveTo(31.19979, 20.578747, 30.129496, 20.935513, 30.129496, 20.935513);
    ((GeneralPath) shape).lineTo(24.659094, 20.935513);
    ((GeneralPath) shape).lineTo(24.896938, 21.767965);
    ((GeneralPath) shape).lineTo(25.01586, 21.767965);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_5);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_2_6 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_2_6
    paint = new Color(81, 81, 81, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(30.248419, 20.459827);
    ((GeneralPath) shape).lineTo(25.253704, 20.459827);
    ((GeneralPath) shape).lineTo(31.19979, 11.421773);
    ((GeneralPath) shape).lineTo(30.248419, 20.459827);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_2_6);
    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 Color(255, 255, 255, 255);
    stroke = new BasicStroke(0.99999976f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(2.8042316, 7.4528584);
    ((GeneralPath) shape).lineTo(43.233986, 7.4528584);
    ((GeneralPath) shape).curveTo(43.384365, 7.4528584, 43.505432, 7.5739236, 43.505432, 7.7243047);
    ((GeneralPath) shape).lineTo(43.505432, 31.422651);
    ((GeneralPath) shape).curveTo(43.505432, 32.368526, 36.401688, 38.5, 36.251305, 38.5);
    ((GeneralPath) shape).lineTo(2.8042316, 38.5);
    ((GeneralPath) shape).curveTo(2.6538508, 38.5, 2.532786, 38.378937, 2.532786, 38.228554);
    ((GeneralPath) shape).lineTo(2.532786, 7.7243047);
    ((GeneralPath) shape).curveTo(2.532786, 7.5739236, 2.6538508, 7.4528584, 2.8042316, 7.4528584);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_3);
    g.setComposite(AlphaComposite.getInstance(3, 0.84659094f * 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 Color(79, 79, 79, 255);
    stroke = new BasicStroke(1.0f, 0, 0, 4.0f, null, 0.0f);
    shape = new Rectangle2D.Double(5.5, 10.5, 35.0625, 25.0625);
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(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
    paint =
        new LinearGradientPaint(
            new Point2D.Double(35.99658203125, 40.458221435546875),
            new Point2D.Double(33.664920806884766, 37.770721435546875),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(124, 124, 124, 255), new Color(184, 184, 184, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 5.1475701332092285f, -3.034791946411133f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(35.206654, 39.46876);
    ((GeneralPath) shape).curveTo(37.23707, 39.79866, 44.795444, 34.938835, 44.491062, 30.970919);
    ((GeneralPath) shape).curveTo(42.9278, 33.394016, 39.73254, 32.257656, 35.623783, 32.416668);
    ((GeneralPath) shape).curveTo(35.623783, 32.416668, 36.019154, 38.96876, 35.206654, 39.46876);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    paint =
        new LinearGradientPaint(
            new Point2D.Double(42.1875, 31.0),
            new Point2D.Double(45.0, 39.98469161987305),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(187, 189, 186, 255), new Color(112, 116, 110, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    stroke = new BasicStroke(1.0000002f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(35.206654, 39.46876);
    ((GeneralPath) shape).curveTo(37.23707, 39.79866, 44.795444, 34.938835, 44.491062, 30.970919);
    ((GeneralPath) shape).curveTo(42.9278, 33.394016, 39.73254, 32.257656, 35.623783, 32.416668);
    ((GeneralPath) shape).curveTo(35.623783, 32.416668, 36.019154, 38.96876, 35.206654, 39.46876);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_5);
    g.setComposite(AlphaComposite.getInstance(3, 0.36931816f * 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(33.39600372314453, 36.92133331298828),
            new Point2D.Double(34.170047760009766, 38.07038116455078),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(255, 255, 255, 255), new Color(255, 255, 255, 0)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 5.1475701332092285f, -3.409791946411133f));
    stroke = new BasicStroke(0.9999998f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(36.65709, 37.27726);
    ((GeneralPath) shape).curveTo(38.026867, 36.593433, 41.08534, 35.130795, 42.38472, 33.24979);
    ((GeneralPath) shape).curveTo(40.788624, 33.929848, 39.43691, 33.45929, 36.682384, 33.440197);
    ((GeneralPath) shape).curveTo(36.682384, 33.440197, 36.844707, 36.502293, 36.65709, 37.27726);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_6);
    g.setComposite(AlphaComposite.getInstance(3, 0.30113637f * 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
    paint =
        new RadialGradientPaint(
            new Point2D.Double(12.700490951538086, 10.404875755310059),
            19.96875f,
            new Point2D.Double(12.700490951538086, 10.404875755310059),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(255, 255, 255, 255), new Color(255, 255, 255, 0)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                1.7105309963226318f,
                -5.396358033332207E-24f,
                2.4703449431856023E-24f,
                1.1248489618301392f,
                -11.568329811096191f,
                1.802582025527954f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(3.0625, 8.0);
    ((GeneralPath) shape).lineTo(3.0625, 30.0625);
    ((GeneralPath) shape).curveTo(25.388578, 30.950861, 27.884634, 17.0, 43.0, 17.0);
    ((GeneralPath) shape).lineTo(43.0, 8.0);
    ((GeneralPath) shape).lineTo(3.0625, 8.0);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_7);
    g.setTransform(defaultTransform__0);
    g.setTransform(defaultTransform_);
  }
  /**
   * 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, 1.0f * 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
    g.setComposite(AlphaComposite.getInstance(3, 0.47368422f * origAlpha));
    AffineTransform defaultTransform__0_0_0 = g.getTransform();
    g.transform(
        new AffineTransform(
            1.4723349809646606f,
            0.0f,
            0.0f,
            0.2663849890232086f,
            -9.159070014953613f,
            37.48202896118164f));
    // _0_0_0
    paint =
        new RadialGradientPaint(
            new Point2D.Double(22.571428298950195, 30.85714340209961),
            15.571428f,
            new Point2D.Double(22.571428298950195, 30.85714340209961),
            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(
                1.0f,
                0.0f,
                0.0f,
                0.6513760089874268f,
                4.6386480336631404E-15f,
                10.757539749145508f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(38.142857, 30.857143);
    ((GeneralPath) shape).curveTo(38.142857, 36.45889, 31.171291, 41.0, 22.571428, 41.0);
    ((GeneralPath) shape).curveTo(13.971566, 41.0, 7.0, 36.45889, 7.0, 30.857143);
    ((GeneralPath) shape).curveTo(7.0, 25.255398, 13.971566, 20.714287, 22.571428, 20.714287);
    ((GeneralPath) shape).curveTo(31.171291, 20.714287, 38.142857, 25.255398, 38.142857, 30.857143);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_0);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_1 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_1
    paint =
        new LinearGradientPaint(
            new Point2D.Double(20.794008255004883, 18.378812789916992),
            new Point2D.Double(35.59600067138672, 39.600460052490234),
            new float[] {0.0f, 0.59928656f, 1.0f},
            new Color[] {
              new Color(248, 248, 247, 255),
              new Color(232, 232, 232, 255),
              new Color(226, 226, 222, 255)
            },
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                1.3427040576934814f,
                0.0f,
                0.0f,
                1.2353780269622803f,
                -8.219611167907715f,
                -6.577188968658447f));
    shape =
        new RoundRectangle2D.Double(
            4.501601696014404,
            1.4968987703323364,
            38.99679183959961,
            45.00310134887695,
            1.133015751838684,
            1.1330164670944214);
    g.setPaint(paint);
    g.fill(shape);
    paint = new Color(136, 138, 133, 255);
    stroke = new BasicStroke(0.99999976f, 0, 0, 4.0f, null, 0.0f);
    shape =
        new RoundRectangle2D.Double(
            4.501601696014404,
            1.4968987703323364,
            38.99679183959961,
            45.00310134887695,
            1.133015751838684,
            1.1330164670944214);
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_0_1);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_2 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_2
    paint = new Color(153, 153, 153, 255);
    shape = new Rectangle2D.Double(22.0, 10.0, 14.0, 2.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_2);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_3 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_3
    paint = new Color(153, 153, 153, 255);
    shape = new Rectangle2D.Double(22.0, 16.0, 12.0, 2.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_3);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_4 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_4
    paint = new Color(153, 153, 153, 255);
    shape = new Rectangle2D.Double(9.0, 22.0, 22.97153091430664, 2.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_4);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_5 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_5
    paint = new Color(153, 153, 153, 255);
    shape = new Rectangle2D.Double(9.0, 28.0, 27.0, 2.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_5);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_6 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_6
    paint = new Color(153, 153, 153, 255);
    shape = new Rectangle2D.Double(9.0, 34.0, 17.0, 2.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_6);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_7 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_7
    paint = new Color(255, 255, 255, 255);
    stroke = new BasicStroke(1.0f, 0, 0, 4.0f, null, 0.0f);
    shape =
        new Rectangle2D.Double(
            5.499715328216553, 2.4997177124023438, 37.00001907348633, 43.022315979003906);
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    g.setTransform(defaultTransform__0_0_7);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_8 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_8
    paint = new Color(153, 153, 153, 255);
    shape = new Rectangle2D.Double(9.0, 10.0, 11.0, 10.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_8);
    g.setComposite(AlphaComposite.getInstance(3, 0.49999997f * origAlpha));
    AffineTransform defaultTransform__0_0_9 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_9
    paint = new Color(114, 159, 207, 255);
    shape = new Rectangle2D.Double(8.0, 14.0, 29.0, 6.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_9);
    g.setComposite(AlphaComposite.getInstance(3, 0.49999997f * origAlpha));
    AffineTransform defaultTransform__0_0_10 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_10
    paint = new Color(114, 159, 207, 255);
    shape = new Rectangle2D.Double(8.0, 8.0, 31.0, 6.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_10);
    g.setComposite(AlphaComposite.getInstance(3, 0.5f * origAlpha));
    AffineTransform defaultTransform__0_0_11 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_11
    paint = new Color(114, 159, 207, 255);
    shape = new Rectangle2D.Double(8.0, 20.0, 25.0, 6.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_11);
    g.setComposite(AlphaComposite.getInstance(3, 0.5f * origAlpha));
    AffineTransform defaultTransform__0_0_12 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_12
    paint = new Color(114, 159, 207, 255);
    shape = new Rectangle2D.Double(8.0, 26.0, 29.0, 6.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_12);
    g.setComposite(AlphaComposite.getInstance(3, 0.5f * origAlpha));
    AffineTransform defaultTransform__0_0_13 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_13
    paint = new Color(114, 159, 207, 255);
    shape = new Rectangle2D.Double(8.0, 32.0, 19.0, 6.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_13);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_14 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_14
    paint = new Color(0, 0, 0, 255);
    shape = new Rectangle2D.Double(28.0, 32.0, 1.0, 7.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_14);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_15 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_15
    paint = new Color(0, 0, 0, 255);
    shape = new Rectangle2D.Double(27.0, 31.0, 1.0, 1.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_15);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_16 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_16
    paint = new Color(0, 0, 0, 255);
    shape = new Rectangle2D.Double(29.0, 31.0, 1.0, 1.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_16);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_17 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_17
    paint = new Color(0, 0, 0, 255);
    shape = new Rectangle2D.Double(29.0, 39.0, 1.0, 1.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_17);
    g.setComposite(AlphaComposite.getInstance(3, 1.0f * origAlpha));
    AffineTransform defaultTransform__0_0_18 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_18
    paint = new Color(0, 0, 0, 255);
    shape = new Rectangle2D.Double(27.0, 39.0, 1.0, 1.0);
    g.setPaint(paint);
    g.fill(shape);
    g.setTransform(defaultTransform__0_0_18);
    g.setTransform(defaultTransform__0_0);
    g.setTransform(defaultTransform__0);
    g.setTransform(defaultTransform_);
  }
 public Composite getComposite() {
   return (AlphaComposite.getInstance(AlphaComposite.SRC));
 }
示例#15
0
  /**
   * 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;
    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, 48.0, 48.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.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _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 = new Color(117, 161, 208, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(27.514357, 37.542683);
    ((GeneralPath) shape).lineTo(27.514357, 28.515722);
    ((GeneralPath) shape).lineTo(37.49282, 28.475542);
    ((GeneralPath) shape).lineTo(37.49282, 21.480219);
    ((GeneralPath) shape).lineTo(27.523285, 21.480219);
    ((GeneralPath) shape).lineTo(27.514357, 11.520049);
    ((GeneralPath) shape).lineTo(20.498081, 11.53121);
    ((GeneralPath) shape).lineTo(20.502546, 21.462362);
    ((GeneralPath) shape).lineTo(10.51292, 21.536022);
    ((GeneralPath) shape).lineTo(10.477206, 28.50456);
    ((GeneralPath) shape).lineTo(20.511475, 28.475542);
    ((GeneralPath) shape).lineTo(20.518171, 37.515896);
    ((GeneralPath) shape).lineTo(27.514357, 37.542683);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    paint = new Color(52, 101, 164, 255);
    stroke = new BasicStroke(1.0000004f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(27.514357, 37.542683);
    ((GeneralPath) shape).lineTo(27.514357, 28.515722);
    ((GeneralPath) shape).lineTo(37.49282, 28.475542);
    ((GeneralPath) shape).lineTo(37.49282, 21.480219);
    ((GeneralPath) shape).lineTo(27.523285, 21.480219);
    ((GeneralPath) shape).lineTo(27.514357, 11.520049);
    ((GeneralPath) shape).lineTo(20.498081, 11.53121);
    ((GeneralPath) shape).lineTo(20.502546, 21.462362);
    ((GeneralPath) shape).lineTo(10.51292, 21.536022);
    ((GeneralPath) shape).lineTo(10.477206, 28.50456);
    ((GeneralPath) shape).lineTo(20.511475, 28.475542);
    ((GeneralPath) shape).lineTo(20.518171, 37.515896);
    ((GeneralPath) shape).lineTo(27.514357, 37.542683);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_0_0;
    g.setTransform(defaultTransform__0_0_0);
    g.setClip(clip__0_0_0);
    float alpha__0_0_1 = origAlpha;
    origAlpha = origAlpha * 0.40860215f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_1 = g.getClip();
    AffineTransform defaultTransform__0_0_1 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_1 is ShapeNode
    paint =
        new LinearGradientPaint(
            new Point2D.Double(34.89284896850586, 36.42298889160156),
            new Point2D.Double(45.918697357177734, 48.54798889160156),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(114, 159, 207, 255), new Color(81, 135, 214, 255)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(
                1.0f, 0.0f, 0.0f, 1.0f, -18.017850875854492f, -13.571189880371094f));
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(26.498701, 36.53392);
    ((GeneralPath) shape).lineTo(26.498701, 27.499739);
    ((GeneralPath) shape).lineTo(36.501305, 27.499739);
    ((GeneralPath) shape).lineTo(36.494606, 22.47531);
    ((GeneralPath) shape).lineTo(26.50763, 22.47531);
    ((GeneralPath) shape).lineTo(26.50763, 12.480335);
    ((GeneralPath) shape).lineTo(21.512796, 12.498193);
    ((GeneralPath) shape).lineTo(21.521725, 22.47531);
    ((GeneralPath) shape).lineTo(11.495536, 22.493166);
    ((GeneralPath) shape).lineTo(11.46875, 27.466255);
    ((GeneralPath) shape).lineTo(21.533142, 27.475185);
    ((GeneralPath) shape).lineTo(21.51975, 36.50267);
    ((GeneralPath) shape).lineTo(26.498701, 36.53392);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    paint =
        new LinearGradientPaint(
            new Point2D.Double(16.874998092651367, 22.85179901123047),
            new Point2D.Double(27.900846481323242, 34.97679901123047),
            new float[] {0.0f, 1.0f},
            new Color[] {new Color(255, 255, 255, 255), new Color(255, 255, 255, 87)},
            MultipleGradientPaint.CycleMethod.NO_CYCLE,
            MultipleGradientPaint.ColorSpaceType.SRGB,
            new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    stroke = new BasicStroke(1.0000006f, 0, 0, 4.0f, null, 0.0f);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(26.498701, 36.53392);
    ((GeneralPath) shape).lineTo(26.498701, 27.499739);
    ((GeneralPath) shape).lineTo(36.501305, 27.499739);
    ((GeneralPath) shape).lineTo(36.494606, 22.47531);
    ((GeneralPath) shape).lineTo(26.50763, 22.47531);
    ((GeneralPath) shape).lineTo(26.50763, 12.480335);
    ((GeneralPath) shape).lineTo(21.512796, 12.498193);
    ((GeneralPath) shape).lineTo(21.521725, 22.47531);
    ((GeneralPath) shape).lineTo(11.495536, 22.493166);
    ((GeneralPath) shape).lineTo(11.46875, 27.466255);
    ((GeneralPath) shape).lineTo(21.533142, 27.475185);
    ((GeneralPath) shape).lineTo(21.51975, 36.50267);
    ((GeneralPath) shape).lineTo(26.498701, 36.53392);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.setStroke(stroke);
    g.draw(shape);
    origAlpha = alpha__0_0_1;
    g.setTransform(defaultTransform__0_0_1);
    g.setClip(clip__0_0_1);
    float alpha__0_0_2 = origAlpha;
    origAlpha = origAlpha * 0.31182796f;
    g.setComposite(AlphaComposite.getInstance(3, origAlpha));
    Shape clip__0_0_2 = g.getClip();
    AffineTransform defaultTransform__0_0_2 = g.getTransform();
    g.transform(new AffineTransform(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
    // _0_0_2 is ShapeNode
    paint = new Color(255, 255, 255, 255);
    shape = new GeneralPath();
    ((GeneralPath) shape).moveTo(11.0, 25.0);
    ((GeneralPath) shape).curveTo(11.0, 26.9375, 36.984375, 24.03125, 36.984375, 24.96875);
    ((GeneralPath) shape).lineTo(36.984375, 21.96875);
    ((GeneralPath) shape).lineTo(27.0, 22.0);
    ((GeneralPath) shape).lineTo(27.0, 12.034772);
    ((GeneralPath) shape).lineTo(21.0, 12.034772);
    ((GeneralPath) shape).lineTo(21.0, 22.0);
    ((GeneralPath) shape).lineTo(11.0, 22.0);
    ((GeneralPath) shape).lineTo(11.0, 25.0);
    ((GeneralPath) shape).closePath();
    g.setPaint(paint);
    g.fill(shape);
    origAlpha = alpha__0_0_2;
    g.setTransform(defaultTransform__0_0_2);
    g.setClip(clip__0_0_2);
    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_);
  }
示例#16
0
  public void run() {
    Thread me = Thread.currentThread();
    while (getSize().width <= 0) {
      try {
        anim.sleep(500);
      } catch (InterruptedException e) {
        return;
      }
    }

    Graphics2D g2d = null;
    Graphics2D BufferG2D = null;
    Graphics2D ScreenG2D = null;
    BasicStroke solid = new BasicStroke(9.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 9.0f);
    GeneralPath gp = new GeneralPath(GeneralPath.WIND_NON_ZERO);
    int rule = AlphaComposite.SRC_OVER;
    AlphaComposite opaque = AlphaComposite.SrcOver;
    AlphaComposite blend = AlphaComposite.getInstance(rule, 0.9f);
    AlphaComposite set = AlphaComposite.Src;
    int frame = 0;
    int frametmp = 0;
    Dimension oldSize = getSize();
    Shape clippath = null;
    while (anim == me) {
      Dimension size = getSize();
      if (size.width != oldSize.width || size.height != oldSize.height) {
        img = null;
        clippath = null;
        if (BufferG2D != null) {
          BufferG2D.dispose();
          BufferG2D = null;
        }
        if (ScreenG2D != null) {
          ScreenG2D.dispose();
          ScreenG2D = null;
        }
      }
      oldSize = size;

      if (img == null) {
        img = (BufferedImage) createImage(size.width, size.height);
      }

      if (BufferG2D == null) {
        BufferG2D = img.createGraphics();
        BufferG2D.setRenderingHint(
            RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_DEFAULT);
        BufferG2D.setClip(clippath);
      }
      g2d = BufferG2D;

      float[] ctrlpts;
      for (int i = 0; i < animpts.length; i += 2) {
        animate(animpts, deltas, i + 0, size.width);
        animate(animpts, deltas, i + 1, size.height);
      }
      ctrlpts = animpts;
      int len = ctrlpts.length;
      gp.reset();
      int dir = 0;
      float prevx = ctrlpts[len - 2];
      float prevy = ctrlpts[len - 1];
      float curx = ctrlpts[0];
      float cury = ctrlpts[1];
      float midx = (curx + prevx) / 2.0f;
      float midy = (cury + prevy) / 2.0f;
      gp.moveTo(midx, midy);
      for (int i = 2; i <= ctrlpts.length; i += 2) {
        float x1 = (midx + curx) / 2.0f;
        float y1 = (midy + cury) / 2.0f;
        prevx = curx;
        prevy = cury;
        if (i < ctrlpts.length) {
          curx = ctrlpts[i + 0];
          cury = ctrlpts[i + 1];
        } else {
          curx = ctrlpts[0];
          cury = ctrlpts[1];
        }
        midx = (curx + prevx) / 2.0f;
        midy = (cury + prevy) / 2.0f;
        float x2 = (prevx + midx) / 2.0f;
        float y2 = (prevy + midy) / 2.0f;
        gp.curveTo(x1, y1, x2, y2, midx, midy);
      }
      gp.closePath();

      g2d.setComposite(set);
      g2d.setBackground(backgroundColor);
      g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);

      if (bgChanged || bounds == null) {
        bounds = new Rectangle(0, 0, getWidth(), getHeight());
        bgChanged = false;
      }
      // g2d.clearRect(bounds.x-5, bounds.y-5, bounds.x + bounds.width + 5, bounds.y + bounds.height
      // + 5);
      g2d.clearRect(0, 0, getWidth(), getHeight());

      g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
      g2d.setColor(outerColor);
      g2d.setComposite(opaque);
      g2d.setStroke(solid);
      g2d.draw(gp);
      g2d.setPaint(gradient);

      if (!bgChanged) {
        bounds = gp.getBounds();
      } else {
        bounds = new Rectangle(0, 0, getWidth(), getHeight());
        bgChanged = false;
      }
      gradient =
          new GradientPaint(
              bounds.x,
              bounds.y,
              gradientColorA,
              bounds.x + bounds.width,
              bounds.y + bounds.height,
              gradientColorB,
              true);
      g2d.setComposite(blend);
      g2d.fill(gp);

      if (g2d == BufferG2D) {
        repaint();
      }
      ++frame;
      Thread.yield();
    }
    if (g2d != null) {
      g2d.dispose();
    }
  }