/* * Copyright 2011 Uwe Krueger. * * 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.mandelsoft.swing; import java.awt.Cursor; import java.awt.Point; import java.awt.geom.Rectangle2D; /** * * @author Uwe Krüger */ public class Corner extends RectanglePoint { public static final Corner TOP_LEFT=new Corner("TopLeft", 0, 0, Cursor.NW_RESIZE_CURSOR); public static final Corner TOP_RIGHT=new Corner("TopRight", 1, 0, Cursor.NE_RESIZE_CURSOR); public static final Corner BOTTOM_RIGHT=new Corner("BottomRight", 1, 1, Cursor.SE_RESIZE_CURSOR); public static final Corner BOTTOM_LEFT=new Corner("BottomLeft", 0, 1, Cursor.SW_RESIZE_CURSOR); static { CornerSideCrossLink.setup(); } static void setup() { TOP_LEFT.setup(BOTTOM_RIGHT, Side.LEFT, Side.TOP); TOP_RIGHT.setup(BOTTOM_LEFT, Side.TOP, Side.RIGHT); BOTTOM_RIGHT.setup(TOP_LEFT, Side.RIGHT, Side.BOTTOM); BOTTOM_LEFT.setup(TOP_RIGHT, Side.BOTTOM, Side.LEFT); } private Corner opposite; private Side leftSide; private Side rightSide; private int cursor; private Corner(String name, int x, int y, int cursor) { super(name,x,y, cursor); } private void setup(Corner c, Side l, Side r) { this.opposite=c; this.leftSide=l; this.rightSide=r; } public Corner getOppositeCorner() { return opposite; } public Side getLeftSide() { return leftSide; } public Side getRightSide() { return rightSide; } @Override public String toString() { return "Corner "+getName(); } }