--------------------------------------------------------------------------------
--                                                                            --
-- Copyright (C) 2004, RISC OS Ada Library (RASCAL) developers.               --
--                                                                            --
-- This library is free software; you can redistribute it and/or              --
-- modify it under the terms of the GNU Lesser General Public                 --
-- License as published by the Free Software Foundation; either               --
-- version 2.1 of the License, or (at your option) any later version.         --
--                                                                            --
-- This library is distributed in the hope that it will be useful,            --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of             --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU           --
-- Lesser General Public License for more details.                            --
--                                                                            --
-- You should have received a copy of the GNU Lesser General Public           --
-- License along with this library; if not, write to the Free Software        --
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA    --
--                                                                            --
--------------------------------------------------------------------------------

-- @brief Toolbox KeyboardShortcut related types and constants.
-- $Author$
-- $Date$
-- $Revision$

with RASCAL.Keyboard;       use RASCAL.Keyboard;
with System.Unsigned_Types; use System.Unsigned_Types;
with System;                use System;

package RASCAL.ToolboxKeyboardShortcut Is

   type KeyboardShortcut_Type is
   record
   Flags : System.Unsigned_Types.Unsigned;
   Key   : Wimp_Key_Code;
   Event : Integer;
   Name  : Address;
   end record;
   pragma Convention (C, KeyboardShortcut_Type);

   type KeyboardShortcutList_Type is array (Positive range <>) of KeyboardShortcut_Type;
   pragma Convention (C, KeyboardShortcutList_Type);

   type Shortcutlist_Pointer is access KeyboardShortcutList_Type;
      
   -- Flags
   KeyboardShortcut_Show_As_Menu    : constant := 16#1#;
   KeyboardShortcut_Show_At_Centre  : constant := 16#2#;
   KeyboardShortcut_Show_At_Pointer : constant := 16#4#;

end RASCAL.ToolboxKeyboardShortcut;