diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionHandle.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionHandle.java | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionHandle.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionHandle.java deleted file mode 100644 index c2db2431c..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionHandle.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.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.eclipse.org/org/documents/epl-v10.php - * - * 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.android.ide.eclipse.adt.internal.editors.layout.gle2; - -import org.eclipse.swt.SWT; - -/** - * A selection handle is a small rectangle on the border of a selected view which lets you - * change the size of the view by dragging it. - */ -public class SelectionHandle { - /** - * Size of the selection handle radius, in control coordinates. Note that this isn't - * necessarily a <b>circular</b> radius; in the case of a rectangular handle, the - * width and the height are both equal to this radius. - * Note also that this radius is in <b>control</b> coordinates, whereas the rest - * of the class operates in layout coordinates. This is because we do not want the - * selection handles to grow or shrink along with the screen zoom; they are always - * at the given pixel size in the control. - */ - public final static int PIXEL_RADIUS = 3; - - /** - * Extra number of pixels to look beyond the actual radius of the selection handle - * when matching mouse positions to handles - */ - public final static int PIXEL_MARGIN = 2; - - /** The position of the handle in the selection rectangle */ - enum Position { - TOP_MIDDLE(SWT.CURSOR_SIZEN), - TOP_RIGHT(SWT.CURSOR_SIZENE), - RIGHT_MIDDLE(SWT.CURSOR_SIZEE), - BOTTOM_RIGHT(SWT.CURSOR_SIZESE), - BOTTOM_MIDDLE(SWT.CURSOR_SIZES), - BOTTOM_LEFT(SWT.CURSOR_SIZESW), - LEFT_MIDDLE(SWT.CURSOR_SIZEW), - TOP_LEFT(SWT.CURSOR_SIZENW); - - /** Corresponding SWT cursor value */ - private int mSwtCursor; - - private Position(int swtCursor) { - mSwtCursor = swtCursor; - } - - private int getCursorType() { - return mSwtCursor; - } - - /** Is the {@link SelectionHandle} somewhere on the left edge? */ - boolean isLeft() { - return this == TOP_LEFT || this == LEFT_MIDDLE || this == BOTTOM_LEFT; - } - - /** Is the {@link SelectionHandle} somewhere on the right edge? */ - boolean isRight() { - return this == TOP_RIGHT || this == RIGHT_MIDDLE || this == BOTTOM_RIGHT; - } - - /** Is the {@link SelectionHandle} somewhere on the top edge? */ - boolean isTop() { - return this == TOP_LEFT || this == TOP_MIDDLE || this == TOP_RIGHT; - } - - /** Is the {@link SelectionHandle} somewhere on the bottom edge? */ - boolean isBottom() { - return this == BOTTOM_LEFT || this == BOTTOM_MIDDLE || this == BOTTOM_RIGHT; - } - }; - - /** The x coordinate of the center of the selection handle */ - public final int centerX; - /** The y coordinate of the center of the selection handle */ - public final int centerY; - /** The position of the handle in the selection rectangle */ - private final Position mPosition; - - /** - * Constructs a new {@link SelectionHandle} at the given layout coordinate - * corresponding to a handle at the given {@link Position}. - * - * @param centerX the x coordinate of the center of the selection handle - * @param centerY y coordinate of the center of the selection handle - * @param position the position of the handle in the selection rectangle - */ - public SelectionHandle(int centerX, int centerY, Position position) { - mPosition = position; - this.centerX = centerX; - this.centerY = centerY; - } - - /** - * Determines whether the given {@link LayoutPoint} is within the given distance in - * layout coordinates. The distance should incorporate at least the equivalent - * distance to the control coordinate space {@link #PIXEL_RADIUS}, but usually with a - * few extra pixels added in to make the corners easier to target. - * - * @param point the mouse position in layout coordinates - * @param distance the distance from the center of the handle to check whether the - * point fits within - * @return true if the given point is within the given distance of this handle - */ - public boolean contains(LayoutPoint point, int distance) { - return (point.x >= centerX - distance - && point.x <= centerX + distance - && point.y >= centerY - distance - && point.y <= centerY + distance); - } - - /** - * Returns the position of the handle in the selection rectangle - * - * @return the position of the handle in the selection rectangle - */ - public Position getPosition() { - return mPosition; - } - - /** - * Returns the SWT cursor type to use for this selection handle - * - * @return the position of the handle in the selection rectangle - */ - public int getSwtCursorType() { - return mPosition.getCursorType(); - } -} |