X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Fgui%2FView.java;h=6f1b474d4b09338bee1e02d49fbcb762b89d6666;hb=2e7e46514dd35006e9dde07b1959540078292691;hp=f521aeb5f9b9b84b5aa94e5daa99f17ba1625e89;hpb=03447008b8ee26a6463d2cd03005dc26464863db;p=sixth-3d.git diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/gui/View.java b/src/main/java/eu/svjatoslav/sixth/e3d/gui/View.java index f521aeb..6f1b474 100755 --- a/src/main/java/eu/svjatoslav/sixth/e3d/gui/View.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/gui/View.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 @@ -31,7 +31,7 @@ public class View extends JPanel implements ComponentListener { long lastUpdateMillis = 0; private Timer canvasUpdateTimer; private ViewUpdateTimerTask canvasUpdateTimerTask; - private RenderingContext renderingContext = new RenderingContext(1, 1, null); + private RenderingContext renderingContext = null; private MouseInteractionController currentMouseOverComponent; /** * Currently target FPS for this view. It might change at runtime. @@ -153,8 +153,7 @@ public class View extends JPanel implements ComponentListener { if ((renderingContext == null) || (renderingContext.width != getWidth()) || (renderingContext.height != getHeight())) - renderingContext = new RenderingContext(getWidth(), getHeight(), - renderingContext); + renderingContext = new RenderingContext(getWidth(), getHeight()); // clear drawing area { @@ -219,8 +218,10 @@ public class View extends JPanel implements ComponentListener { * graphics is needed. */ public void updateView() { - renderingContext.mouseClick = null; - renderingContext.clickedItem = null; + if (renderingContext != null){ + renderingContext.mouseClick = null; + renderingContext.clickedItem = null; + } // compute time passed since last view update final long currentTime = System.currentTimeMillis(); @@ -234,12 +235,12 @@ public class View extends JPanel implements ComponentListener { lastUpdateMillis = currentTime; // notify update listeners - boolean rerenderView = false; + boolean reRenderFrame = false; for (final ViewUpdateListener listener : viewUpdateListeners) if (listener.beforeViewUpdate(context, millisecondsPassedSinceLastUpdate)) - rerenderView = true; + reRenderFrame = true; // abort rendering if window size is invalid if ((getWidth() <= 0) || (getHeight() <= 0)) @@ -247,10 +248,10 @@ public class View extends JPanel implements ComponentListener { if (repaintDuringNextViewUpdate) { repaintDuringNextViewUpdate = false; - rerenderView = true; + reRenderFrame = true; } - if (rerenderView) { + if (reRenderFrame) { renderFrame(); handleDetectedComponentMouseEvents(); }