Refactoring.
[sixth-3d.git] / src / main / java / eu / svjatoslav / sixth / e3d / gui / ViewUpdateListener.java
1 /*
2  * Sixth 3D engine. Copyright ©2012-2018, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of version 3 of the GNU Lesser General Public License
6  * or later as published by the Free Software Foundation.
7  *
8  */
9
10 package eu.svjatoslav.sixth.e3d.gui;
11
12 public interface ViewUpdateListener {
13
14     /**
15      * Notifies that it is about time to render next frame. Update listener can determine if frame repaint is actually
16      * needed from its perspective. Frame will be rendered if at least one listener says yes.
17      *
18      * @return <code>true</code> if underlying view shall be re-rendered. If at least one of the view update listeners
19      * returns <code>true</code>, view is re-rendered.
20      */
21     boolean beforeViewUpdate(ViewContext viewContext, final int millisecondsSinceLastFrame);
22 }