diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar index 8c87bfa8..5b718cc1 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar and b/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/Image.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/Image.java index 93c503ac..ef1cc0b8 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/Image.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/Image.java @@ -1,11 +1,13 @@ package org.diylc.components.misc; +import java.awt.AlphaComposite; +import java.awt.Composite; import java.awt.Graphics2D; import java.awt.Point; import javax.swing.ImageIcon; -import org.diylc.components.AbstractComponent; +import org.diylc.components.AbstractTransparentComponent; import org.diylc.core.ComponentState; import org.diylc.core.IDIYComponent; import org.diylc.core.IDrawingObserver; @@ -15,7 +17,7 @@ import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; @ComponentDescriptor(name = "Image", author = "Branislav Stojkovic", category = "Misc", description = "User defined image", instanceNamePrefix = "Img", zOrder = IDIYComponent.TEXT, stretchable = false) -public class Image extends AbstractComponent { +public class Image extends AbstractTransparentComponent { private static final long serialVersionUID = 1L; public static String DEFAULT_TEXT = "Double click to edit text"; @@ -37,13 +39,20 @@ public class Image extends AbstractComponent { @Override public void draw(Graphics2D g2d, ComponentState componentState, Project project, IDrawingObserver drawingObserver) { + Composite oldComposite = g2d.getComposite(); + if (alpha < MAX_ALPHA) { + g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha + / MAX_ALPHA)); + } double s = 1d * scale / DEFAULT_SCALE; g2d.scale(s, s); g2d.drawImage(image.getImage(), (int) (point.x / s), (int) (point.y / s), null); + g2d.setComposite(oldComposite); + g2d.scale(1 / s, 1 / s); if (componentState == ComponentState.SELECTED) { g2d.setColor(SELECTION_COLOR); - g2d.drawRect((int) (point.x / s), (int) (point.y / s), image.getIconWidth(), image - .getIconHeight()); + g2d.drawRect(point.x, point.y, (int) (image.getIconWidth() * s), (int) (image + .getIconHeight() * s)); } }