/* Copyright 1997 Acorn Computers Ltd
 *
 * 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.
 */
/***************************************************/
/* File   : ToolAction.h                           */
/*                                                 */
/* Purpose: Definitions that don't use OSLib...    */
/*                                                 */
/* Author : Copied from header by S.Middleton, by  */
/*          A.D.Hodgkinson                         */
/*                                                 */
/* History: 26-Feb-97: Created.                    */
/***************************************************/

/**********************************
 * SWI names and SWI reason codes *
 **********************************/
#undef  ToolAction_SetIdent
#define ToolAction_SetIdent                     0x140140
#undef  ToolAction_GetIdent
#define ToolAction_GetIdent                     0x140141
#undef  ToolAction_SetAction
#define ToolAction_SetAction                    0x140142
#undef  ToolAction_GetAction
#define ToolAction_GetAction                    0x140143
#undef  ToolAction_SetClickShow
#define ToolAction_SetClickShow                 0x140144
#undef  ToolAction_GetClickShow
#define ToolAction_GetClickShow                 0x140145
#undef  ToolAction_SetState
#define ToolAction_SetState                     0x140146
#undef  ToolAction_GetState
#define ToolAction_GetState                     0x140147

/************************
 * Constant definitions *
 ************************/
#define error_TOOL_ACTION_OUT_OF_MEMORY         0x80E920u
#define error_TOOL_ACTION_CANT_CREATE_ICON      0x80E921u
#define error_TOOL_ACTION_CANT_CREATE_OBJECT    0x80E922u
#define toolaction_GENERATE_SELECTED_EVENT      (0x1u)
#define toolaction_IS_TEXT                      (0x2u)
      /*idents are displayed as text, else are sprite names*/
#define toolaction_ON                           (0x4u)
      /*Initial state*/
#define toolaction_AUTO_TOGGLE                  (0x8u)
      /*Toggle state on every click*/
#define toolaction_NO_PRESSED_SPRITE            (0x10u)
      /*Don't use R5 validation command*/
#define toolaction_AUTO_REPEAT                  (0x20u)
      /*Auto repeat whilst button is held down*/
#define toolaction_SHOW_TRANSIENT               (0x40u)
      /*Show object transiently*/
#define toolaction_SHOW_AS_POP_UP               (0x80u)
      /*Show object aligned to top right of gadget*/
#define toolaction_HAS_FADE_SPRITE              (0x100u)
      /*Has separate sprite for when faded*/
#define class_TOOL_ACTION                       ((toolbox_class) 0x4014u)
#define action_TOOL_ACTION_SELECTED             0x140140u
#define toolaction_SELECTED_ADJUST              0x1u
#define toolaction_SELECTED_SELECT              0x4u
#define toolaction_SET_IDENT_OFF                0
#define toolaction_SET_IDENT_ON                 1
#define toolaction_SET_IDENT_FADE               2
#define toolaction_SET_IDENT_WHICH              ((toolaction_set_ident_flags) 0xFu)