public abstract class AbstractViewport extends java.lang.Object implements IViewport
Modifier and Type | Class and Description |
---|---|
protected class |
AbstractViewport.MouseController |
Modifier and Type | Field and Description |
---|---|
protected Vector2Double |
areaSize_
Maximum displayable area
|
protected java.awt.Color |
bgColor_
The background color.
|
protected java.awt.Canvas |
canvas_
Canvas for graphical output.
|
protected java.util.Set |
drawObjects_
Known drawable Objects.
|
protected IVector2 |
inversionFlag_
Axis inversion flag
|
protected java.util.SortedSet |
objectLayers_
Registered object layers.
|
protected java.util.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.
|
protected ISpaceController |
spacecontroller
The Space Controller
|
Constructor and Description |
---|
AbstractViewport(IPerspective perspective) |
Modifier and Type | Method and Description |
---|---|
void |
addViewportListener(IViewportListener listener)
Adds a IViewportListener
|
IVector2 |
getAreaSize()
Gets the maximum displayable size.
|
java.awt.Canvas |
getCanvas()
Returns the canvas that is used for displaying the objects.
|
IVector2 |
getCanvasSize()
Returns the size of the canvas as a vector.
|
java.awt.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.
|
ISpaceController |
getSpaceController() |
void |
getSpaceController(ISpaceController spacecontroller) |
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(java.awt.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(java.util.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.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
dispose, drawPrimitive, refresh
protected ISpaceController spacecontroller
protected IVector2 inversionFlag_
protected java.awt.Canvas canvas_
protected java.awt.Color bgColor_
protected IVector2 position_
protected IVector2 pixPosition_
protected float objShiftX_
protected float objShiftY_
protected boolean preserveAR_
protected Vector2Double size_
protected Vector2Double areaSize_
protected Vector2Double paddedSize_
protected java.util.Set drawObjects_
protected java.util.SortedSet objectLayers_
protected java.util.List objectList_
protected Layer[] preLayers_
protected Layer[] postLayers_
protected IPerspective perspective
protected volatile boolean rendering
public AbstractViewport(IPerspective perspective)
public void setBackground(java.awt.Color bgColor)
setBackground
in interface IViewport
bgColor
- the background colorpublic void setObjectList(java.util.List objectList)
setObjectList
in interface IViewport
objectList
- objects that should be drawnpublic java.awt.Canvas getCanvas()
public void setPreLayers(Layer[] layers)
setPreLayers
in interface IViewport
layers
- the pre-layerspublic void setPostLayers(Layer[] layers)
setPostLayers
in interface IViewport
layers
- the post-layerspublic IVector2 getSize()
public void setSize(IVector2 size)
public IVector2 getAreaSize()
getAreaSize
in interface IViewport
public void setAreaSize(IVector2 areaSize)
setAreaSize
in interface IViewport
areaSize
- maximum area size.public IVector2 getPaddedSize()
public java.awt.Rectangle getClippingBox()
public IVector2 getPixelSize()
public IVector2 getCanvasSize()
public void refreshCanvasSize()
refreshCanvasSize
in interface IViewport
public IVector2 getPosition()
getPosition
in interface IViewport
public void setPosition(IVector2 pos)
setPosition
in interface IViewport
public void setPreserveAspectRation(boolean preserveAR)
IViewport
setPreserveAspectRation
in interface IViewport
preserveAR
- true to preserve aspect ratio, false otherwisepublic boolean getInvertX()
getInvertX
in interface IViewport
public boolean getInvertY()
getInvertY
in interface IViewport
public void setInvertX(boolean b)
setInvertX
in interface IViewport
b
- if true, inverts the x-axispublic void setInvertY(boolean b)
setInvertY
in interface IViewport
b
- if true, inverts the y-axispublic IVector2 getObjectShift()
public void setObjectShift(IVector2 objectShift)
setObjectShift
in interface IViewport
public void setZoomLimit(double zoomlimit)
setZoomLimit
in interface IViewport
zoomlimit
- the zoom limitpublic boolean isShowing()
public void addViewportListener(IViewportListener listener)
addViewportListener
in interface IViewport
listener
- new listenerpublic void removeViewportListener(IViewportListener listener)
removeViewportListener
in interface IViewport
listener
- the listenerpublic IPerspective getPerspective()
getPerspective
in interface IViewport
public IVector2 getWorldCoordinates(int pixelX, int pixelY)
getWorldCoordinates
in interface IViewport
pixelX
- pixel x-coordinatepixelY
- pixel y-coordinatepublic ISpaceController getSpaceController()
getSpaceController
in interface IViewport
public void getSpaceController(ISpaceController spacecontroller)