Class Transform
 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:
- 
Constructor SummaryConstructorsConstructorDescriptionConstructs a new identity Transform.Constructs a new Transform given an array of elements that represent the matrix that describes the transformation.Constructs a new Transform given all of the elements that represent the matrix that describes the transformation.
- 
Method SummaryModifier and TypeMethodDescriptionvoidgetElements(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}.voididentity()Modifies the receiver such that the matrix it represents becomes the identity matrix.voidinvert()Modifies the receiver such that the matrix it represents becomes the mathematical inverse of the matrix it previously represented.booleanReturnstrueif the Transform has been disposed, andfalseotherwise.booleanReturnstrueif the Transform represents the identity matrix and false otherwise.voidModifies the receiver such that the matrix it represents becomes the the result of multiplying the matrix it previously represented by the argument.voidrotate(float angle) Modifies the receiver so that it represents a transformation that is equivalent to its previous transformation rotated by the specified angle.voidscale(float scaleX, float scaleY) Modifies the receiver so that it represents a transformation that is equivalent to its previous transformation scaled by (scaleX, scaleY).voidsetElements(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.voidshear(float shearX, float shearY) Modifies the receiver so that it represents a transformation that is equivalent to its previous transformation sheared by (shearX, shearY).toString()Returns a string containing a concise, human-readable description of the receiver.voidtransform(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.voidtranslate(float offsetX, float offsetY) Modifies the receiver so that it represents a transformation that is equivalent to its previous transformation translated by (offsetX, offsetY).Methods inherited from class org.eclipse.swt.graphics.Resourcedispose, getDevice, setNonDisposeHandler
- 
Constructor Details- 
TransformConstructs a new identity Transform.This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms. You must dispose the transform when it is no longer required. - 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:
 
- 
TransformConstructs 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. You must dispose the transform when it is no longer required. - 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:
 
- 
TransformConstructs 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. You must dispose the transform when it is no longer required. - 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:
 
 
- 
- 
Method Details- 
getElementspublic 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
 
 
- 
identitypublic 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
 
- 
invertpublic 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
 
 
- 
isDisposedpublic boolean isDisposed()Returnstrueif the Transform has been disposed, andfalseotherwise.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.- Specified by:
- isDisposedin class- Resource
- Returns:
- truewhen the Transform is disposed, and- falseotherwise
 
- 
isIdentitypublic boolean isIdentity()Returnstrueif the Transform represents the identity matrix and false otherwise.- Returns:
- trueif the receiver is an identity Transform, and- falseotherwise
 
- 
multiplyModifies 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
 
 
- 
rotatepublic 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 counter-clockwise rotation.- Parameters:
- angle- the angle to rotate the transformation by
- Throws:
- SWTException-- ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
 
 
- 
scalepublic 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
 
 
- 
setElementspublic 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
 
 
- 
shearpublic 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
 
- 
transformpublic 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
 
 
- 
translatepublic 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
 
 
- 
toStringReturns a string containing a concise, human-readable description of the receiver.
 
-