@Override public void drawGhost(Context2d context) { double rotation = getEnvObject().getCurrentRepresentation().getRotation(); double dx = getEnvObject().getCurrentRepresentation().getOffset().getX(); double dy = getEnvObject().getCurrentRepresentation().getOffset().getY(); context.translate(dx, dy); context.rotate(rotation); Color c = new Color(getIndexColor()); WebGraphics g = new WebGraphics(context); g.setColor(c); g.fill(ghostPath); // if (ghostBitmap!= null) // { // ghostBitmap.eraseColor(indexColor); // canvas.drawBitmap(ghostBitmap,drawingMatrix, null); // } // else // { // canvas.drawPath(ghostPath, ghostPaint); // } context.rotate(-rotation); context.translate(-dx, -dy); }
@Override public void draw(Context2d context) { String file = getEnvObject().getCurrentRepresentation().getIcon(); Path2D objectPath = DrawingUtils.freedomPolygonToPath( (FreedomPolygon) getEnvObject().getCurrentRepresentation().getShape()); Rectangle2D box = objectPath.getBounds2D(); objectBounds = objectPath.getBounds(); rotation = getEnvObject().getCurrentRepresentation().getRotation(); dx = getEnvObject().getCurrentRepresentation().getOffset().getX(); dy = getEnvObject().getCurrentRepresentation().getOffset().getY(); context.translate(dx, dy); context.rotate(rotation); WebGraphics g = new WebGraphics(context); if (ImageUtils.CachedImages.containsKey(OBJECT_PATH + file)) { Image im = ImageUtils.CachedImages.get(OBJECT_PATH + file); ImageElement ie = ImageElement.as(im.getElement()); // ghostPath = new Rectangle(ie.getWidth(),ie.getHeight()); ghostPath = objectBounds; context.drawImage(ie, 0, 0, box.getWidth(), box.getHeight()); // draw box surronding object // draw the border context.setLineWidth(1); g.setColor(new Color(137, 174, 32)); g.draw(box); } else { // //TODO: Cache path // Paint paint = new Paint(); // paint.setStyle(Style.FILL); // // ghostPath = new Path(); // objectPath.transform(drawingMatrix, ghostPath); // int fillColor=-1; // try // { // fillColor = // Color.parseColor(getEnvObject().getCurrentRepresentation().getFillColor()); // paint.setColor(fillColor); // canvas.drawPath(ghostPath, paint); // } // catch(IllegalArgumentException ex) // { // System.out.println("ParseColor exception in fill"); // } // int borderColor=-1; // try // { // borderColor = // Color.parseColor(getEnvObject().getCurrentRepresentation().getBorderColor()); // paint.setColor(borderColor); // paint.setStyle(Style.STROKE); // canvas.drawPath(ghostPath, paint); // } // catch(IllegalArgumentException ex) // { // System.out.println("ParseColor exception in border"); // } } context.rotate(-rotation); context.translate(-dx, -dy); }