org.lee.mugen.core.renderer.java
Class JGameWindow

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Canvas
          extended by org.lee.mugen.core.renderer.java.JGameWindow
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, GameWindow
Direct Known Subclasses:
JGameWindowLow

public class JGameWindow
extends java.awt.Canvas
implements GameWindow

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Canvas
java.awt.Canvas.AccessibleAWTCanvas
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  Game callback
          The callback which should be notified of events caused by this window
protected  javax.swing.JFrame frame
          The frame in which we'll display our canvas
protected  boolean gameRunning
          True if the game is currently "running", i.e. the game loop is looping
protected  java.awt.Graphics2D gStrategy
          The current accelerated graphics context
protected  int height
          The height of the display
protected  java.awt.image.BufferedImage hisResBuffer
           
protected  ImageScale2x imgScale2x
           
protected  java.awt.image.BufferedImage normalBuffer
           
protected  java.awt.image.BufferedImage sai2xBuffer
           
protected  SpriteDebugerUI sprDebugerUI
           
protected  java.awt.image.BufferStrategy strategy
          The stragey that allows us to use accelerate page flipping
protected  int width
          The width of the display
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JGameWindow(StateMachine game)
           
 
Method Summary
 void addSpriteKeyProcessor(SpriteCmdProcess scp)
           
protected  void gameLoop()
          Run the main game loop.
 java.awt.Graphics2D getDebugDrawGraphics()
           
 java.awt.Graphics2D getDrawGraphics()
          Retrieve the current accelerated graphics context.
 java.awt.image.BufferedImage getHisResBuffer()
           
 java.awt.image.BufferedImage getNormalBuffer()
           
 float getScale()
           
 SpriteDebugerUI getSprDebugerUI()
           
 void setGameWindowCallback(Game callback)
          Set the callback that should be notified of the window events.
 void setResolution(int width, int height)
          Set the game display resolution
 void setTitle(java.lang.String title)
          Set the title of the game window
 void start()
          Start the game window rendering the display
 
Methods inherited from class java.awt.Canvas
addNotify, createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy, paint, update
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

strategy

protected java.awt.image.BufferStrategy strategy
The stragey that allows us to use accelerate page flipping


gameRunning

protected boolean gameRunning
True if the game is currently "running", i.e. the game loop is looping


frame

protected javax.swing.JFrame frame
The frame in which we'll display our canvas


width

protected int width
The width of the display


height

protected int height
The height of the display


callback

protected Game callback
The callback which should be notified of events caused by this window


gStrategy

protected java.awt.Graphics2D gStrategy
The current accelerated graphics context


normalBuffer

protected java.awt.image.BufferedImage normalBuffer

hisResBuffer

protected java.awt.image.BufferedImage hisResBuffer

sai2xBuffer

protected java.awt.image.BufferedImage sai2xBuffer

imgScale2x

protected ImageScale2x imgScale2x

sprDebugerUI

protected SpriteDebugerUI sprDebugerUI
Constructor Detail

JGameWindow

public JGameWindow(StateMachine game)
Method Detail

setTitle

public void setTitle(java.lang.String title)
Description copied from interface: GameWindow
Set the title of the game window

Specified by:
setTitle in interface GameWindow
Parameters:
title - The new title for the game window

setResolution

public void setResolution(int width,
                          int height)
Description copied from interface: GameWindow
Set the game display resolution

Specified by:
setResolution in interface GameWindow
Parameters:
width - The new x resolution of the display
height - The new y resolution of the display

addSpriteKeyProcessor

public void addSpriteKeyProcessor(SpriteCmdProcess scp)
Specified by:
addSpriteKeyProcessor in interface GameWindow

setGameWindowCallback

public void setGameWindowCallback(Game callback)
Description copied from interface: GameWindow
Set the callback that should be notified of the window events.

Specified by:
setGameWindowCallback in interface GameWindow
Parameters:
callback - The callback that should be notified of game window events.

start

public void start()
           throws java.lang.Exception
Description copied from interface: GameWindow
Start the game window rendering the display

Specified by:
start in interface GameWindow
Throws:
java.lang.Exception

getDrawGraphics

public java.awt.Graphics2D getDrawGraphics()
Retrieve the current accelerated graphics context. Note this method has been made package scope since only the other members of the "java2D" package need to access it.

Returns:
The current accelerated graphics context for this window

getDebugDrawGraphics

public java.awt.Graphics2D getDebugDrawGraphics()

getScale

public float getScale()

gameLoop

protected void gameLoop()
                 throws java.lang.Exception
Run the main game loop. This method keeps rendering the scene and requesting that the callback update its screen.

Throws:
java.lang.Exception

getHisResBuffer

public java.awt.image.BufferedImage getHisResBuffer()

getNormalBuffer

public java.awt.image.BufferedImage getNormalBuffer()

getSprDebugerUI

public SpriteDebugerUI getSprDebugerUI()