X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Fgui%2FRenderingContext.java;h=2603c1106913dce83fbbb8947b06e54e6a03f8eb;hp=36315475ac230accd30f0282c38bfef3a51c023b;hb=9dcd9d8a7d3bc16eb6fde3681cd32e02dc0707e9;hpb=03447008b8ee26a6463d2cd03005dc26464863db diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/gui/RenderingContext.java b/src/main/java/eu/svjatoslav/sixth/e3d/gui/RenderingContext.java index 3631547..2603c11 100644 --- a/src/main/java/eu/svjatoslav/sixth/e3d/gui/RenderingContext.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/gui/RenderingContext.java @@ -1,5 +1,5 @@ /* - * Sixth 3D engine. Copyright ©2012-2016, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu + * Sixth 3D engine. Copyright ©2012-2018, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu * * This program is free software; you can redistribute it and/or * modify it under the terms of version 3 of the GNU Lesser General Public License @@ -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,37 +20,27 @@ import java.awt.image.WritableRaster; public class RenderingContext { public static final int bufferedImageType = BufferedImage.TYPE_4BYTE_ABGR; - - public final BufferedImage bufferedImage; - public final Graphics2D graphics; - - public final byte[] bytes; - + 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. + * Mouse click. During rendering we can detect which item user clicked on. */ - public boolean doRender = true; // TODO: make use of the variable + public MouseEvent mouseEvent; - public MouseClick mouseClick; - - public MouseInteractionController clickedItem; - - public RenderingContext(final int width, final int height, - final RenderingContext oldContext) { + /** + * Item that user clicked on. + */ + public MouseInteractionController objectUnderMouse; + public RenderingContext(final int width, final int height) { this.width = width; this.height = height; @@ -63,20 +53,11 @@ public class RenderingContext { final WritableRaster raster = bufferedImage.getRaster(); final DataBufferByte dbi = (DataBufferByte) raster.getDataBuffer(); - bytes = dbi.getData(); + 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); - - if (oldContext != null) { - mouseClick = oldContext.mouseClick; - clickedItem = oldContext.clickedItem; - } + graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); } }