/* * Scriptographer * * This file is part of Scriptographer, a Scripting Plugin for Adobe Illustrator * http://scriptographer.org/ * * Copyright (c) 2002-2010, Juerg Lehni * http://scratchdisk.com/ * * All rights reserved. See LICENSE file for details. * * File created on Jun 20, 2009. */ package com.scriptographer.ai; import com.scratchdisk.util.IntegerEnum; /** * @author lehni * * AIToolOptions */ public enum ToolOption implements IntegerEnum { /* * This option is always on, since we're changing cursors */ // TRACK_CURSOR(1 << 0), /** * Set to disable automatic scrolling. When off (the default), the Illustrator window * scrolls when a tool reaches the edge. For tools that manipulate artwork, * auto-scroll is useful. Set this to turn auto-scroll off for a tool that * draws to the screen directly, like the built-in Brush tool. */ NO_AUTO_SCROLL(1 << 1), /** * Set to buffer the drag selectors and messages and send all of them * to the tool at once. Useful if a tool is calculation intensive. The effect * is no longer real-time, but has a smoother final output. * When off (the default), the tool processes drag selectors and returns frequently, * resulting in near real-time feedback. If there are intensive calculations * during the drag selector, the tool could miss drag notifications, resulting in rougher * tracking. */ BUFFERED_DRAGGING(1 << 2), /** * Set to maintain the edit context when this tool is selected. For art objects, * keeps all current points and handles selected. For text, keeps the insertion * point in the current location. Set this option for navigational tools like * the Zoom and Scroll tools. */ MAINTAIN_EDIT_CONTEXT(1 << 3), /** * Set to maintain the text edit context when the tool is selected, * if #kToolMaintainEditContextOption is also set. */ TEXT_TOOL(1 << 4), /** * Set to receive \c #kSelectorAIToolDecreaseDiameter and * #kSelectorAIToolIncreaseDiameter. Use if the tool needs to change * diameter when either '[' or ']' is pressed. */ CHANGE_DIAMETER(1 << 5); protected int value; private ToolOption(int value) { this.value = value; } public int value() { return value; } }