Class PathBasedVisionShape
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- com.inductiveautomation.vision.api.client.components.model.AbstractVisionComponent
-
- com.inductiveautomation.vision.api.client.components.shapes.AbstractVisionShape
-
- com.inductiveautomation.vision.api.client.components.shapes.PathBasedVisionShape
-
- All Implemented Interfaces:
DynamicPropertyProvider
,LocaleListener
,MutableDynamicPropertyProvider
,StyleProvider
,Bounds2DComponent
,ComponentLifecycle
,QualityMonitor
,VisionComponent
,Paintable
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
public class PathBasedVisionShape extends AbstractVisionShape implements Paintable
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class com.inductiveautomation.vision.api.client.components.shapes.AbstractVisionShape
angle, lastSize, origBounds, rect, relPos, rotationAnchor, SCALE_STROKE_HINT, tempTransform
-
Fields inherited from class com.inductiveautomation.vision.api.client.components.model.AbstractVisionComponent
antialias, context, cursorCode
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface com.inductiveautomation.vision.api.client.components.model.ComponentLifecycle
COMPONENT_RUNNING
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from interface com.inductiveautomation.vision.api.client.binding.MutableDynamicPropertyProvider
RESERVED_SET_KEY
-
Fields inherited from interface com.inductiveautomation.vision.api.client.components.model.VisionComponent
COMPONENT_LOCKED, COMPONENT_PERMISSIONS, COMPONENT_SECURITY, COMPONENT_TRANSLATIONS
-
-
Constructor Summary
Constructors Constructor Description PathBasedVisionShape(ShapeDelegate delegate)
PathBasedVisionShape(ShapeDelegate delegate, double angle)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
alterDelegate(ShapeDelegate delegate, double angle)
void
alterDelegate(java.awt.geom.GeneralPath newShape)
void
convertToPath()
java.awt.geom.Area
getArea()
Return the area that this shape will paint in.java.awt.geom.Point2D
getCenterpoint()
ShapeDelegate
getDelegate()
java.awt.Paint
getFillPaint()
java.awt.Shape
getShape()
Returns the current shape, with rotation appliedjava.awt.geom.Rectangle2D
getShapeBounds(java.awt.geom.Rectangle2D rv)
java.awt.Paint
getStrokePaint()
float
getStrokeSize()
Used to outset the repaint region so that widely stroked shapes get repainted correctly.java.awt.Stroke
getStrokeStyle()
boolean
isRotated()
void
mirrorHorizontal()
void
mirrorVertical()
void
paintShape(java.awt.Graphics2D g)
Draw the shape to the given graphics object.protected void
rotateImpl(double angle, java.awt.geom.Point2D anchor)
Actual implementation of rotation logic from sub-class.void
setBoundingRect(java.awt.geom.Rectangle2D newRect)
Manipulate the underlying shape/transform so that the shape fits within the new bounding rectangle.void
setDelegate(ShapeDelegate delegate)
Deprecated.void
setFillPaint(java.awt.Paint fill)
void
setStrokePaint(java.awt.Paint stroke)
void
setStrokeStyle(java.awt.Stroke stroke)
void
update()
protected void
updateRelBounds(double x, double y, double w, double h)
-
Methods inherited from class com.inductiveautomation.vision.api.client.components.shapes.AbstractVisionShape
_setAngle, ceil, clearTempTransmform, contains, firePositionChange, floor, getAngleDegrees, getAngleRadians, getBoundingRect, getBoundingRect, getOriginalBounds, getRelHeight, getRelWidth, getRelX, getRelY, getRotationAnchor, getTempTransform, paintComponent, repaint, rotate, rotate, round, setAngleDegrees, setAngleRadians, setBorder, setOriginalBounds, setRelHeight, setRelWidth, setRelX, setRelY, setRotationAnchor, setTempTransform, toString
-
Methods inherited from class com.inductiveautomation.vision.api.client.components.model.AbstractVisionComponent
getAppContext, getCursorCode, getDataQuality, getDynamicProps, getProperties, getPropertyValue, getQuality, getStyles, getToolTipText, isAntialias, isPropertyDefined, localeChanged, onShutdown, onStartup, paintChildren, setAntialias, setCursorCode, setDataQuality, setDynamicProps, setName, setPropertyValue, setQuality, setStyles, setToolTipText, setVisible, shutdownComponent, startupComponent, updateQuality
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, 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, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintImmediately, paintImmediately, paramString, 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, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update, updateUI
-
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, 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, getAccessibleContext, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
PathBasedVisionShape
public PathBasedVisionShape(ShapeDelegate delegate)
-
PathBasedVisionShape
public PathBasedVisionShape(ShapeDelegate delegate, double angle)
-
-
Method Detail
-
mirrorHorizontal
public void mirrorHorizontal()
-
mirrorVertical
public void mirrorVertical()
-
setFillPaint
public void setFillPaint(java.awt.Paint fill)
- Specified by:
setFillPaint
in interfacePaintable
-
getFillPaint
public java.awt.Paint getFillPaint()
- Specified by:
getFillPaint
in interfacePaintable
-
setStrokePaint
public void setStrokePaint(java.awt.Paint stroke)
- Specified by:
setStrokePaint
in interfacePaintable
-
getStrokePaint
public java.awt.Paint getStrokePaint()
- Specified by:
getStrokePaint
in interfacePaintable
-
setStrokeStyle
public void setStrokeStyle(java.awt.Stroke stroke)
- Specified by:
setStrokeStyle
in interfacePaintable
-
getStrokeStyle
public java.awt.Stroke getStrokeStyle()
- Specified by:
getStrokeStyle
in interfacePaintable
-
getStrokeSize
public float getStrokeSize()
Description copied from class:AbstractVisionShape
Used to outset the repaint region so that widely stroked shapes get repainted correctly.- Specified by:
getStrokeSize
in classAbstractVisionShape
-
updateRelBounds
protected void updateRelBounds(double x, double y, double w, double h)
- Overrides:
updateRelBounds
in classAbstractVisionShape
-
update
public void update()
-
getDelegate
public ShapeDelegate getDelegate()
-
setDelegate
@Deprecated public void setDelegate(ShapeDelegate delegate)
Deprecated.Not called directly, but here for bean property detection.
-
setBoundingRect
public void setBoundingRect(java.awt.geom.Rectangle2D newRect)
Description copied from class:AbstractVisionShape
Manipulate the underlying shape/transform so that the shape fits within the new bounding rectangle.- Specified by:
setBoundingRect
in interfaceBounds2DComponent
- Specified by:
setBoundingRect
in classAbstractVisionShape
-
convertToPath
public void convertToPath()
-
alterDelegate
public void alterDelegate(ShapeDelegate delegate, double angle)
-
alterDelegate
public void alterDelegate(java.awt.geom.GeneralPath newShape)
-
rotateImpl
protected void rotateImpl(double angle, java.awt.geom.Point2D anchor)
Description copied from class:AbstractVisionShape
Actual implementation of rotation logic from sub-class.- Specified by:
rotateImpl
in classAbstractVisionShape
-
isRotated
public boolean isRotated()
-
getCenterpoint
public java.awt.geom.Point2D getCenterpoint()
- Specified by:
getCenterpoint
in classAbstractVisionShape
-
getShapeBounds
public java.awt.geom.Rectangle2D getShapeBounds(java.awt.geom.Rectangle2D rv)
- Specified by:
getShapeBounds
in classAbstractVisionShape
-
paintShape
public void paintShape(java.awt.Graphics2D g)
Description copied from class:AbstractVisionShape
Draw the shape to the given graphics object.- Specified by:
paintShape
in classAbstractVisionShape
-
getArea
public java.awt.geom.Area getArea()
Description copied from class:AbstractVisionShape
Return the area that this shape will paint in. The area should be enclosed within the bounding rectangle, but may cover less area than the entire bounding rectangle. Used for mouse hit-testing.- Specified by:
getArea
in classAbstractVisionShape
-
getShape
public java.awt.Shape getShape()
Returns the current shape, with rotation applied
-
-