Package org.eclipse.graphiti.ui.internal.figures

# Class GFEllipseDecoration

java.lang.Object
org.eclipse.draw2d.Figure
org.eclipse.draw2d.Shape
org.eclipse.graphiti.ui.internal.figures.GFAbstractShape
org.eclipse.graphiti.ui.internal.figures.GFAbstractRotatableDecoration
org.eclipse.graphiti.ui.internal.figures.GFEllipseDecoration

All Implemented Interfaces:
  `org.eclipse.draw2d.IFigure`, `org.eclipse.draw2d.RotatableDecoration`, `org.eclipse.gef.handles.HandleBounds`, `IVisualStateChangeListener`, `IVisualStateHolder`

public class GFEllipseDecoration extends GFAbstractRotatableDecoration implements org.eclipse.draw2d.RotatableDecoration
A Graphiti Ellipse Rotatable Decoration. Most functionality is handled in the super-class. This class only has to define the path and the touch-point for the figure-specific painting.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.eclipse.draw2d.Figure

`org.eclipse.draw2d.Figure.FigureIterator, org.eclipse.draw2d.Figure.IdentitySearch, org.eclipse.draw2d.Figure.ReverseFigureChildrenIterator`

## Nested classes/interfaces inherited from interface org.eclipse.draw2d.IFigure

`org.eclipse.draw2d.IFigure.NoInsets`

## Field Summary

### Fields inherited from class org.eclipse.draw2d.Shape

`lineStyle, lineWidth`

### Fields inherited from class org.eclipse.draw2d.Figure

`bgColor, border, fgColor, flags, font, MAX_FLAG, maxSize, minSize, NO_MANAGER, prefSize, toolTip`

### Fields inherited from interface org.eclipse.draw2d.IFigure

`MAX_DIMENSION, MIN_DIMENSION, NO_INSETS`

## Constructor Summary

Constructors
Constructor
Description
`GFEllipseDecoration(IPictogramElementDelegate pictogramElementDelegate, GraphicsAlgorithm graphicsAlgorithm)`
Creates a new GFEllipseDecoration.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`containsPointInInitialFigure(int x, int y)`
Returns true, if the given point is contained inside this ellipse.
`protected org.eclipse.swt.graphics.Path`
`createPath(org.eclipse.draw2d.geometry.Rectangle outerBounds, org.eclipse.draw2d.Graphics graphics, boolean isFill)`
Returns the Path specifying an ellipse for the given outer bounds.
`protected org.eclipse.draw2d.geometry.Point`
`getInitialTouchPoint()`
Returns the initial touch-point of the decorator-shape.

### Methods inherited from class org.eclipse.graphiti.ui.internal.figures.GFAbstractRotatableDecoration

`containsPointInFigure, getBounds, getDecoratorLocation, getDecoratorReferencePoint, getInitialBounds, getPhiDegrees, getPhiRadians, getTouchPointDelta, paintShape, processRotatableDecorationValues, rotateTargetToInitial, setInitialBounds, setLocation, setReferencePoint`

### Methods inherited from class org.eclipse.graphiti.ui.internal.figures.GFAbstractShape

`containsPoint, containsPointInArea, fillPath, fillShape, getClickArea, getConfigurationProvider, getGraphicsAlgorithm, getHandleBounds, getLineWidth, getPictogramElementDelegate, getPreferences, getSelectionBorder, getVisualState, getZoomLevel, outlineShape, paintFigure, setClickArea, setSelectionBorder, transformToFillBounds, visualStateChanged`

### Methods inherited from class org.eclipse.draw2d.Shape

`getAlpha, getAntialias, getLineAttributes, getLineCap, getLineDash, getLineDashOffset, getLineJoin, getLineMiterLimit, getLineStyle, getLineWidth, getLineWidthFloat, setAlpha, setAlpha, setAntialias, setAntialias, setFill, setFillXOR, setLineAttributes, setLineCap, setLineDash, setLineDashOffset, setLineJoin, setLineMiterLimit, setLineStyle, setLineWidth, setLineWidthFloat, setOutline, setOutlineXOR, setXOR`

### Methods inherited from class org.eclipse.draw2d.Figure

`add, add, add, add, addAncestorListener, addCoordinateListener, addFigureListener, addFocusListener, addKeyListener, addLayoutListener, addListener, addMouseListener, addMouseMotionListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, containsPoint, erase, findDescendantAtExcluding, findFigureAt, findFigureAt, findFigureAt, findFigureAtExcluding, findMouseEventTargetAt, findMouseEventTargetInDescendantsAt, fireCoordinateSystemChanged, fireFigureMoved, fireMoved, firePropertyChange, firePropertyChange, firePropertyChange, getBackgroundColor, getBorder, getChildren, getChildrenRevIterable, getClientArea, getClientArea, getClippingStrategy, getCursor, getFlag, getFont, getForegroundColor, getInsets, getLayoutManager, getListeners, getListenersIterable, getLocalBackgroundColor, getLocalFont, getLocalForegroundColor, getLocation, getMaximumSize, getMinimumSize, getMinimumSize, getParent, getPreferredSize, getPreferredSize, getSize, getToolTip, getUpdateManager, handleFocusGained, handleFocusLost, handleKeyPressed, handleKeyReleased, handleMouseDoubleClicked, handleMouseDragged, handleMouseEntered, handleMouseExited, handleMouseHover, handleMouseMoved, handleMousePressed, handleMouseReleased, hasFocus, internalGetEventDispatcher, intersects, invalidate, invalidateTree, isCoordinateSystem, isEnabled, isFocusTraversable, isMirrored, isMouseEventTarget, isOpaque, isRequestFocusEnabled, isShowing, isValid, isValidationRoot, isVisible, layout, optimizeClip, paint, paintBorder, paintChildren, paintClientArea, primTranslate, remove, removeAll, removeAncestorListener, removeCoordinateListener, removeFigureListener, removeFocusListener, removeKeyListener, removeLayoutListener, removeListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, revalidate, setBackgroundColor, setBorder, setBounds, setChildrenDirection, setChildrenEnabled, setChildrenOrientation, setClippingStrategy, setConstraint, setCursor, setEnabled, setFlag, setFocusTraversable, setFont, setForegroundColor, setLayoutManager, setMaximumSize, setMinimumSize, setOpaque, setParent, setPreferredSize, setPreferredSize, setRequestFocusEnabled, setSize, setSize, setToolTip, setValid, setVisible, translate, translateFromParent, translateToAbsolute, translateToParent, translateToRelative, useLocalCoordinates, validate`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.draw2d.IFigure

`add, add, add, add, addAncestorListener, addCoordinateListener, addFigureListener, addFocusListener, addKeyListener, addLayoutListener, addMouseListener, addMouseMotionListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, containsPoint, containsPoint, erase, findFigureAt, findFigureAt, findFigureAt, findFigureAtExcluding, findMouseEventTargetAt, getBackgroundColor, getBorder, getBounds, getChildren, getClientArea, getClientArea, getClippingStrategy, getCursor, getFont, getForegroundColor, getInsets, getLayoutManager, getLocalBackgroundColor, getLocalForegroundColor, getLocation, getMaximumSize, getMinimumSize, getMinimumSize, getParent, getPreferredSize, getPreferredSize, getSize, getToolTip, getUpdateManager, handleFocusGained, handleFocusLost, handleKeyPressed, handleKeyReleased, handleMouseDoubleClicked, handleMouseDragged, handleMouseEntered, handleMouseExited, handleMouseHover, handleMouseMoved, handleMousePressed, handleMouseReleased, hasFocus, internalGetEventDispatcher, intersects, invalidate, invalidateTree, isCoordinateSystem, isEnabled, isFocusTraversable, isMirrored, isOpaque, isRequestFocusEnabled, isShowing, isVisible, paint, remove, removeAncestorListener, removeCoordinateListener, removeFigureListener, removeFocusListener, removeKeyListener, removeLayoutListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, revalidate, setBackgroundColor, setBorder, setBounds, setClippingStrategy, setConstraint, setCursor, setEnabled, setFocusTraversable, setFont, setForegroundColor, setLayoutManager, setMaximumSize, setMinimumSize, setOpaque, setParent, setPreferredSize, setRequestFocusEnabled, setSize, setSize, setToolTip, setVisible, translate, translateFromParent, translateToAbsolute, translateToParent, translateToRelative, validate`

### Methods inherited from interface org.eclipse.draw2d.RotatableDecoration

`setLocation, setReferencePoint`

## Constructor Details

### GFEllipseDecoration

public GFEllipseDecoration(IPictogramElementDelegate pictogramElementDelegate, GraphicsAlgorithm graphicsAlgorithm)
Creates a new GFEllipseDecoration.

Parameters:
  `pictogramElementDelegate` - The PictogramElementDelegate which provides the GraphicsAlgorithm.
  `graphicsAlgorithm` - The GraphicsAlgorithm which provides the values to paint this Shape.

## Method Details

### getInitialTouchPoint

protected org.eclipse.draw2d.geometry.Point getInitialTouchPoint()
Returns the initial touch-point of the decorator-shape. This is the point of the decorator-shape inside the initial-bounds (see `GFAbstractRotatableDecoration.getInitialBounds()`), which shall touch the decorated figure at the decorator-location (see `GFAbstractRotatableDecoration.getDecoratorLocation()`. It is called "inital" because it is the point before translation/rotation.

In caes of this Ellipse the point `(0, getInitialBounds().height / 2)` is returned.

Specified by:
  `getInitialTouchPoint` in class `GFAbstractRotatableDecoration`
Returns:
  The initial touch-point of the decorator-shape.

### containsPointInInitialFigure

public boolean containsPointInInitialFigure(int x, int y)
Returns true, if the given point is contained inside this ellipse. This implementation overwrites the super-implementation, which only checks if the point is in the rectangular bounds.

Overrides:
  `containsPointInInitialFigure` in class `GFAbstractRotatableDecoration`
Parameters:
  `x` - The x-coordinate of the point to check.
  `y` - The y-coordinate of the point to check.
Returns:
  true, if the given point is contained inside this ellipse.

### createPath

protected org.eclipse.swt.graphics.Path createPath(org.eclipse.draw2d.geometry.Rectangle outerBounds, org.eclipse.draw2d.Graphics graphics, boolean isFill)
Returns the Path specifying an ellipse for the given outer bounds. It does not differentiate between a fill Path and an outline Path.

Specified by:
  `createPath` in class `GFAbstractShape`
Parameters:
  `outerBounds` - The outer bounds which shall contain the Path. They are calculated from the bounds of this figure by `GFFigureUtil.getAdjustedRectangle(Rectangle, double, int)` . Note, that those outline-bounds are just a suggestion which works fine for many cases.
  `graphics` - The Graphics on which the outline Path shall be painted. It can be used to react on Graphics specific values, like the zoom-level of the Graphics.
  `isFill` - if true, the Path is used for filling the Shape, otherwise for outlining the Shape.
Returns:
  The Path specifying an ellipse for the given outer bounds.