| /* |
| * Copyright (C) 2010 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.common.api; |
| |
| import com.google.common.annotations.Beta; |
| |
| /** |
| * Drawing styles are used to distinguish the visual appearance of selection, |
| * hovers, anchors, etc. Each style may have different colors, line thickness, |
| * dashing style, transparency, etc. |
| * <p> |
| * <b>NOTE: This is not a public or final API; if you rely on this be prepared |
| * to adjust your code for the next tools release.</b> |
| * </p> |
| */ |
| @Beta |
| public enum DrawingStyle { |
| /** |
| * The style used to draw the selected views |
| */ |
| SELECTION, |
| |
| /** |
| * The style used to draw guidelines - overlay lines which indicate |
| * significant geometric positions. |
| */ |
| GUIDELINE, |
| |
| /** |
| * The style used to guideline shadows |
| */ |
| GUIDELINE_SHADOW, |
| |
| /** |
| * The style used to draw guidelines, in particular shared edges and center lines; this |
| * is a dashed edge. |
| */ |
| GUIDELINE_DASHED, |
| |
| /** |
| * The style used to draw distance annotations |
| */ |
| DISTANCE, |
| |
| /** |
| * The style used to draw grids |
| */ |
| GRID, |
| |
| /** |
| * The style used for hovered views (e.g. when the mouse is directly on top |
| * of the view) |
| */ |
| HOVER, |
| |
| /** |
| * The style used for hovered views (e.g. when the mouse is directly on top |
| * of the view), when the hover happens to be the same object as the selection |
| */ |
| HOVER_SELECTION, |
| |
| /** |
| * The style used to draw anchors (lines to the other views the given view |
| * is anchored to) |
| */ |
| ANCHOR, |
| |
| /** |
| * The style used to draw outlines (the structure of views) |
| */ |
| OUTLINE, |
| |
| /** |
| * The style used to draw the recipient/target View of a drop. This is |
| * typically going to be the bounding-box of the view into which you are |
| * adding a new child. |
| */ |
| DROP_RECIPIENT, |
| |
| /** |
| * The style used to draw a potential drop area <b>within</b> a |
| * {@link #DROP_RECIPIENT}. For example, if you are dragging into a view |
| * with a LinearLayout, the {@link #DROP_RECIPIENT} will be the view itself, |
| * whereas each possible insert position between two children will be a |
| * {@link #DROP_ZONE}. If the mouse is over a {@link #DROP_ZONE} it should |
| * be drawn using the style {@link #DROP_ZONE_ACTIVE}. |
| */ |
| DROP_ZONE, |
| |
| /** |
| * The style used to draw a currently active drop zone within a drop |
| * recipient. See the documentation for {@link #DROP_ZONE} for details on |
| * the distinction between {@link #DROP_RECIPIENT}, {@link #DROP_ZONE} and |
| * {@link #DROP_ZONE_ACTIVE}. |
| */ |
| DROP_ZONE_ACTIVE, |
| |
| /** |
| * The style used to draw a preview of where a dropped view would appear if |
| * it were to be dropped at a given location. |
| */ |
| DROP_PREVIEW, |
| |
| /** |
| * The style used to preview a resize operation. Similar to {@link #DROP_PREVIEW} |
| * but usually fainter to work better in combination with guidelines which |
| * are often overlaid during resize. |
| */ |
| RESIZE_PREVIEW, |
| |
| /** |
| * The style used to show a proposed resize bound which is being rejected (for example, |
| * because there is no near edge to attach to in a RelativeLayout). |
| */ |
| RESIZE_FAIL, |
| |
| /** |
| * The style used to draw help/hint text. |
| */ |
| HELP, |
| |
| /** |
| * The style used to draw illegal/error/invalid markers |
| */ |
| INVALID, |
| |
| /** |
| * The style used to highlight dependencies |
| */ |
| DEPENDENCY, |
| |
| /** |
| * The style used to draw an invalid cycle |
| */ |
| CYCLE, |
| |
| /** |
| * The style used to highlight the currently dragged views during a layout |
| * move (if they are not hidden) |
| */ |
| DRAGGED, |
| |
| /** |
| * The style used to draw empty containers of zero bounds (which are padded |
| * a bit to make them visible during a drag or selection). |
| */ |
| EMPTY, |
| |
| /** |
| * A style used for unspecified purposes; can be used by a client to have |
| * yet another color that is domain specific; using this color constant |
| * rather than your own hardcoded value means that you will be guaranteed to |
| * pick up a color that is themed properly and will look decent with the |
| * rest of the colors |
| */ |
| CUSTOM1, |
| |
| /** |
| * A second styled used for unspecified purposes; see {@link #CUSTOM1} for |
| * details. |
| */ |
| CUSTOM2 |
| } |