com.threerings.tudey.tools
Class GroundBrush

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.threerings.tudey.tools.EditorTool
                      extended by com.threerings.tudey.tools.ConfigTool<GroundConfig>
                          extended by com.threerings.tudey.tools.GroundBrush
All Implemented Interfaces:
Compositable, Tickable, TudeySceneModel.Observer, MouseListener, MouseMotionListener, MouseWheelListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ChangeListener, TreeSelectionListener

public class GroundBrush
extends ConfigTool<GroundConfig>

The ground brush tool.

See Also:
Serialized Form

Nested Class Summary
protected static class GroundBrush.GroundReference
          Allows us to edit the ground reference.
 
Nested classes/interfaces inherited from class com.threerings.tudey.tools.ConfigTool
ConfigTool.EditableReference<T extends ManagedConfig>
 
Nested classes/interfaces inherited from class com.threerings.tudey.tools.EditorTool
EditorTool.DirectionalConstraint, EditorTool.Filter
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
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
protected  EditorTool.DirectionalConstraint _constraint
          The directional constraint, if any.
protected  boolean _cursorVisible
          Whether or not the cursor is in the window.
protected  RectangleElement _inner
          The inner and outer cursors.
protected  Vector3f _isect
          Holds the result on an intersection test.
protected  Rectangle _lastPainted
          The last painted region.
protected  Coord _location
          The location of the cursor.
protected  RectangleElement _outer
          The inner and outer cursors.
protected  int _rotation
          The rotation of the cursor.
 
Fields inherited from class com.threerings.tudey.tools.ConfigTool
_clazz, _epanel, _eref, _pane, _tree
 
Fields inherited from class com.threerings.tudey.tools.EditorTool
_button, _editor, _msgs, _pick, _scene, FINE_ROTATION_INCREMENT
 
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
GroundBrush(SceneEditor editor)
          Creates the ground brush tool.
 
Method Summary
 void composite()
          Adds this object's Dependencys and Enqueueables to the compositor in preparation for rendering.
 void init()
          Initializes the tool after the renderer has been initialized.
 void mousePressed(MouseEvent event)
           
 void mouseWheelMoved(MouseWheelEvent event)
           
protected  void paintGround(boolean erase, boolean revise)
          Paints the cursor region with ground.
 void tick(float elapsed)
          Updates the state of this object based on the elapsed time in seconds.
protected  void updateCursor()
          Updates the entry transform and cursor visibility based on the location of the mouse cursor.
 
Methods inherited from class com.threerings.tudey.tools.ConfigTool
referenceChanged, sceneChanged, setReference, stateChanged, valueChanged
 
Methods inherited from class com.threerings.tudey.tools.EditorTool
activate, allowsMouseCamera, deactivate, entryAdded, entryRemoved, entryUpdated, getMousePlaneIntersection, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mouseReleased, setButton
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_inner

protected RectangleElement _inner
The inner and outer cursors.


_outer

protected RectangleElement _outer
The inner and outer cursors.


_cursorVisible

protected boolean _cursorVisible
Whether or not the cursor is in the window.


_constraint

protected EditorTool.DirectionalConstraint _constraint
The directional constraint, if any.


_location

protected Coord _location
The location of the cursor.


_rotation

protected int _rotation
The rotation of the cursor.


_lastPainted

protected Rectangle _lastPainted
The last painted region.


_isect

protected Vector3f _isect
Holds the result on an intersection test.

Constructor Detail

GroundBrush

public GroundBrush(SceneEditor editor)
Creates the ground brush tool.

Method Detail

init

public void init()
Description copied from class: EditorTool
Initializes the tool after the renderer has been initialized.

Overrides:
init in class EditorTool

tick

public void tick(float elapsed)
Description copied from interface: Tickable
Updates the state of this object based on the elapsed time in seconds.

Specified by:
tick in interface Tickable
Overrides:
tick in class EditorTool

composite

public void composite()
Description copied from interface: Compositable
Adds this object's Dependencys and Enqueueables to the compositor in preparation for rendering.

Specified by:
composite in interface Compositable
Overrides:
composite in class EditorTool

mousePressed

public void mousePressed(MouseEvent event)
Specified by:
mousePressed in interface MouseListener
Overrides:
mousePressed in class EditorTool

mouseWheelMoved

public void mouseWheelMoved(MouseWheelEvent event)
Specified by:
mouseWheelMoved in interface MouseWheelListener
Overrides:
mouseWheelMoved in class EditorTool

updateCursor

protected void updateCursor()
Updates the entry transform and cursor visibility based on the location of the mouse cursor.


paintGround

protected void paintGround(boolean erase,
                           boolean revise)
Paints the cursor region with ground.

Parameters:
erase - if true, erase the region by painting with the null ground type.
revise - if true, replace existing ground tiles with different variants.