Class Path
Application code must explicitly invoke the Path.dispose()
method to release the operating system resources managed by each instance
when those instances are no longer required.
This class requires the operating system's advanced graphics subsystem which may not be available on some platforms.
- Since:
- 3.1
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionlong
the OS resource for the Path (Warning: This field is platform dependent) -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addArc
(float x, float y, float width, float height, float startAngle, float arcAngle) Adds to the receiver a circular or elliptical arc that lies within the specified rectangular area.void
Adds to the receiver the path described by the parameter.void
addRectangle
(float x, float y, float width, float height) Adds to the receiver the rectangle specified by x, y, width and height.void
Adds to the receiver the pattern of glyphs generated by drawing the given string using the given font starting at the point (x, y).void
close()
Closes the current sub path by adding to the receiver a line from the current point of the path back to the starting point of the sub path.boolean
Returnstrue
if the specified point is contained by the receiver and false otherwise.void
cubicTo
(float cx1, float cy1, float cx2, float cy2, float x, float y) Adds to the receiver a cubic bezier curve based on the parameters.void
getBounds
(float[] bounds) Replaces the first four elements in the parameter with values that describe the smallest rectangle that will completely contain the receiver (i.e. the bounding box).void
getCurrentPoint
(float[] point) Replaces the first two elements in the parameter with values that describe the current point of the path.Returns a device independent representation of the receiver.boolean
Returnstrue
if the Path has been disposed, andfalse
otherwise.void
lineTo
(float x, float y) Adds to the receiver a line from the current point to the point specified by (x, y).void
moveTo
(float x, float y) Sets the current point of the receiver to the point specified by (x, y).void
quadTo
(float cx, float cy, float x, float y) Adds to the receiver a quadratic curve based on the parameters.toString()
Returns a string containing a concise, human-readable description of the receiver.Methods inherited from class org.eclipse.swt.graphics.Resource
dispose, getDevice, setNonDisposeHandler
-
Field Details
-
handle
public long handlethe OS resource for the Path (Warning: This field is platform dependent)IMPORTANT: This field is not part of the SWT public API. It is marked public only so that it can be shared within the packages provided by SWT. It is not available on all platforms and should never be accessed from application code.
- Restriction:
- This field is not intended to be referenced by clients.
-
-
Constructor Details
-
Path
Constructs a new empty Path.This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
You must dispose the path when it is no longer required.
- Parameters:
device
- the device on which to allocate the path- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the device is null and there is no current device
SWTException
-- ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
SWTError
-- ERROR_NO_HANDLES if a handle for the path could not be obtained
- See Also:
-
Path
Constructs a new Path that is a copy ofpath
. Ifflatness
is less than or equal to zero, an unflatten copy of the path is created. Otherwise, it specifies the maximum error between the path and its flatten copy. Smaller numbers give better approximation.This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
You must dispose the path when it is no longer required.
- Parameters:
device
- the device on which to allocate the pathpath
- the path to make a copyflatness
- the flatness value- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the device is null and there is no current device
- ERROR_NULL_ARGUMENT - if the path is null
- ERROR_INVALID_ARGUMENT - if the path has been disposed
SWTException
-- ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
SWTError
-- ERROR_NO_HANDLES if a handle for the path could not be obtained
- Since:
- 3.4
- See Also:
-
Path
Constructs a new Path with the specified PathData.This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
You must dispose the path when it is no longer required.
- Parameters:
device
- the device on which to allocate the pathdata
- the data for the path- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the device is null and there is no current device
- ERROR_NULL_ARGUMENT - if the data is null
SWTException
-- ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
SWTError
-- ERROR_NO_HANDLES if a handle for the path could not be obtained
- Since:
- 3.4
- See Also:
-
-
Method Details
-
addArc
public void addArc(float x, float y, float width, float height, float startAngle, float arcAngle) Adds to the receiver a circular or elliptical arc that lies within the specified rectangular area.The resulting arc begins at
startAngle
and extends forarcAngle
degrees. Angles are interpreted such that 0 degrees is at the 3 o'clock position. A positive value indicates a counter-clockwise rotation while a negative value indicates a clockwise rotation.The center of the arc is the center of the rectangle whose origin is (
x
,y
) and whose size is specified by thewidth
andheight
arguments.The resulting arc covers an area
width + 1
points wide byheight + 1
points tall.- Parameters:
x
- the x coordinate of the upper-left corner of the arcy
- the y coordinate of the upper-left corner of the arcwidth
- the width of the archeight
- the height of the arcstartAngle
- the beginning anglearcAngle
- the angular extent of the arc, relative to the start angle- Throws:
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
-
addPath
Adds to the receiver the path described by the parameter.- Parameters:
path
- the path to add to the receiver- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the parameter is null
- ERROR_INVALID_ARGUMENT - if the parameter has been disposed
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
-
addRectangle
public void addRectangle(float x, float y, float width, float height) Adds to the receiver the rectangle specified by x, y, width and height.- Parameters:
x
- the x coordinate of the rectangle to addy
- the y coordinate of the rectangle to addwidth
- the width of the rectangle to addheight
- the height of the rectangle to add- Throws:
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
-
addString
Adds to the receiver the pattern of glyphs generated by drawing the given string using the given font starting at the point (x, y).- Parameters:
string
- the text to usex
- the x coordinate of the starting pointy
- the y coordinate of the starting pointfont
- the font to use- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the font is null
- ERROR_INVALID_ARGUMENT - if the font has been disposed
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
-
close
public void close()Closes the current sub path by adding to the receiver a line from the current point of the path back to the starting point of the sub path.- Throws:
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
-
contains
Returnstrue
if the specified point is contained by the receiver and false otherwise.If outline is
true
, the point (x, y) checked for containment in the receiver's outline. If outline isfalse
, the point is checked to see if it is contained within the bounds of the (closed) area covered by the receiver.- Parameters:
x
- the x coordinate of the point to test for containmenty
- the y coordinate of the point to test for containmentgc
- the GC to use when testing for containmentoutline
- controls whether to check the outline or contained area of the path- Returns:
true
if the path contains the point andfalse
otherwise- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the gc is null
- ERROR_INVALID_ARGUMENT - if the gc has been disposed
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
-
cubicTo
public void cubicTo(float cx1, float cy1, float cx2, float cy2, float x, float y) Adds to the receiver a cubic bezier curve based on the parameters.- Parameters:
cx1
- the x coordinate of the first control point of the splinecy1
- the y coordinate of the first control of the splinecx2
- the x coordinate of the second control of the splinecy2
- the y coordinate of the second control of the splinex
- the x coordinate of the end point of the spliney
- the y coordinate of the end point of the spline- Throws:
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
-
getBounds
public void getBounds(float[] bounds) Replaces the first four elements in the parameter with values that describe the smallest rectangle that will completely contain the receiver (i.e. the bounding box).- Parameters:
bounds
- the array to hold the result- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the parameter is null
- ERROR_INVALID_ARGUMENT - if the parameter is too small to hold the bounding box
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
-
getCurrentPoint
public void getCurrentPoint(float[] point) Replaces the first two elements in the parameter with values that describe the current point of the path.- Parameters:
point
- the array to hold the result- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the parameter is null
- ERROR_INVALID_ARGUMENT - if the parameter is too small to hold the end point
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
-
getPathData
Returns a device independent representation of the receiver.- Returns:
- the PathData for the receiver
- Throws:
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
- See Also:
-
lineTo
public void lineTo(float x, float y) Adds to the receiver a line from the current point to the point specified by (x, y).- Parameters:
x
- the x coordinate of the end of the line to addy
- the y coordinate of the end of the line to add- Throws:
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
-
isDisposed
public boolean isDisposed()Returnstrue
if the Path has been disposed, andfalse
otherwise.This method gets the dispose state for the Path. When a Path has been disposed, it is an error to invoke any other method (except
Resource.dispose()
) using the Path.- Specified by:
isDisposed
in classResource
- Returns:
true
when the Path is disposed, andfalse
otherwise
-
moveTo
public void moveTo(float x, float y) Sets the current point of the receiver to the point specified by (x, y). Note that this starts a new sub path.- Parameters:
x
- the x coordinate of the new end pointy
- the y coordinate of the new end point- Throws:
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
-
quadTo
public void quadTo(float cx, float cy, float x, float y) Adds to the receiver a quadratic curve based on the parameters.- Parameters:
cx
- the x coordinate of the control point of the splinecy
- the y coordinate of the control point of the splinex
- the x coordinate of the end point of the spliney
- the y coordinate of the end point of the spline- Throws:
SWTException
-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
-
toString
Returns a string containing a concise, human-readable description of the receiver.
-