diff --git a/.idea/misc.xml b/.idea/misc.xml
index a8cb301..ac50c40 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -14,7 +14,7 @@
-
+
\ No newline at end of file
diff --git a/src/main-en/java/fri/shapesge/Image.java b/src/main-en/java/fri/shapesge/Image.java
index c5441b4..ebfcbf7 100644
--- a/src/main-en/java/fri/shapesge/Image.java
+++ b/src/main-en/java/fri/shapesge/Image.java
@@ -162,4 +162,12 @@ public void changeAngle(int angle) {
public void changePosition(int x, int y) {
this.drawable.moveTo(x, y);
}
+
+ /**
+ * Flip the image horizontally (along its y-axis)
+ */
+ @SuppressWarnings("unused")
+ public void flipHorizontally() {
+ this.drawable.flip();
+ }
}
diff --git a/src/main-sk/java/fri/shapesge/Obrazok.java b/src/main-sk/java/fri/shapesge/Obrazok.java
index 1f289d0..db63a96 100644
--- a/src/main-sk/java/fri/shapesge/Obrazok.java
+++ b/src/main-sk/java/fri/shapesge/Obrazok.java
@@ -159,4 +159,12 @@ public void zmenUhol(int uhol) {
public void zmenPolohu(int x, int y) {
this.drawable.moveTo(x, y);
}
+
+ /**
+ * Zrkadlovito otoč obrázok v horizontálnom smere (v smere jeho y-ovej osi).
+ */
+ @SuppressWarnings("unused")
+ public void otocHorizontalne() {
+ this.drawable.flip();
+ }
}
diff --git a/src/main/java/fri/shapesge/drawables/ImageDrawable.java b/src/main/java/fri/shapesge/drawables/ImageDrawable.java
index a583dd4..60b9e4b 100644
--- a/src/main/java/fri/shapesge/drawables/ImageDrawable.java
+++ b/src/main/java/fri/shapesge/drawables/ImageDrawable.java
@@ -8,10 +8,12 @@
public class ImageDrawable extends TranslatableDrawable {
private BufferedImage image;
+ private boolean isFlipped;
public ImageDrawable(int x, int y, int angle, BufferedImage image) {
super(x, y, angle);
this.image = image;
+ this.isFlipped = false;
}
public void changeImage(BufferedImage image) {
@@ -32,7 +34,15 @@ public void draw(Graphics2D canvas) {
if (!this.isVisible()) {
return;
}
+ if (this.isFlipped) {
+ canvas.drawImage(this.image, this.getXPosition() + this.image.getWidth(), this.getYPosition(),
+ -this.image.getWidth(), this.image.getHeight(), null);
+ } else {
+ canvas.drawImage(this.image, this.getTransform(), null);
+ }
+ }
- canvas.drawImage(this.image, this.getTransform(), null);
+ public void flip() {
+ this.isFlipped = !this.isFlipped;
}
}