Optimized frame repainting. Fixed mouse click processing.
[sixth-3d.git] / src / main / java / eu / svjatoslav / sixth / e3d / renderer / raster / shapes / basic / texturedpolygon / TexturedPolygon.java
index e4e30fc..cafcbbf 100644 (file)
@@ -11,7 +11,6 @@ package eu.svjatoslav.sixth.e3d.renderer.raster.shapes.basic.texturedpolygon;
 
 import eu.svjatoslav.sixth.e3d.geometry.Point2D;
 import eu.svjatoslav.sixth.e3d.geometry.Point3D;
-import eu.svjatoslav.sixth.e3d.geometry.Polygon;
 import eu.svjatoslav.sixth.e3d.gui.RenderingContext;
 import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.AbstractCoordinateShape;
 import eu.svjatoslav.sixth.e3d.renderer.raster.slicer.PolygonCoordinate;
@@ -20,6 +19,8 @@ import eu.svjatoslav.sixth.e3d.renderer.raster.texture.TextureBitmap;
 
 import java.awt.*;
 
+import static eu.svjatoslav.sixth.e3d.geometry.Polygon.pointWithinPolygon;
+
 public class TexturedPolygon extends AbstractCoordinateShape {
 
     public final Texture texture;
@@ -105,7 +106,7 @@ public class TexturedPolygon extends AbstractCoordinateShape {
             x2 = renderBuffer.width - 1;
 
         int renderBufferOffset = ((y * renderBuffer.width) + x1) * 4;
-        final byte[] renderBufferBytes = renderBuffer.bytes;
+        final byte[] renderBufferBytes = renderBuffer.pixels;
 
         final double twidth = tx2 - tx1;
         final double theight = ty2 - ty1;
@@ -140,11 +141,11 @@ public class TexturedPolygon extends AbstractCoordinateShape {
         projectedPoint3.roundToInteger();
 
         if (mouseInteractionController != null)
-            if (renderBuffer.mouseClick != null)
-                if (Polygon.pointWithinPolygon(
-                        renderBuffer.mouseClick.coordinate, projectedPoint1,
+            if (renderBuffer.mouseEvent != null)
+                if (pointWithinPolygon(
+                        renderBuffer.mouseEvent.coordinate, projectedPoint1,
                         projectedPoint2, projectedPoint3))
-                    renderBuffer.clickedItem = mouseInteractionController;
+                    renderBuffer.objectUnderMouse = mouseInteractionController;
 
         // Show polygon boundaries (for debugging)
         if (showBorders)