



org.eclipse.swt.graphics
Class Transform
java.lang.Object
org.eclipse.swt.graphics.Resource
org.eclipse.swt.graphics.Transform

public class Transform
 extends
Resource
Instances of this class represent transformation matrices for
points expressed as (x, y) pairs of floating point numbers.
Application code must explicitly invoke the Transform.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:

SWT Example: GraphicsExample,
Sample code and further information
Field Summary

int

handle
the OS resource for the Transform
(Warning: This field is platform dependent)
IMPORTANT: This field is not part of the SWT
public API. 
Constructor Summary

Transform
(
Device device)
Constructs a new identity Transform. 
Transform
(
Device device,
float[] elements)
Constructs a new Transform given an array of elements that represent the
matrix that describes the transformation. 
Transform
(
Device device,
float m11,
float m12,
float m21,
float m22,
float dx,
float dy)
Constructs a new Transform given all of the elements that represent the
matrix that describes the transformation. 
Method Summary

void

getElements
(float[] elements)
Fills the parameter with the values of the transformation matrix
that the receiver represents, in the order {m11, m12, m21, m22, dx, dy}. 
void

identity
()
Modifies the receiver such that the matrix it represents becomes the
identity matrix. 
void

invert
()
Modifies the receiver such that the matrix it represents becomes
the mathematical inverse of the matrix it previously represented. 
boolean

isDisposed
()
Returns true if the Transform has been disposed,
and false otherwise. 
boolean

isIdentity
()
Returns true if the Transform represents the identity matrix
and false otherwise. 
void

multiply
(
Transform matrix)
Modifies the receiver such that the matrix it represents becomes the
the result of multiplying the matrix it previously represented by the
argument. 
void

rotate
(float angle)
Modifies the receiver so that it represents a transformation that is
equivalent to its previous transformation rotated by the specified angle. 
void

scale
(float scaleX,
float scaleY)
Modifies the receiver so that it represents a transformation that is
equivalent to its previous transformation scaled by (scaleX, scaleY). 
void

setElements
(float m11,
float m12,
float m21,
float m22,
float dx,
float dy)
Modifies the receiver to represent a new transformation given all of
the elements that represent the matrix that describes that transformation. 
void

shear
(float shearX,
float shearY)
Modifies the receiver so that it represents a transformation that is
equivalent to its previous transformation sheared by (shearX, shearY). 
String

toString
()
Returns a string containing a concise, humanreadable
description of the receiver. 
void

transform
(float[] pointArray)
Given an array containing points described by alternating x and y values,
modify that array such that each point has been replaced with the result of
applying the transformation represented by the receiver to that point. 
void

translate
(float offsetX,
float offsetY)
Modifies the receiver so that it represents a transformation that is
equivalent to its previous transformation translated by (offsetX, offsetY). 
handle
public int handle
 the OS resource for the Transform
(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.
Transform
public Transform(
Device device)
 Constructs a new identity Transform.
This operation requires the operating system's advanced
graphics subsystem which may not be available on some
platforms.

Parameters:

device  the device on which to allocate the Transform

Throws:

IllegalArgumentException

 ERROR_NULL_ARGUMENT  if 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 Transform could not be obtained

See Also:

Resource.dispose()
Transform
public Transform(
Device device,
float[] elements)
 Constructs a new Transform given an array of elements that represent the
matrix that describes the transformation.
This operation requires the operating system's advanced
graphics subsystem which may not be available on some
platforms.

Parameters:

device  the device on which to allocate the Transform 
elements  an array of floats that describe the transformation matrix

Throws:

IllegalArgumentException

 ERROR_NULL_ARGUMENT  if device is null and there is no current device, or the elements array is null
 ERROR_INVALID_ARGUMENT  if the elements array is too small to hold the matrix values

SWTException

 ERROR_NO_GRAPHICS_LIBRARY  if advanced graphics are not available

SWTError

 ERROR_NO_HANDLES if a handle for the Transform could not be obtained

See Also:

Resource.dispose()
Transform
public Transform(
Device device,
float m11,
float m12,
float m21,
float m22,
float dx,
float dy)
 Constructs a new Transform given all of the elements that represent the
matrix that describes the transformation.
This operation requires the operating system's advanced
graphics subsystem which may not be available on some
platforms.

Parameters:

device  the device on which to allocate the Transform 
m11  the first element of the first row of the matrix 
m12  the second element of the first row of the matrix 
m21  the first element of the second row of the matrix 
m22  the second element of the second row of the matrix 
dx  the third element of the first row of the matrix 
dy  the third element of the second row of the matrix

Throws:

IllegalArgumentException

 ERROR_NULL_ARGUMENT  if 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 Transform could not be obtained

See Also:

Resource.dispose()
getElements
public void getElements(float[] elements)
 Fills the parameter with the values of the transformation matrix
that the receiver represents, in the order {m11, m12, m21, m22, dx, dy}.


Parameters:

elements  array to hold the matrix values

Throws:

SWTException

 ERROR_GRAPHIC_DISPOSED  if the receiver has been disposed

IllegalArgumentException

 ERROR_NULL_ARGUMENT  if the parameter is null
 ERROR_INVALID_ARGUMENT  if the parameter is too small to hold the matrix values
identity
public void identity()
 Modifies the receiver such that the matrix it represents becomes the
identity matrix.


Throws:

SWTException

 ERROR_GRAPHIC_DISPOSED  if the receiver has been disposed

Since:
 3.4
invert
public void invert()
 Modifies the receiver such that the matrix it represents becomes
the mathematical inverse of the matrix it previously represented.


Throws:

SWTException

 ERROR_GRAPHIC_DISPOSED  if the receiver has been disposed
 ERROR_CANNOT_INVERT_MATRIX  if the matrix is not invertible
isDisposed
public boolean isDisposed()
 Returns
true if the Transform has been disposed,
and false otherwise.
This method gets the dispose state for the Transform.
When a Transform has been disposed, it is an error to
invoke any other method using the Transform.


Specified by:

isDisposed
in class
Resource


Returns:

true when the Transform is disposed, and false otherwise
isIdentity
public boolean isIdentity()
 Returns
true if the Transform represents the identity matrix
and false otherwise.


Returns:

true if the receiver is an identity Transform, and false otherwise
multiply
public void multiply(
Transform matrix)
 Modifies the receiver such that the matrix it represents becomes the
the result of multiplying the matrix it previously represented by the
argument.


Parameters:

matrix  the matrix to multiply the receiver by

Throws:

SWTException

 ERROR_GRAPHIC_DISPOSED  if the receiver has been disposed

IllegalArgumentException

 ERROR_NULL_ARGUMENT  if the parameter is null
 ERROR_INVALID_ARGUMENT  if the parameter has been disposed
rotate
public void rotate(float angle)
 Modifies the receiver so that it represents a transformation that is
equivalent to its previous transformation rotated by the specified angle.
The angle is specified in degrees and for the identity transform 0 degrees
is at the 3 o'clock position. A positive value indicates a clockwise rotation
while a negative value indicates a counterclockwise rotation.


Parameters:

angle  the angle to rotate the transformation by

Throws:

SWTException

 ERROR_GRAPHIC_DISPOSED  if the receiver has been disposed
scale
public void scale(float scaleX,
float scaleY)
 Modifies the receiver so that it represents a transformation that is
equivalent to its previous transformation scaled by (scaleX, scaleY).


Parameters:

scaleX  the amount to scale in the X direction 
scaleY  the amount to scale in the Y direction

Throws:

SWTException

 ERROR_GRAPHIC_DISPOSED  if the receiver has been disposed
setElements
public void setElements(float m11,
float m12,
float m21,
float m22,
float dx,
float dy)
 Modifies the receiver to represent a new transformation given all of
the elements that represent the matrix that describes that transformation.


Parameters:

m11  the first element of the first row of the matrix 
m12  the second element of the first row of the matrix 
m21  the first element of the second row of the matrix 
m22  the second element of the second row of the matrix 
dx  the third element of the first row of the matrix 
dy  the third element of the second row of the matrix

Throws:

SWTException

 ERROR_GRAPHIC_DISPOSED  if the receiver has been disposed
shear
public void shear(float shearX,
float shearY)
 Modifies the receiver so that it represents a transformation that is
equivalent to its previous transformation sheared by (shearX, shearY).


Parameters:

shearX  the shear factor in the X direction 
shearY  the shear factor in the Y direction

Throws:

SWTException

 ERROR_GRAPHIC_DISPOSED  if the receiver has been disposed

Since:
 3.4
transform
public void transform(float[] pointArray)
 Given an array containing points described by alternating x and y values,
modify that array such that each point has been replaced with the result of
applying the transformation represented by the receiver to that point.


Parameters:

pointArray  an array of alternating x and y values to be transformed

Throws:

IllegalArgumentException

 ERROR_NULL_ARGUMENT  if the point array is null

SWTException

 ERROR_GRAPHIC_DISPOSED  if the receiver has been disposed
translate
public void translate(float offsetX,
float offsetY)
 Modifies the receiver so that it represents a transformation that is
equivalent to its previous transformation translated by (offsetX, offsetY).


Parameters:

offsetX  the distance to translate in the X direction 
offsetY  the distance to translate in the Y direction

Throws:

SWTException

 ERROR_GRAPHIC_DISPOSED  if the receiver has been disposed
toString
public
String toString()
 Returns a string containing a concise, humanreadable
description of the receiver.


Overrides:

toString
in class
Object


Returns:
 a string representation of the receiver
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


