|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
edu.umd.cs.piccolo.PCanvas
public class PCanvas
PCanvas is a simple Swing component that can be used to embed Piccolo into a Java Swing application. Canvases view the Piccolo scene graph through a camera. The canvas manages screen updates coming from this camera, and forwards swing mouse and keyboard events to the camera.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
Field Summary | |
---|---|
static PCanvas |
CURRENT_ZCANVAS
Deprecated. since it falsely assumes that there is only one PCanvas per program |
static String |
INTERACTING_CHANGED_NOTIFICATION
Deprecated. in favor of PROPERTY_INTERACTING |
static String |
INTERATING_CHANGED_NOTIFICATION
Deprecated. this is a typo and clients should change their code to reflect the correct spelling |
static String |
PROPERTY_INTERACTING
The property name that identifies a change in the interacting state. |
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
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 | |
---|---|
PCanvas()
Construct a canvas with the basic scene graph consisting of a root, camera, and layer. |
Method Summary | |
---|---|
void |
addInputEventListener(PInputEventListener listener)
Add an input listener to the camera associated with this canvas. |
protected PCamera |
createDefaultCamera()
Creates and returns a basic Scene Graph. |
Timer |
createTimer(int delay,
ActionListener listener)
Helper for creating a timer. |
boolean |
getAnimating()
Return true if any activities that respond with true to the method isAnimating were run in the last PRoot.processInputs() loop. |
int |
getAnimatingRenderQuality()
Returns the quality to use when animating. |
PCamera |
getCamera()
Return the camera associated with this canvas. |
int |
getDefaultRenderQuality()
Deprecated. in favor or getNormalRenderQuality |
PInputEventListener[] |
getInputEventListeners()
Returns the input event listeners registered to receive input events. |
boolean |
getInteracting()
Return true if this canvas has been marked as interacting, or whether it's root is interacting. |
int |
getInteractingRenderQuality()
Returns the quality to use when interacting. |
PLayer |
getLayer()
Return layer for this canvas. |
int |
getNormalRenderQuality()
Returns the quality to use when not animating or interacting. |
PPanEventHandler |
getPanEventHandler()
Get the pan event handler associated with this canvas. |
PRoot |
getRoot()
Return root for this canvas. |
PZoomEventHandler |
getZoomEventHandler()
Get the zoom event handler associated with this canvas. |
protected void |
installInputSources()
This method installs mouse and key listeners on the canvas that forward those events to piccolo. |
void |
paintComponent(Graphics g)
|
void |
paintImmediately()
If not painting immediately, send paint notification to RepaintManager, otherwise does nothing. |
void |
popCursor()
Pop the cursor on top of the cursorStack and set it as the canvas cursor. |
void |
printAll(Graphics graphics)
Prints the entire scene regardless of what the viewable area is. |
void |
pushCursor(Cursor cursor)
Set the canvas cursor, and remember the previous cursor on the cursor stack. |
void |
removeInputEventListener(PInputEventListener listener)
Remove an input listener to the camera associated with this canvas. |
protected void |
removeInputSources()
This method removes mouse and key listeners on the canvas that forward those events to piccolo. |
void |
repaint(PBounds bounds)
Called to notify PComponent that given bounds need repainting. |
protected void |
sendInputEventToInputManager(InputEvent event,
int type)
Sends the given input event with the given type to the current InputManager. |
void |
setAnimatingRenderQuality(int animatingRenderQuality)
Set the render quality that should be used when rendering this canvas when it is animating. |
void |
setBounds(int x,
int y,
int width,
int height)
Updates the bounds of the component and updates the camera accordingly. |
void |
setCamera(PCamera newCamera)
Set the camera associated with this canvas. |
void |
setDefaultRenderQuality(int defaultRenderQuality)
Set the render quality that should be used when rendering this canvas when it is not interacting or animating. |
void |
setEnabled(boolean enabled)
Override setEnabled to install/remove canvas input sources as needed. |
void |
setInteracting(boolean isInteracting)
Set if this canvas is interacting. |
void |
setInteractingRenderQuality(int interactingRenderQuality)
Set the render quality that should be used when rendering this canvas when it is interacting. |
void |
setPanEventHandler(PPanEventHandler handler)
Set the pan event handler associated with this canvas. |
void |
setZoomEventHandler(PZoomEventHandler handler)
Set the zoom event handler associated with this canvas. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final String INTERATING_CHANGED_NOTIFICATION
public static final String INTERACTING_CHANGED_NOTIFICATION
public static final String PROPERTY_INTERACTING
public static PCanvas CURRENT_ZCANVAS
Constructor Detail |
---|
public PCanvas()
Method Detail |
---|
protected PCamera createDefaultCamera()
public PPanEventHandler getPanEventHandler()
public void setPanEventHandler(PPanEventHandler handler)
handler
- the new zoom event handlerpublic PZoomEventHandler getZoomEventHandler()
public void setZoomEventHandler(PZoomEventHandler handler)
handler
- the new zoom event handlerpublic PCamera getCamera()
public void setCamera(PCamera newCamera)
newCamera
- the camera which this PCanvas should view the scenepublic PRoot getRoot()
public PLayer getLayer()
public void addInputEventListener(PInputEventListener listener)
listener
- listener to register for event notificationspublic void removeInputEventListener(PInputEventListener listener)
listener
- listener to unregister from event notificationspublic boolean getInteracting()
public boolean getAnimating()
public void setInteracting(boolean isInteracting)
setInteracting
in interface PComponent
isInteracting
- whether the PCanvas should be considered interactingpublic void setDefaultRenderQuality(int defaultRenderQuality)
defaultRenderQuality
- supports PPaintContext.HIGH_QUALITY_RENDERING
or PPaintContext.LOW_QUALITY_RENDERINGpublic void setAnimatingRenderQuality(int animatingRenderQuality)
animatingRenderQuality
- supports
PPaintContext.HIGH_QUALITY_RENDERING or
PPaintContext.LOW_QUALITY_RENDERINGpublic void setInteractingRenderQuality(int interactingRenderQuality)
interactingRenderQuality
- supports
PPaintContext.HIGH_QUALITY_RENDERING or
PPaintContext.LOW_QUALITY_RENDERINGpublic void pushCursor(Cursor cursor)
pushCursor
in interface PComponent
cursor
- the cursor to push onto the cursor stackpublic void popCursor()
popCursor
in interface PComponent
public void setEnabled(boolean enabled)
setEnabled
in class JComponent
enabled
- new enable status of the Pcanvasprotected void installInputSources()
protected void removeInputSources()
protected void sendInputEventToInputManager(InputEvent event, int type)
event
- event to dispatchtype
- type of event being dispatchedpublic void setBounds(int x, int y, int width, int height)
setBounds
in class Component
x
- left of boundsy
- top of boundswidth
- width of boundsheight
- height of boundspublic void repaint(PBounds bounds)
repaint
in interface PComponent
bounds
- bounds needing repaintpublic void paintComponent(Graphics g)
paintComponent
in class JComponent
public void paintImmediately()
paintImmediately
in interface PComponent
public Timer createTimer(int delay, ActionListener listener)
delay
- the number of milliseconds to wait before invoking the
listenerlistener
- the listener to invoke after the delay
public int getDefaultRenderQuality()
public int getNormalRenderQuality()
public int getAnimatingRenderQuality()
public int getInteractingRenderQuality()
public PInputEventListener[] getInputEventListeners()
public void printAll(Graphics graphics)
printAll
in class JComponent
graphics
- Graphics context onto which to paint the scene for printing
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |