Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.swt.graphics
Class Cursor

    java.lang.Object
      org.eclipse.swt.graphics.Cursor

public final class Cursor
extends Object

Instances of this class manage operating system resources that specify the appearance of the on-screen pointer. To create a cursor you specify the device and either a simple cursor style describing one of the standard operating system provided cursors or the image and mask data for the desired appearance.

Application code must explicitly invoke the `Cursor.dispose()` method to release the operating system resources managed by each instance when those instances are no longer required.

Styles:
  CURSOR_ARROW, CURSOR_WAIT, CURSOR_CROSS, CURSOR_APPSTARTING, CURSOR_HELP, CURSOR_SIZEALL, CURSOR_SIZENESW, CURSOR_SIZENS, CURSOR_SIZENWSE, CURSOR_SIZEWE, CURSOR_SIZEN, CURSOR_SIZES, CURSOR_SIZEE, CURSOR_SIZEW, CURSOR_SIZENE, CURSOR_SIZESE, CURSOR_SIZESW, CURSOR_SIZENW, CURSOR_UPARROW, CURSOR_IBEAM, CURSOR_NO, CURSOR_HAND

Note: Only one of the above styles may be specified.

Field Summary
`int` | `handle` the handle to the OS cursor resource (Warning: This field is platform dependent)

Constructor Summary
`Cursor(Device device, ImageData source, ImageData mask, int hotspotX, int hotspotY)` Constructs a new cursor given a device, image and mask data describing the desired cursor appearance, and the x and y coordinates of the hotspot (that is, the point within the area covered by the cursor which is considered to be where the on-screen pointer is "pointing").
`Cursor(Device device, ImageData source, int hotspotX, int hotspotY)` Constructs a new cursor given a device, image data describing the desired cursor appearance, and the x and y coordinates of the hotspot (that is, the point within the area covered by the cursor which is considered to be where the on-screen pointer is "pointing").
`Cursor(Device device, int style)` Constructs a new cursor given a device and a style constant describing the desired cursor appearance.

Method Summary
`void` | `dispose()` Disposes of the operating system resources associated with the cursor.
`boolean` | `equals(Object object)` Compares the argument to the receiver, and returns true if they represent the same object using a class specific comparison.
`int` | `hashCode()` Returns an integer hash code for the receiver.
`boolean` | `isDisposed()` Returns `true` if the cursor has been disposed, and `false` otherwise.
`String` | `toString()` Returns a string containing a concise, human-readable description of the receiver.
`static Cursor` | `win32_new(Device device, int handle)` Invokes platform specific functionality to allocate a new cursor.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### handle

    public int handle

  the handle to the OS cursor resource (Warning: This field is platform dependent)

Constructor Detail

### Cursor

    public Cursor(Device device,
                  int style)

  Constructs a new cursor given a device and a style constant describing the desired cursor appearance.

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

Parameters:
  `device` - the device on which to allocate the cursor
  `style` - the style of cursor to allocate
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if device is null and there is no current device
  - ERROR_INVALID_ARGUMENT - when an unknown style is specified
  `SWTError` -
  - ERROR_NO_HANDLES - if a handle could not be obtained for cursor creation
See Also:
  `SWT.CURSOR_ARROW`, `SWT.CURSOR_WAIT`, `SWT.CURSOR_CROSS`, `SWT.CURSOR_APPSTARTING`, `SWT.CURSOR_HELP`, `SWT.CURSOR_SIZEALL`, `SWT.CURSOR_SIZENESW`, `SWT.CURSOR_SIZENS`, `SWT.CURSOR_SIZENWSE`, `SWT.CURSOR_SIZEWE`, `SWT.CURSOR_SIZEN`, `SWT.CURSOR_SIZES`, `SWT.CURSOR_SIZEE`, `SWT.CURSOR_SIZEW`, `SWT.CURSOR_SIZENE`, `SWT.CURSOR_SIZESE`, `SWT.CURSOR_SIZESW`, `SWT.CURSOR_SIZENW`, `SWT.CURSOR_UPARROW`, `SWT.CURSOR_IBEAM`, `SWT.CURSOR_NO`, `SWT.CURSOR_HAND`

### Cursor

    public Cursor(Device device,
                  ImageData source,
                  ImageData mask,
                  int hotspotX,
                  int hotspotY)

  Constructs a new cursor given a device, image and mask data describing the desired cursor appearance, and the x and y coordinates of the hotspot (that is, the point within the area covered by the cursor which is considered to be where the on-screen pointer is "pointing").

  The mask data is allowed to be null, but in this case the source must be an ImageData representing an icon that specifies both color data and mask data.

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

Parameters:
  `device` - the device on which to allocate the cursor
  `source` - the color data for the cursor
  `mask` - the mask data for the cursor (or null)
  `hotspotX` - the x coordinate of the cursor's hotspot
  `hotspotY` - the y coordinate of the cursor's hotspot
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if device is null and there is no current device
  - ERROR_NULL_ARGUMENT - if the source is null
  - ERROR_NULL_ARGUMENT - if the mask is null and the source does not have a mask
  - ERROR_INVALID_ARGUMENT - if the source and the mask are not the same size, or either is not of depth one, or if the hotspot is outside the bounds of the image
  `SWTError` -
  - ERROR_NO_HANDLES - if a handle could not be obtained for cursor creation

### Cursor

    public Cursor(Device device,
                  ImageData source,
                  int hotspotX,
                  int hotspotY)

  Constructs a new cursor given a device, image data describing the desired cursor appearance, and the x and y coordinates of the hotspot (that is, the point within the area covered by the cursor which is considered to be where the on-screen pointer is "pointing").

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

Parameters:
  `device` - the device on which to allocate the cursor
  `source` - the image data for the cursor
  `hotspotX` - the x coordinate of the cursor's hotspot
  `hotspotY` - the y coordinate of the cursor's hotspot
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if device is null and there is no current device
  - ERROR_NULL_ARGUMENT - if the image is null
  - ERROR_INVALID_ARGUMENT - if the hotspot is outside the bounds of the image
  `SWTError` -
  - ERROR_NO_HANDLES - if a handle could not be obtained for cursor creation
Since:
  3.0

Method Detail

### dispose

    public void dispose()

  Disposes of the operating system resources associated with the cursor. Applications must dispose of all cursors which they allocate.

### equals

    public boolean equals(Object object)

  Compares the argument to the receiver, and returns true if they represent the same object using a class specific comparison.

  Parameters:
    `object` - the object to compare with this object
  Returns:
    `true` if the object is the same as this object and `false` otherwise
  See Also:
    `hashCode()`

### hashCode

    public int hashCode()

  Returns an integer hash code for the receiver. Any two objects which return `true` when passed to `equals` must return the same value for this method.

  Returns:
    the receiver's hash
  See Also:
    `equals(java.lang.Object)`

### isDisposed

    public boolean isDisposed()

  Returns `true` if the cursor has been disposed, and `false` otherwise.

  This method gets the dispose state for the cursor. When a cursor has been disposed, it is an error to invoke any other method using the cursor.

  Returns:
    `true` when the cursor is disposed and `false` otherwise

### toString

    public String toString()

  Returns a string containing a concise, human-readable description of the receiver.

  Returns:
    a string representation of the receiver

### win32_new

    public static Cursor win32_new(Device device,
                                   int handle)

  Invokes platform specific functionality to allocate a new cursor.

  IMPORTANT: This method is not part of the public API for `Cursor`. 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 called from application code.

  Parameters:
    `device` - the device on which to allocate the color
    `handle` - the handle for the cursor
  Returns:
    a new cursor object containing the specified device and handle

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.