blob: 88b292a5b48f09cc4242c72955f946cb131e4500 [file] [log] [blame]
/*
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.designer.utils;
import org.jetbrains.annotations.Nullable;
import java.awt.*;
/**
* @author Alexander Lobas
*/
public final class Cursors {
public static final Cursor RESIZE_ALL = Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR);
public static final Cursor CROSS = Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR);
public static Cursor NO_CURSOR;
public static Cursor getSystemNoCursor() {
try {
return Cursor.getSystemCustomCursor("MoveNoDrop.32x32");
}
catch (Exception ex) {
return Cursor.getDefaultCursor();
}
}
// TODO: all platform???
public static Cursor getNoCursor() {
if (NO_CURSOR == null) {
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.createImage(Cursors.class.getResource("no-cursor.gif"));
NO_CURSOR = toolkit.createCustomCursor(image, new Point(), "No_Cursor");
}
return NO_CURSOR;
}
// TODO: replace on better cursor (self image)
public static Cursor getMoveCursor() {
try {
return Cursor.getSystemCustomCursor("MoveDrop.32x32");
}
catch (Exception ex) {
return Cursor.getDefaultCursor();
}
}
// TODO: replace on better cursor (self image)
public static Cursor getCopyCursor() {
try {
return Cursor.getSystemCustomCursor("CopyDrop.32x32");
}
catch (Exception ex) {
return Cursor.getDefaultCursor();
}
}
@Nullable
public static Cursor getResizeCursor(int direction) {
int cursor;
if (direction == Position.NORTH_WEST) {
cursor = Cursor.NW_RESIZE_CURSOR;
}
else if (direction == Position.NORTH) {
cursor = Cursor.N_RESIZE_CURSOR;
}
else if (direction == Position.NORTH_EAST) {
cursor = Cursor.NE_RESIZE_CURSOR;
}
else if (direction == Position.WEST) {
cursor = Cursor.W_RESIZE_CURSOR;
}
else if (direction == Position.EAST) {
cursor = Cursor.E_RESIZE_CURSOR;
}
else if (direction == Position.SOUTH_WEST) {
cursor = Cursor.SW_RESIZE_CURSOR;
}
else if (direction == Position.SOUTH) {
cursor = Cursor.S_RESIZE_CURSOR;
}
else if (direction == Position.SOUTH_EAST) {
cursor = Cursor.SE_RESIZE_CURSOR;
}
else {
return null;
}
return Cursor.getPredefinedCursor(cursor);
}
}