import java.util.Timer;
public class ViewPanel extends JPanel implements ComponentListener {
+ private static final long serialVersionUID = 1683277888885045387L;
private final UserInputTracker userInputTracker = new UserInputTracker(this);
-
private final KeyboardFocusTracker keyboardFocusTracker = new KeyboardFocusTracker(
this);
-
private final Avatar avatar = new Avatar();
-
private final ShapeCollection rootShapeCollection = new ShapeCollection();
-
-
- public Avatar getAvatar() {
- return avatar;
- }
-
- public KeyboardFocusTracker getKeyboardFocusTracker() {
- return keyboardFocusTracker;
- }
-
- public ShapeCollection getRootShapeCollection() {
- return rootShapeCollection;
- }
-
- public UserInputTracker getUserInputTracker() {
- return userInputTracker;
- }
-
- private static final long serialVersionUID = 1683277888885045387L;
private final List<ViewRenderListener> viewRenderListeners = new ArrayList<>();
/**
* Last time this view was updated.
private Timer canvasUpdateTimer;
private ViewUpdateTimerTask canvasUpdateTimerTask;
private RenderingContext renderingContext = null;
-
/**
* UI component that mouse is currently hovering over.
*/
private MouseInteractionController currentMouseOverComponent;
-
/**
* Currently target FPS for this view. It can be changed at runtime. Also when nothing
* changes in the view, then frames are not really repainted.
*/
private int targetFPS = 30;
-
/**
* Set to true if it is known than next frame reeds to be painted. Flag is cleared
* immediately after frame got updated.
*/
private boolean viewRepaintNeeded = true;
-
public ViewPanel() {
viewRenderListeners.add(avatar);
viewRenderListeners.add(userInputTracker);
addComponentListener(this);
}
+ public Avatar getAvatar() {
+ return avatar;
+ }
+
+ public KeyboardFocusTracker getKeyboardFocusTracker() {
+ return keyboardFocusTracker;
+ }
+
+ public ShapeCollection getRootShapeCollection() {
+ return rootShapeCollection;
+ }
+
+ public UserInputTracker getUserInputTracker() {
+ return userInputTracker;
+ }
+
public void addViewUpdateListener(final ViewRenderListener listener) {
viewRenderListeners.add(listener);
}
* graphics is needed.
*/
public void updateView() {
- if (renderingContext != null){
+ if (renderingContext != null) {
renderingContext.mouseClick = null;
renderingContext.clickedItem = null;
}