diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2020-05-08 18:01:22 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-05-08 18:01:22 +0000 |
commit | ccad5384d77328ff1843f4d9296f36a0c3f60343 (patch) | |
tree | c4efb96abd28c58f6dc220fdcc8ee8ab69f7ca38 /eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionHandles.java | |
parent | d58f8ba3b1869530926bd5f167103dfa161787a1 (diff) | |
parent | 7cb6fc634a03afec776a03f2543185908b3563b0 (diff) | |
download | sdk-ccad5384d77328ff1843f4d9296f36a0c3f60343.tar.gz |
Merge "Remove all non-Apache2 licensed files from sdk" am: 106d12a4f8 am: 7cb6fc634a
Change-Id: I0fc20e72e7edfc5daf2068bf0aa6ea25ddb4a1c9
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionHandles.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionHandles.java | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionHandles.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionHandles.java deleted file mode 100644 index 6d7f34a66..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionHandles.java +++ /dev/null @@ -1,140 +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 com.android.ide.common.api.Margins; -import com.android.ide.common.api.Rect; -import com.android.ide.common.api.ResizePolicy; -import com.android.ide.eclipse.adt.internal.editors.layout.gle2.SelectionHandle.Position; -import com.android.ide.eclipse.adt.internal.editors.layout.gre.NodeProxy; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -/** - * The {@link SelectionHandles} of a {@link SelectionItem} are the set of - * {@link SelectionHandle} objects (possibly empty, for non-resizable objects) the user - * can manipulate to resize a widget. - */ -public class SelectionHandles implements Iterable<SelectionHandle> { - private final SelectionItem mItem; - private List<SelectionHandle> mHandles; - - /** - * Constructs a new {@link SelectionHandles} object for the given {link - * {@link SelectionItem} - * @param item the item to create {@link SelectionHandles} for - */ - public SelectionHandles(SelectionItem item) { - mItem = item; - - createHandles(item.getCanvas()); - } - - /** - * Find a specific {@link SelectionHandle} from this set of {@link SelectionHandles}, - * which is within the given distance (in layout coordinates) from the center of the - * {@link SelectionHandle}. - * - * @param point the mouse position (in layout coordinates) to test - * @param distance the maximum distance from the handle center to accept - * @return a {@link SelectionHandle} under the point, or null if not found - */ - public SelectionHandle findHandle(LayoutPoint point, int distance) { - for (SelectionHandle handle : mHandles) { - if (handle.contains(point, distance)) { - return handle; - } - } - - return null; - } - - /** - * Create the {@link SelectionHandle} objects for the selection item, according to its - * {@link ResizePolicy}. - */ - private void createHandles(LayoutCanvas canvas) { - NodeProxy selectedNode = mItem.getNode(); - Rect r = selectedNode.getBounds(); - if (!r.isValid()) { - mHandles = Collections.emptyList(); - return; - } - - ResizePolicy resizability = mItem.getResizePolicy(); - if (resizability.isResizable()) { - mHandles = new ArrayList<SelectionHandle>(8); - boolean left = resizability.leftAllowed(); - boolean right = resizability.rightAllowed(); - boolean top = resizability.topAllowed(); - boolean bottom = resizability.bottomAllowed(); - int x1 = r.x; - int y1 = r.y; - int w = r.w; - int h = r.h; - int x2 = x1 + w; - int y2 = y1 + h; - - Margins insets = canvas.getInsets(mItem.getNode().getFqcn()); - if (insets != null) { - x1 += insets.left; - x2 -= insets.right; - y1 += insets.top; - y2 -= insets.bottom; - } - - int mx = (x1 + x2) / 2; - int my = (y1 + y2) / 2; - - if (left) { - mHandles.add(new SelectionHandle(x1, my, Position.LEFT_MIDDLE)); - if (top) { - mHandles.add(new SelectionHandle(x1, y1, Position.TOP_LEFT)); - } - if (bottom) { - mHandles.add(new SelectionHandle(x1, y2, Position.BOTTOM_LEFT)); - } - } - if (right) { - mHandles.add(new SelectionHandle(x2, my, Position.RIGHT_MIDDLE)); - if (top) { - mHandles.add(new SelectionHandle(x2, y1, Position.TOP_RIGHT)); - } - if (bottom) { - mHandles.add(new SelectionHandle(x2, y2, Position.BOTTOM_RIGHT)); - } - } - if (top) { - mHandles.add(new SelectionHandle(mx, y1, Position.TOP_MIDDLE)); - } - if (bottom) { - mHandles.add(new SelectionHandle(mx, y2, Position.BOTTOM_MIDDLE)); - } - } else { - mHandles = Collections.emptyList(); - } - } - - // Implements Iterable<SelectionHandle> - @Override - public Iterator<SelectionHandle> iterator() { - return mHandles.iterator(); - } -} |