# All Classes and Interfaces

Class
Description
AbsoluteBendpoint
AbsoluteBendpoint is a Bendpoint that defines its location simply as its X and Y coordinates.
AbstractBackground
A special border which can paint both underneath and on top of a Figure.
AbstractBorder
Provides generic support for borders.
AbstractConnectionAnchor
Provides support for anchors which depend on a figure for thier location.
AbstractConstraintLayout
Common base class for layouts working on a constraint per figure.
AbstractFlowBorder
A basis for implementing `FlowBorder`.
AbstractHintLayout
The foundation for layout managers which are sensitive to width and/or height hints.
AbstractImageFigure
Abstract implementation of the image figure.
AbstractLabeledBorder
Provides support for a border with a label describing the contents of which it is surrounding.
AbstractLayout
Provides generic support for LayoutManagers.
AbstractLocator
Places a figure relative to a point determined by the subclass.
AbstractPointListShape
Base superclass for all polylines/polygons
AbstractRouter
Base class for implementing a connection router.
AccessibleBase
The base class for accessible objects which provides accesibilty clients with a unique ID.
ActionEvent
An event that occurs as a result of an action being performed.
ActionListener
A Listener interface for receiving `ActionEvents`.
AncestorListener
Classes which implement this interface provide methods to respond to changes in the ancestor properties of a Figure.
AncestorListener.Stub
An empty implementation of AncestorListener for convenience.
AnchorListener
Classes which implement this interface provide a method to notify that an anchor has moved.
Animation
A utility for coordinating figure animations.
Animator
Animates some aspect of a figure.
ArrowButton
A Button which displays a triangle pointing in a specified direction.
ArrowLocator
Locator used to place a `RotatableDecoration` on a `Connection`.
AutomaticRouter
An abstract router implementation which detects when multiple connections are overlapping.
AutoscaleFreeformViewport
IMPORTANT: This class is not part of the GEF public API.
BasicColorProvider
Bendpoint
A helper used to calculate the point at which a `Connection` should bend.
BendpointConnectionRouter
Routes `Connection`s through a `List` of `Bendpoints`.
BendpointLocator
Places a figure relative to a specified bend in a `Connection`.
BidiInfo
This class is for INTERNAL use only.
BidiProcessor
A helper class for a BlockFlow that does Bidi evaluation of all the text in that block.
BidiProvider
An abstract class for service providers that provide concrete implementations of the `Bidi` class.
BidiProvider.DefaultBidiProvider
Default implementation of `BidiProvider`, backed by `Bidi`.
BlockBox
A CompositeBox suitable for containing multiple LineBox fragments.
BlockFlow
A `FlowFigure` represented by a single `BlockBox` containing one or more lines.
BlockFlowLayout
The layout for `BlockFlow` figures.
Border
A decoration on a Figure.
BorderLayout
Button
A Button usually has a border and appears to move up and down in response to being pressed.
ButtonBorder
Creates a border for a clickable type of figure, which works in conjunction with the Figure and its model.
ButtonBorder.ButtonScheme
Provides for a scheme to represent the borders of clickable figures like buttons.
ButtonBorder.SCHEMES
Interface defining commonly used schemes for the ButtonBorder.
ButtonGroup
A ButtonGroup holds a group of `Clickable's` models and provides unique selection in them.
ButtonModel
A model for buttons containing several properties, including enabled, pressed, selected, rollover enabled and mouseover.
CaretInfo
Stores positional information about where a caret should be placed.
Cell
ChangeEvent
An event for property changes.
ChangeListener
A generic state listener
CheckBox
A Checkbox is a toggle figure which toggles between the checked and unchecked figures to simulate a check box.
ChopboxAnchor
The ChopboxAnchor's location is found by calculating the intersection of a line drawn from the center point of its owner's box to a reference point on that box.
Clickable
A Clickable responds to mouse clicks in some way (determined by a ClickBehavior) and fires action events.
ColorConstants
A collection of color-related constants.
ColorConstants.SystemColorFactory
This utility class is used to create a system `Color` using any of the supported `SWT` constants.
ColorProvider
A collection of color-related constants.
ColorProvider.SystemColorFactory
CompositeBox
A FlowBox that can contain other FlowBoxes.
CompoundBorder
CompoundBorder allows for the nesting of two borders.
CompoundDirectedGraph
A `DirectedGraph` whose Nodes may be compound `Subgraph`s, which may contain other nodes.
CompoundDirectedGraphLayout
Performs a graph layout on a `CompoundDirectedGraph`.
Connection
A Connection is a figure that connects two objects.
ConnectionAnchor
An object to which a `Connection` will be anchored.
ConnectionAnchorBase
Provides support for a ConnectionAnchor.
ConnectionEndpointLocator
Used to place IFigures along the endpoint or starting point of a `Connection`.
ConnectionLayer
Layer designed specifically to handle the presence of connections.
ConnectionLocator
Repositions a `Figure` attached to a `Connection` when the Connection is moved.
ConnectionRouter
Routes a `Connection`, possibly using a constraint.
ConnectionRouter.NullConnectionRouter
Routes Connections directly from the source anchor to the target anchor with no bendpoints in between.
Container
Lightweight Container which just draws the children according to the given layout.
ContentBox
FlowBoxes that are leaf nodes.
CoordinateListener
Cursors
A collection of cursors.
DefaultRangeModel
Generic implementation for a RangeModel.
DeferredUpdateManager
An UpdateManager that asynchronously updates the affected figures.
DelegatingLayout
Figures using a DelegatingLayout as their layout manager give location responsibilities to their children.
Dimension
Stores an integer width and height.
DirectedGraph
A graph consisting of nodes and directed edges.
DirectedGraphLayout
Performs a graph layout of a `DirectedGraph`.
Edge
A directed Edge joining a source and target Node.
EdgeList
A list of `Edge`s.
Ellipse
An figure that draws an ellipse filling its bounds.
EllipseAnchor
Similar to a `ChopboxAnchor`, except this anchor is located on the ellipse defined by the owners bounding box.
EventDispatcher
Listens to various SWT events and dispatches these events to interested Draw2d objects.
EventDispatcher.AccessibilityDispatcher
Combines `AccessibleControlListener` and `AccessibleListener` .
EventListenerList
This class is intended for internal use only.
ExclusionSearch
A `TreeSearch` that excludes figures contained in a `Collection`.
FanRouter
Automatic router that spreads its `Connections` in a fan-like fashion upon collision.
Figure
The base implementation for graphical figures.
Figure.FigureIterator
Deprecated, for removal: This API element is subject to removal in a future version.
use ReverseFigureChildrenIterator instead.
Figure.IdentitySearch
A search which does not filter any figures. since 3.0
Figure.ReverseFigureChildrenIterator
Figure children iterator which implements the java iterator interface for more convenient figure iteration.
FigureCanvas
A scrolling Canvas that contains `Figures` viewed through a `Viewport`.
FigureListener
A listener interface for receiving notification that an IFigure has moved.
FigureUtilities
Provides miscellaneous Figure operations.
FlowAdapter
Adapts non-flow figures for use within a parent hierarchy requiring flow figures.
FlowBorder
Experimental API.
FlowBox
A Geometric object for representing a region on a line of Text.
FlowContainerLayout
A layout for FlowFigures with children.
FlowContext
The context that a `FlowFigureLayout` uses to perform its layout.
FlowFigure
The base implementation for text flow figures.
FlowFigureLayout
A LayoutManager for use with FlowFigure.
FlowLayout
Lays out children in rows or columns, wrapping when the current row/column is filled.
FlowPage
The root of a Flow hierarchy.
FlowUtilities
Utility class for FlowFigures.
FocusBorder
A Border that looks like the system's focus rectangle.
FocusEvent
An event that occurs when an `IFigure` gains or loses focus.
FocusListener
A listener interface for receiving `FocusEvents`.
FocusListener.Stub
An empty implementation of FocusListener for convenience.
FocusTraverseManager
This class is a helper to the `SWTEventDispatcher`.
FrameBorder
Provides for a frame-like border which contains a title bar for holding the title of a Figure.
FreeformFigure
A figure that allows its children to extend into negative coordinates.
FreeformLayer
A Layer that can extend in all 4 directions.
FreeformLayeredPane
A LayeredPane that contains `FreeformLayers`.
FreeformLayout
A layout for `FreeformFigures`.
FreeformListener
Listens for extent changes in `FreeformFigures`.
FreeformViewport
A viewport for `FreeformFigures`.
Geometry
A Utilities class for geometry operations.
GhostImageFigure
A figure used to render a partly transparent copy of an original source figure.
Graphics
The Graphics class allows you to draw to a surface.
GraphicsSource
Provides a `Graphics` object for painting.
GridData
`GridData` is the layout data object associated with `GridLayout`.
GridLayout
Lays out children into a Grid arrangement in which overall aligment and spacing can be configured, as well as specific layout requirements for the each individual member of the GridLayout.
GroupBoxBorder
A labeled border intended to house a Figure with a group of children.
IClippingStrategy
A clipping strategy used to specify the clipping region for child figures.
IFigure
A lightweight graphical object.
IFigure.NoInsets
Insets that are all 0.
IImageFigure
Interface for image figures
IImageFigure.ImageChangedListener
Listener to the image figure to track changes to the containede SWT Image
ImageFigure
A Figure that simply contains an Image.
ImageUtilities
InlineFlow
A `FlowFigure` represented by multiple `LineBox` fragments.
InlineFlowLayout
The layout manager for `InlineFlow` figures.
InputEvent
The base class for Draw2d events.
Insets
Stores four integers for top, left, bottom, and right measurements.
Interval
Represents interval in 1-dimensional space.
IScalablePane
Interface for scaleable panes which provides the default functionality for deciding if a scaled graphics or the given graphics should be used for drawing.
IScalablePane.IScalablePaneHelper
IScrollableFigure
Interface to stereotype those figures that contain a ScrollPane with a nested Viewport.
KeyEvent
An event caused by the user interacting with the keyboard.
KeyListener
A listener interface for receiving `KeyEvents` from the keyboard.
KeyListener.Stub
An empty implementation of KeyListener for convenience.
Label
A figure that can display text and/or an image.
LabelAnchor
LabelAnchors must have an owner of type `Label`.
LabeledBorder
LabeledBorders have a text message somewhere on them.
LabeledContainer
A Container with a title bar describing the contents of the container.
Layer
A transparent figure intended to be added exclusively to a `LayeredPane`, who has the responsibilty of managing its layers.
LayeredPane
A figure capable of holding any number of layers.
LayoutAnimator
Animates the layout of a figure's children.
LayoutListener
Classes which implement this interface provide callback hooks for various layout related events.
LayoutListener.Stub
A stub implementation which implements all of the declared methods.
LayoutManager
A helper for positioning child figures and determining the ideal size for a figure with children.
LightweightSystem
The LightweightSystem is the link between SWT and Draw2d.
LineBorder
Provides for a line border with sides of equal widths.
LineBox
LineRoot
LineRoot is the top-most container on a line of text displayed in Draw2d.
Locator
Controls the location of an IFigure.
ManhattanConnectionRouter
Provides a `Connection` with an orthogonal route between the Connection's source and target anchors.
MarginBorder
A border that provides blank padding.
MidpointLocator
A ConnectionLocator that is used to place figures at the midpoint between two points on a `Connection`.
MouseEvent
An event caused by the user interacting with the mouse.
MouseListener
A listener interface for receiving mouse button events.
MouseListener.Stub
An empty implementation of MouseListener for convenience.
MouseMotionListener
A listener interface for receiving mouse motion events.
MouseMotionListener.Stub
An empty implementation of MouseMotionListener for convenience.
MouseWheelListener
A listener interface for receiving mouse wheel events.
MultiLineLabel
A widget for displaying a multi-line string.
NativeGraphicsSource
A graphics source that posts a paint request to the control rather than constructing GC on it directly.
NestedLine
Node
A node in a DirectedGraph.
NodeList
A list containing nodes.
OrderedLayout
Abstract superclass for layout managers that arrange their children in columns/rows.
Orientable
An interface for objects that can be either horizontally or vertically oriented.
PageFlowLayout
A block layout which requires no FlowContext to perform its layout.
Panel
A General purpose Container.
ParagraphTextLayout
The layout for `TextFlow`.
Path
A Path representation for the ShortestPathRouting.
Point
Represents a point (x, y) in 2-dimensional space.
PointList
Represents a List of Points.
Polygon
Renders a `PointList` as a polygonal shape.
PolygonDecoration
A rotatable, polygon shaped decoration most commonly used for decorating the ends of `polylines`.
PolygonShape
Renders a `PointList` as a polygonal shape.
Polyline
Renders a `PointList` as a series of line segments.
PolylineConnection
An implementation of `Connection` based on Polyline.
PolylineDecoration
A decorative Figure intended to be placed on a `Polyline`.
PolylineShape
Renders a `PointList` as a series of line segments.
PopUpHelper
Provides abstract support for classes that manage popups.
PositionConstants
Constants representing cardinal directions and relative positions.
PrecisionDimension
PrecisionGeometry
A Utilities class for precise geometry calculations.
PrecisionPoint
PrecisionPointList
A PointList implementation using floating point values.
PrecisionRectangle
A Rectangle implementation using floating point values which are truncated into the inherited integer fields.
PrinterGraphics
A scalable graphics object used to print to a printer.
PrintFigureOperation
Class responsible for printing Figures.
PrintOperation
Implementation of draw2d's printing capabilities.
PuristicScrollPane
A `ScrollPane` with transparent `ScrollBar`s.
RangeModel
This interface represents a range of possible values as well as the current values.
Rank
For Internal Use only.
RankList
For internal use only.
Ray
Deprecated, for removal: This API element is subject to removal in a future version.
Use `Vector` instead, which offers double precision instead of integer precision.
Rectangle
Represents a Rectangle(x, y, width, height).
RectangleFigure
Draws a rectangle whose size is determined by the bounds set to it.
RelativeBendpoint
RelativeBendpoint is a Bendpoint that calculates its location based on its distance from the start and end points of the `Connection`, as well as its weight.
RelativeLocator
Places a handle relative to a figure's bounds.
RotatableDecoration
An IFigure that can be rotated.
RoundedRectangle
Draws a Rectangle whose corners are rounded in appearance.
RoundedRectangleAnchor
Anchor for rounded rectangles which is always on a line between the center and the reference point.
RoutingAnimator
Animates the routing of a connection.
RoutingListener
Classes which implement this interface provide callback hooks for various routing related events.
RoutingListener.Stub
A stub implementation which implements all required methods.
ScalableFigure
A figure that can be scaled.
ScalableFreeformLayeredPane
ScalableLayeredPane
A non-freeform, scalable layered pane.
ScalableLightweightSystem
Custom lightweight-system that is used in combination with the `draw2d.enableAutoscale` environment variable.
ScalablePolygonShape
Renders a `PointList` as a polygonal shape scaled in accordance with bounds to fill whole figure.
ScaledGraphics
A Graphics object able to scale all operations based on the current scale factor.
ScaledGraphics.State
The internal state of the scaled graphics.
SchemeBorder
SchemeBorder allows the creation of borders based on `Schemes`.
SchemeBorder.Scheme
Holds a set of information about a border, which can be changed to create a wide range of schemes.
SchemeBorder.SCHEMES
Interface which defines some commonly used schemes for the border.
ScrollableThumbnail
A scaled image representation of a Figure.
ScrollBar
Provides for the scrollbars used by the `ScrollPane`.
ScrollBarLayout
Lays out the Figures that make up a ScrollBar.
ScrollPane
A class which implements automatic horizontal and/or vertical scrolling for a single IFigure child.
ScrollPaneLayout
The ScrollPaneLayout is responsible for laying out the `Viewport` and `ScrollBars` of a `ScrollPane`.
ScrollPaneSolver
This class handles the calculation of solving for the area of a `ScrollPane`'s viewport and insets.
ScrollPaneSolver.Result
Container class for the results of ScrollPaneSolver's solve method
SeparatorBorder
This border behaves similar to a `LineBorder` with width `1`, except that individual sides are drawn.
Shape
Provides abstract support for a variety of shapes.
ShortestPathConnectionRouter
Routes multiple connections around the children of a given container figure.
ShortestPathRouter
Bends a collection of `Paths` around rectangular obstacles.
SimpleEtchedBorder
Provides a two pixel wide constant sized border, having an etched look.
SimpleLoweredBorder
Provides a lowered border.
SimpleRaisedBorder
Provides a raised border.
SimpleTextLayout
StackLayout
Figures using the StackLayout as their layout manager have their children placed on top of one another.
Straight
Represents a straight line within 2-dimensional Euclidean space.
Subgraph
A Node which may contain other nodes.
SubordinateUpdateManager
Deprecated.
this class is not used
SWTEventDispatcher
The SWTEventDispatcher provides draw2d with the ability to dispatch SWT Events.
SWTGraphics
A concrete implementation of `Graphics` using an SWT `GC`.
TextFlow
An inline flow figure that renders a string of text across one or more lines.
TextFragmentBox
A Geometric object for representing a TextFragment region on a line of Text.
TextLayout
TextUtilities
Provides miscellaneous text operations.
Thumbnail
A Thumbnail is a Figure that displays an image of its source Figure at a smaller size.
TitleBarBorder
Border provides a title bar on the Figure for which this is the border of.
Toggle
Basic Rule for Toggle: Whoever creates the toggle is reponsible for response changes for it (selection, rollover, etc).
ToggleButton
A Toggle that appears like a 3-dimensional button.
ToggleModel
ButtonModel that supports toggle buttons.
ToolbarLayout
Arranges figures in a single row or column.
ToolTipHelper
This class is used by SWTEventDispatcher as support to display Figure tooltips on a mouse hover event.
Transform
Provides support for transformations of scaling, translation and rotation.
Translatable
A translatable object can be translated (or moved) vertically and/or horizontally.
Transposer
Conditionally transposes geometrical objects based on an "enabled" flag.
TreeSearch
A helper used in depth-first searches of a figure subgraph.
Triangle
A triangular graphical figure.
UpdateListener
An interface used to notify listeners that the listened to object is updating.
UpdateListener.Stub
An empty implementation of `UpdateListener` for convenience.
UpdateManager
Update managers handle the job of laying out and repainting figures.
Vector
Represents a vector within 2-dimensional Euclidean space.
Viewport
A Viewport is a flexible window onto a `ScrollPane` and represents the visible portion of the ScrollPane.
ViewportAwareConnectionLayerClippingStrategy
Clipping strategy for connection layer, which takes into account nested view ports and truncates those parts of connections which reach outside and are thus not visible.
ViewportLayout
Layout for a viewport.
ViewportUtilities
Utility class to support working with `Viewport`s.
VirtualNode
Deprecated.
virtual nodes of an edge should be cast to Node.
XYAnchor
Supports an anchor in the XY layout.
XYLayout
This class implements the `LayoutManager` interface using the XY Layout algorithm.