/* Copyright (C) 2000 Free Software Foundation This file is part of libgcj. This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ package java.awt; /* A somewhat incomplete placeholder. */ public class Cursor implements java.io.Serializable { public static final int DEFAULT_CURSOR = 0, CROSSHAIR_CURSOR = 1, TEXT_CURSOR = 2, WAIT_CURSOR = 3, SW_RESIZE_CURSOR = 4, SE_RESIZE_CURSOR = 5, NW_RESIZE_CURSOR = 6, NE_RESIZE_CURSOR = 7, N_RESIZE_CURSOR = 8, S_RESIZE_CURSOR = 9, W_RESIZE_CURSOR = 10, E_RESIZE_CURSOR = 11, HAND_CURSOR = 12, MOVE_CURSOR = 13, CUSTOM_CURSOR = 0xFFFFFFFF; private static final int PREDEFINED_COUNT = 14; protected static Cursor[] predefined = new Cursor[PREDEFINED_COUNT]; protected String name; int type; public Cursor(int type) { if (type < 0 || type >= PREDEFINED_COUNT) throw new IllegalArgumentException ("invalid cursor " + type); this.type = type; // FIXME: lookup and set name? } /** This constructor is used internally only. * Application code should call Toolkit.createCustomCursor(). */ protected Cursor(String name) { this.name = name; this.type = CUSTOM_CURSOR; } public static Cursor getPredefinedCursor(int type) { if (type < 0 || type >= PREDEFINED_COUNT) throw new IllegalArgumentException ("invalid cursor " + type); if (predefined[type] == null) predefined[type] = new Cursor(type); return predefined[type]; } public static Cursor getSystemCustomCursor(String name) throws AWTException { // FIXME return null; } public static Cursor getDefaultCursor() { return getPredefinedCursor(0); } public int getType() { return type; } public String getName() { return name; } public String toString() { return (this.getClass() + "[" + getName() + "]"); } }