Optimized frame repainting. Fixed mouse click processing.
[sixth-3d.git] / src / main / java / eu / svjatoslav / sixth / e3d / gui / RenderingContext.java
index 5e74a94..2603c11 100644 (file)
@@ -9,7 +9,7 @@
 
 package eu.svjatoslav.sixth.e3d.gui;
 
-import eu.svjatoslav.sixth.e3d.gui.humaninput.MouseClick;
+import eu.svjatoslav.sixth.e3d.gui.humaninput.MouseEvent;
 import eu.svjatoslav.sixth.e3d.gui.humaninput.MouseInteractionController;
 
 import java.awt.*;
@@ -20,39 +20,25 @@ import java.awt.image.WritableRaster;
 public class RenderingContext {
 
     public static final int bufferedImageType = BufferedImage.TYPE_4BYTE_ABGR;
-
-    final BufferedImage bufferedImage;
-
     public final Graphics2D graphics;
-
     public final byte[] pixels;
-
     public final int width;
     public final int height;
-
     public final int xCenter;
     public final int yCenter;
-
     public final double zoom;
-
+    final BufferedImage bufferedImage;
     public int frameNumber = 0;
 
-    /**
-     * Used to signal that actual rendering should be performed. It is useful to
-     * skip rendering when we only want to detect mouse clicks intersections
-     * without actually updating rendered frame.
-     */
-    public boolean doRender = true; // TODO: make use of the variable
-
     /**
      * Mouse click. During rendering we can detect which item user clicked on.
      */
-    public MouseClick mouseClick;
+    public MouseEvent mouseEvent;
 
     /**
      * Item that user clicked on.
      */
-    public MouseInteractionController clickedItem;
+    public MouseInteractionController objectUnderMouse;
 
     public RenderingContext(final int width, final int height) {
         this.width = width;
@@ -70,12 +56,8 @@ public class RenderingContext {
         pixels = dbi.getData();
 
         graphics = (Graphics2D) bufferedImage.getGraphics();
-
-        graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
-                RenderingHints.VALUE_ANTIALIAS_ON);
-
-        graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
-                RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
+        graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+        graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
     }
 
 }