Class Pattern


  • public class Pattern
    extends Resource
    Instances of this class represent patterns to use while drawing. Patterns can be specified either as bitmaps or gradients.

    Application code must explicitly invoke the Pattern.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:
    Path, Pattern snippets, SWT Example: GraphicsExample, Sample code and further information
    • Field Detail

      • handle

        public long handle
        the OS resource for the Pattern (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 Detail

      • Pattern

        public Pattern​(Device device,
                       Image image)
        Constructs a new Pattern given an image. Drawing with the resulting pattern will cause the image to be tiled over the resulting area.

        This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.

        You must dispose the pattern when it is no longer required.

        Parameters:
        device - the device on which to allocate the pattern
        image - the image that the pattern will draw
        Throws:
        IllegalArgumentException -
        • ERROR_NULL_ARGUMENT - if the device is null and there is no current device, or the image is null
        • ERROR_INVALID_ARGUMENT - if the image has been disposed
        SWTException -
        • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
        SWTError -
        • ERROR_NO_HANDLES if a handle for the pattern could not be obtained
        See Also:
        Resource.dispose()
      • Pattern

        public Pattern​(Device device,
                       float x1,
                       float y1,
                       float x2,
                       float y2,
                       Color color1,
                       Color color2)
        Constructs a new Pattern that represents a linear, two color gradient. Drawing with the pattern will cause the resulting area to be tiled with the gradient specified by the arguments.

        This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.

        You must dispose the pattern when it is no longer required.

        Parameters:
        device - the device on which to allocate the pattern
        x1 - the x coordinate of the starting corner of the gradient
        y1 - the y coordinate of the starting corner of the gradient
        x2 - the x coordinate of the ending corner of the gradient
        y2 - the y coordinate of the ending corner of the gradient
        color1 - the starting color of the gradient
        color2 - the ending color of the gradient
        Throws:
        IllegalArgumentException -
        • ERROR_NULL_ARGUMENT - if the device is null and there is no current device, or if either color1 or color2 is null
        • ERROR_INVALID_ARGUMENT - if either color1 or color2 has been disposed
        SWTException -
        • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
        SWTError -
        • ERROR_NO_HANDLES if a handle for the pattern could not be obtained
        See Also:
        Resource.dispose()
      • Pattern

        public Pattern​(Device device,
                       float x1,
                       float y1,
                       float x2,
                       float y2,
                       Color color1,
                       int alpha1,
                       Color color2,
                       int alpha2)
        Constructs a new Pattern that represents a linear, two color gradient. Drawing with the pattern will cause the resulting area to be tiled with the gradient specified by the arguments.

        This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.

        You must dispose the pattern when it is no longer required.

        Parameters:
        device - the device on which to allocate the pattern
        x1 - the x coordinate of the starting corner of the gradient
        y1 - the y coordinate of the starting corner of the gradient
        x2 - the x coordinate of the ending corner of the gradient
        y2 - the y coordinate of the ending corner of the gradient
        color1 - the starting color of the gradient
        alpha1 - the starting alpha value of the gradient
        color2 - the ending color of the gradient
        alpha2 - the ending alpha value of the gradient
        Throws:
        IllegalArgumentException -
        • ERROR_NULL_ARGUMENT - if the device is null and there is no current device, or if either color1 or color2 is null
        • ERROR_INVALID_ARGUMENT - if either color1 or color2 has been disposed
        SWTException -
        • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
        SWTError -
        • ERROR_NO_HANDLES if a handle for the pattern could not be obtained
        Since:
        3.2
        See Also:
        Resource.dispose()
    • Method Detail

      • isDisposed

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

        This method gets the dispose state for the Pattern. When a Pattern has been disposed, it is an error to invoke any other method (except Resource.dispose()) using the Pattern.

        Specified by:
        isDisposed in class Resource
        Returns:
        true when the Pattern is disposed, and false otherwise
      • toString

        public String toString()
        Returns a string containing a concise, human-readable description of the receiver.
        Overrides:
        toString in class Object
        Returns:
        a string representation of the receiver