Example #1
0
  @Override
  public void setLocationRelativeToRegion(Region region, Layout side) {
    setBoundsRelativeToComponent(source);
    Debug.info("[Shadow] UDPATED: " + this);

    super.setLocationRelativeToRegion(region, side);
  }
Example #2
0
  public BufferedImage createShadowImage() {

    BufferedImage image =
        new BufferedImage(
            source.getWidth() + shadowSize * 2,
            source.getHeight() + shadowSize * 2,
            BufferedImage.TYPE_INT_ARGB);
    Graphics2D g2 = image.createGraphics();
    g2.translate(shadowSize, shadowSize);
    source.paint(g2);

    shadowImage =
        new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_ARGB);
    getBlurOp(shadowSize).filter(createShadowMask(image), shadowImage);

    Debug.info("[Shadow] shadowImage: " + shadowImage);
    Debug.info("[Shadow] bounds: " + getBounds());

    return shadowImage;
  }
Example #3
0
  void setBoundsRelativeToComponent(SikuliGuideComponent comp) {
    if (sourceSize.equals(comp.getSize())) return;

    sourceSize = (Dimension) comp.getSize().clone();
    source = comp;

    if (comp instanceof SikuliGuideCircle
        || comp instanceof SikuliGuideArrow
        || comp instanceof SikuliGuideRectangle
        || comp instanceof SikuliGuideBracket) {
      shadowSize = 5;
    } else if (source instanceof SikuliGuideFlag || source instanceof SikuliGuideText) {
      shadowSize = 10;
    } else {
      shadowSize = 10;
    }

    Rectangle r = comp.getBounds();
    r.grow(shadowSize, shadowSize);

    setSize(r.getSize());
    createShadowImage();
  }
Example #4
0
 @Override
 public void setLocationRelativeToComponent(SikuliGuideComponent comp, int offsetx, int offsety) {
   this.source = comp;
   setBoundsRelativeToComponent(comp);
   super.setLocationRelativeToComponent(comp, offsetx, offsety);
 }
Example #5
0
  public void paintComponent(Graphics g) {
    super.paintComponent(g);

    Graphics2D g2d = (Graphics2D) g;
    g2d.drawImage(shadowImage, 0, 0, getWidth(), getHeight(), null, null);
  }