jadex.application.space.envsupport.observer.graphics
Class AbstractViewport

java.lang.Object
  extended by jadex.application.space.envsupport.observer.graphics.AbstractViewport
All Implemented Interfaces:
IViewport
Direct Known Subclasses:
ViewportJ2D

public abstract class AbstractViewport
extends Object
implements IViewport


Nested Class Summary
protected  class AbstractViewport.MouseController
           
 
Field Summary
protected  Vector2Double areaSize_
          Maximum displayable area
protected  Color bgColor_
          The background color.
protected  Canvas canvas_
          Canvas for graphical output.
protected  Set drawObjects_
          Known drawable Objects.
protected  IVector2 inversionFlag_
          Axis inversion flag
protected  ILibraryService libService_
          Library service for loading resources.
protected  SortedSet objectLayers_
          Registered object layers.
protected  List objectList_
          List of objects that should be drawn.
protected  float objShiftX_
          Object shift x-coordinate.
protected  float objShiftY_
          Object shift y-coordinate.
protected  Vector2Double paddedSize_
          Real size of the viewport including padding.
protected  IPerspective perspective
          IPropertyObject holding properties for layers.
protected  IVector2 pixPosition_
          Pixel-corrected viewport position.
protected  IVector2 position_
          Virtual Viewport position.
protected  Layer[] postLayers_
          Layers applied after drawable rendering
protected  Layer[] preLayers_
          Layers applied before drawable rendering
protected  boolean preserveAR_
          Flag aspect ratio preservation.
protected  boolean rendering
          Flag to indicate that rendering is in progress.
protected  Vector2Double size_
          Size of the viewport without padding.
 
Constructor Summary
AbstractViewport(IPerspective perspective)
           
 
Method Summary
 void addViewportListener(IViewportListener listener)
          Adds a IViewportListener
 IVector2 getAreaSize()
          Gets the maximum displayable size.
 Canvas getCanvas()
          Returns the canvas that is used for displaying the objects.
 IVector2 getCanvasSize()
          Returns the size of the canvas as a vector.
 Rectangle getClippingBox()
          Returns the clipping box.
 boolean getInvertX()
          Returns true if the x-axis is inverted (right-left instead of left-right).
 boolean getInvertY()
          Returns true if the y-axis is inverted (top-down instead of bottom-up).
 IVector2 getObjectShift()
          Gets the shift of all objects.
 IVector2 getPaddedSize()
          Returns the padded size
 IPerspective getPerspective()
          Get the perspective.
 IVector2 getPixelSize()
          Returns the size of a pixel.
 IVector2 getPosition()
          Gets the position of the viewport.
 IVector2 getSize()
          Gets the size of the display area.
 IVector2 getWorldCoordinates(int pixelX, int pixelY)
          Converts pixel coordinates into world coordinates
 boolean isShowing()
          Checks if this IViewport is showing on screen.
 void refreshCanvasSize()
          Refreshes the size of the canvas.
 void removeViewportListener(IViewportListener listener)
          Removes a IViewportListener
 void setAreaSize(IVector2 areaSize)
          Sets the maximum displayable size.
 void setBackground(Color bgColor)
          Sets the background color.
 void setInvertX(boolean b)
          If set to true, inverts the x-axis (right-left instead of left-right).
 void setInvertY(boolean b)
          If set to true, inverts the y-axis (top-down instead of bottom-up).
 void setObjectList(List objectList)
          Sets the current objects to draw.
 void setObjectShift(IVector2 objectShift)
          Sets the shift of all objects.
 void setPosition(IVector2 pos)
          Sets the position of the viewport.
 void setPostLayers(Layer[] layers)
          Sets the post-layers for the viewport.
 void setPreLayers(Layer[] layers)
          Sets the pre-layers for the viewport.
 void setPreserveAspectRation(boolean preserveAR)
          Sets whether the viewport should preserve the aspect ratio of the size by padding.
 void setSize(IVector2 size)
          Sets the size of the display area.
 void setZoomLimit(double zoomlimit)
          Sets the maximum zoom.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface jadex.application.space.envsupport.observer.graphics.IViewport
dispose, drawPrimitive, refresh
 

Field Detail

inversionFlag_

protected IVector2 inversionFlag_
Axis inversion flag


canvas_

protected Canvas canvas_
Canvas for graphical output.


libService_

protected ILibraryService libService_
Library service for loading resources.


bgColor_

protected Color bgColor_
The background color.


position_

protected IVector2 position_
Virtual Viewport position.


pixPosition_

protected IVector2 pixPosition_
Pixel-corrected viewport position.


objShiftX_

protected float objShiftX_
Object shift x-coordinate.


objShiftY_

protected float objShiftY_
Object shift y-coordinate.


preserveAR_

protected boolean preserveAR_
Flag aspect ratio preservation.


size_

protected Vector2Double size_
Size of the viewport without padding.


areaSize_

protected Vector2Double areaSize_
Maximum displayable area


paddedSize_

protected Vector2Double paddedSize_
Real size of the viewport including padding.


drawObjects_

protected Set drawObjects_
Known drawable Objects.


objectLayers_

protected SortedSet objectLayers_
Registered object layers.


objectList_

protected List objectList_
List of objects that should be drawn.


preLayers_

protected Layer[] preLayers_
Layers applied before drawable rendering


postLayers_

protected Layer[] postLayers_
Layers applied after drawable rendering


perspective

protected IPerspective perspective
IPropertyObject holding properties for layers.


rendering

protected volatile boolean rendering
Flag to indicate that rendering is in progress.

Constructor Detail

AbstractViewport

public AbstractViewport(IPerspective perspective)
Method Detail

setBackground

public void setBackground(Color bgColor)
Sets the background color.

Specified by:
setBackground in interface IViewport
Parameters:
bgColor - the background color

setObjectList

public void setObjectList(List objectList)
Sets the current objects to draw.

Specified by:
setObjectList in interface IViewport
Parameters:
objectList - objects that should be drawn

getCanvas

public Canvas getCanvas()
Returns the canvas that is used for displaying the objects.

Specified by:
getCanvas in interface IViewport

setPreLayers

public void setPreLayers(Layer[] layers)
Sets the pre-layers for the viewport.

Specified by:
setPreLayers in interface IViewport
Parameters:
layers - the pre-layers

setPostLayers

public void setPostLayers(Layer[] layers)
Sets the post-layers for the viewport.

Specified by:
setPostLayers in interface IViewport
Parameters:
layers - the post-layers

getSize

public IVector2 getSize()
Gets the size of the display area.

Specified by:
getSize in interface IViewport
Returns:
size of the display area, may be padded to preserve aspect ratio

setSize

public void setSize(IVector2 size)
Sets the size of the display area.

Specified by:
setSize in interface IViewport
Parameters:
size - size of the display area, may be padded to preserve aspect ratio

getAreaSize

public IVector2 getAreaSize()
Gets the maximum displayable size.

Specified by:
getAreaSize in interface IViewport
Returns:
maximum area size.

setAreaSize

public void setAreaSize(IVector2 areaSize)
Sets the maximum displayable size.

Specified by:
setAreaSize in interface IViewport
Parameters:
areaSize - maximum area size.

getPaddedSize

public IVector2 getPaddedSize()
Returns the padded size

Returns:
padded size

getClippingBox

public Rectangle getClippingBox()
Returns the clipping box.

Returns:
clipping box

getPixelSize

public IVector2 getPixelSize()
Returns the size of a pixel.


getCanvasSize

public IVector2 getCanvasSize()
Returns the size of the canvas as a vector.

Returns:
size of the canvas in pixel

refreshCanvasSize

public void refreshCanvasSize()
Refreshes the size of the canvas.

Specified by:
refreshCanvasSize in interface IViewport

getPosition

public IVector2 getPosition()
Gets the position of the viewport.

Specified by:
getPosition in interface IViewport

setPosition

public void setPosition(IVector2 pos)
Sets the position of the viewport.

Specified by:
setPosition in interface IViewport

setPreserveAspectRation

public void setPreserveAspectRation(boolean preserveAR)
Description copied from interface: IViewport
Sets whether the viewport should preserve the aspect ratio of the size by padding.

Specified by:
setPreserveAspectRation in interface IViewport
Parameters:
preserveAR - true to preserve aspect ratio, false otherwise

getInvertX

public boolean getInvertX()
Returns true if the x-axis is inverted (right-left instead of left-right).

Specified by:
getInvertX in interface IViewport
Returns:
true, if the x-axis is inverted

getInvertY

public boolean getInvertY()
Returns true if the y-axis is inverted (top-down instead of bottom-up).

Specified by:
getInvertY in interface IViewport
Returns:
true, if the y-axis is inverted

setInvertX

public void setInvertX(boolean b)
If set to true, inverts the x-axis (right-left instead of left-right).

Specified by:
setInvertX in interface IViewport
Parameters:
b - if true, inverts the x-axis

setInvertY

public void setInvertY(boolean b)
If set to true, inverts the y-axis (top-down instead of bottom-up).

Specified by:
setInvertY in interface IViewport
Parameters:
b - if true, inverts the y-axis

getObjectShift

public IVector2 getObjectShift()
Gets the shift of all objects.


setObjectShift

public void setObjectShift(IVector2 objectShift)
Sets the shift of all objects.

Specified by:
setObjectShift in interface IViewport

setZoomLimit

public void setZoomLimit(double zoomlimit)
Sets the maximum zoom.

Specified by:
setZoomLimit in interface IViewport
Parameters:
zoomlimit - the zoom limit

isShowing

public boolean isShowing()
Checks if this IViewport is showing on screen.

Specified by:
isShowing in interface IViewport
Returns:
true if the IViewport is showing, false otherwise

addViewportListener

public void addViewportListener(IViewportListener listener)
Adds a IViewportListener

Specified by:
addViewportListener in interface IViewport
Parameters:
listener - new listener

removeViewportListener

public void removeViewportListener(IViewportListener listener)
Removes a IViewportListener

Specified by:
removeViewportListener in interface IViewport
Parameters:
listener - the listener

getPerspective

public IPerspective getPerspective()
Get the perspective.

Specified by:
getPerspective in interface IViewport
Returns:
The perspective.

getWorldCoordinates

public IVector2 getWorldCoordinates(int pixelX,
                                    int pixelY)
Converts pixel coordinates into world coordinates

Specified by:
getWorldCoordinates in interface IViewport
Parameters:
pixelX - pixel x-coordinate
pixelY - pixel y-coordinate
Returns:
world coordinates


Copyright © 2010. All Rights Reserved.