public class Transform extends Resource
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.
Modifier and Type | Field and Description |
---|---|
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 and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
(package private) static float[] |
checkTransform(float[] elements) |
(package private) void |
destroy() |
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).
|
java.lang.String |
toString()
Returns a string containing a concise, human-readable
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).
|
public int handle
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.
public Transform(Device device)
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
device
- the device on which to allocate the Transformjava.lang.IllegalArgumentException
- SWTException
- SWTError
- Resource.dispose()
public Transform(Device device, float[] elements)
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
device
- the device on which to allocate the Transformelements
- an array of floats that describe the transformation matrixjava.lang.IllegalArgumentException
- SWTException
- SWTError
- Resource.dispose()
public Transform(Device device, float m11, float m12, float m21, float m22, float dx, float dy)
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
device
- the device on which to allocate the Transformm11
- the first element of the first row of the matrixm12
- the second element of the first row of the matrixm21
- the first element of the second row of the matrixm22
- the second element of the second row of the matrixdx
- the third element of the first row of the matrixdy
- the third element of the second row of the matrixjava.lang.IllegalArgumentException
- SWTException
- SWTError
- Resource.dispose()
static float[] checkTransform(float[] elements)
public void getElements(float[] elements)
elements
- array to hold the matrix valuesSWTException
- java.lang.IllegalArgumentException
- public void identity()
SWTException
- public void invert()
SWTException
- public boolean isDisposed()
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 (except Resource.dispose()
) using the Transform.
isDisposed
in class Resource
true
when the Transform is disposed, and false
otherwisepublic boolean isIdentity()
true
if the Transform represents the identity matrix
and false otherwise.true
if the receiver is an identity Transform, and false
otherwisepublic void multiply(Transform matrix)
matrix
- the matrix to multiply the receiver bySWTException
- java.lang.IllegalArgumentException
- public void rotate(float angle)
angle
- the angle to rotate the transformation bySWTException
- public void scale(float scaleX, float scaleY)
scaleX
- the amount to scale in the X directionscaleY
- the amount to scale in the Y directionSWTException
- public void setElements(float m11, float m12, float m21, float m22, float dx, float dy)
m11
- the first element of the first row of the matrixm12
- the second element of the first row of the matrixm21
- the first element of the second row of the matrixm22
- the second element of the second row of the matrixdx
- the third element of the first row of the matrixdy
- the third element of the second row of the matrixSWTException
- public void shear(float shearX, float shearY)
shearX
- the shear factor in the X directionshearY
- the shear factor in the Y directionSWTException
- public void transform(float[] pointArray)
pointArray
- an array of alternating x and y values to be transformedjava.lang.IllegalArgumentException
- SWTException
- public void translate(float offsetX, float offsetY)
offsetX
- the distance to translate in the X directionoffsetY
- the distance to translate in the Y directionSWTException
- public java.lang.String toString()
toString
in class java.lang.Object