diff options
Diffstat (limited to 'board/MAI/bios_emulator/scitech/include/event.h')
| -rw-r--r-- | board/MAI/bios_emulator/scitech/include/event.h | 696 | 
1 files changed, 0 insertions, 696 deletions
| diff --git a/board/MAI/bios_emulator/scitech/include/event.h b/board/MAI/bios_emulator/scitech/include/event.h deleted file mode 100644 index beeac8764..000000000 --- a/board/MAI/bios_emulator/scitech/include/event.h +++ /dev/null @@ -1,696 +0,0 @@ -/**************************************************************************** -* -*                   SciTech OS Portability Manager Library -* -*  ======================================================================== -* -*    The contents of this file are subject to the SciTech MGL 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.scitechsoft.com/mgl-license.txt -* -*    Software distributed under the License is distributed on an -*    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -*    implied. See the License for the specific language governing -*    rights and limitations under the License. -* -*    The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc. -* -*    The Initial Developer of the Original Code is SciTech Software, Inc. -*    All Rights Reserved. -* -*  ======================================================================== -* -* Language:     ANSI C -* Environment:  Any -* -* Description:  Header file for the SciTech cross platform event library -* -****************************************************************************/ - -#ifndef __EVENT_H -#define __EVENT_H - -#include "scitech.h" - -/*---------------------- Macros and type definitions ----------------------*/ - -#pragma pack(1) - -/* 'C' calling conventions always */ - -#define EVTAPI  _ASMAPI -#define EVTAPIP _ASMAPIP - -/* Event message masks for keyDown events */ - -#define EVT_ASCIIMASK   0x00FF      /* ASCII code of key pressed        */ -#define EVT_SCANMASK    0xFF00      /* Scan code of key pressed         */ -#define EVT_COUNTMASK   0x7FFF0000L /* Count for KEYREPEAT's            */ - -/* Macros to extract values from the message fields */ - -#define EVT_asciiCode(m)    ( (uchar) (m & EVT_ASCIIMASK) ) -#define EVT_scanCode(m)     ( (uchar) ( (m & EVT_SCANMASK) >> 8 ) ) -#define EVT_repeatCount(m)  ( (short) ( (m & EVT_COUNTMASK) >> 16 ) ) - -/**************************************************************************** -REMARKS: -Defines the set of ASCII codes reported by the event library functions -in the message field. Use the EVT_asciiCode macro to extract the code -from the event structure. - -HEADER: -event.h -****************************************************************************/ -typedef enum { -    ASCII_ctrlA             = 0x01, -    ASCII_ctrlB             = 0x02, -    ASCII_ctrlC             = 0x03, -    ASCII_ctrlD             = 0x04, -    ASCII_ctrlE             = 0x05, -    ASCII_ctrlF             = 0x06, -    ASCII_ctrlG             = 0x07, -    ASCII_backspace         = 0x08, -    ASCII_ctrlH             = 0x08, -    ASCII_tab               = 0x09, -    ASCII_ctrlI             = 0x09, -    ASCII_ctrlJ             = 0x0A, -    ASCII_ctrlK             = 0x0B, -    ASCII_ctrlL             = 0x0C, -    ASCII_enter             = 0x0D, -    ASCII_ctrlM             = 0x0D, -    ASCII_ctrlN             = 0x0E, -    ASCII_ctrlO             = 0x0F, -    ASCII_ctrlP             = 0x10, -    ASCII_ctrlQ             = 0x11, -    ASCII_ctrlR             = 0x12, -    ASCII_ctrlS             = 0x13, -    ASCII_ctrlT             = 0x14, -    ASCII_ctrlU             = 0x15, -    ASCII_ctrlV             = 0x16, -    ASCII_ctrlW             = 0x17, -    ASCII_ctrlX             = 0x18, -    ASCII_ctrlY             = 0x19, -    ASCII_ctrlZ             = 0x1A, -    ASCII_esc               = 0x1B, -    ASCII_space             = 0x20, -    ASCII_exclamation       = 0x21, /* ! */ -    ASCII_quote             = 0x22, /* " */ -    ASCII_pound             = 0x23, /* # */ -    ASCII_dollar            = 0x24, /* $ */ -    ASCII_percent           = 0x25, /* % */ -    ASCII_ampersand         = 0x26, /* & */ -    ASCII_apostrophe        = 0x27, /* ' */ -    ASCII_leftBrace         = 0x28, /* ( */ -    ASCII_rightBrace        = 0x29, /* ) */ -    ASCII_times             = 0x2A, /* * */ -    ASCII_plus              = 0x2B, /* + */ -    ASCII_comma             = 0x2C, /* , */ -    ASCII_minus             = 0x2D, /* - */ -    ASCII_period            = 0x2E, /* . */ -    ASCII_divide            = 0x2F, /* / */ -    ASCII_0                 = 0x30, -    ASCII_1                 = 0x31, -    ASCII_2                 = 0x32, -    ASCII_3                 = 0x33, -    ASCII_4                 = 0x34, -    ASCII_5                 = 0x35, -    ASCII_6                 = 0x36, -    ASCII_7                 = 0x37, -    ASCII_8                 = 0x38, -    ASCII_9                 = 0x39, -    ASCII_colon             = 0x3A, /* : */ -    ASCII_semicolon         = 0x3B, /* ; */ -    ASCII_lessThan          = 0x3C, /* < */ -    ASCII_equals            = 0x3D, /* = */ -    ASCII_greaterThan       = 0x3E, /* > */ -    ASCII_question          = 0x3F, /* ? */ -    ASCII_at                = 0x40, /* @ */ -    ASCII_A                 = 0x41, -    ASCII_B                 = 0x42, -    ASCII_C                 = 0x43, -    ASCII_D                 = 0x44, -    ASCII_E                 = 0x45, -    ASCII_F                 = 0x46, -    ASCII_G                 = 0x47, -    ASCII_H                 = 0x48, -    ASCII_I                 = 0x49, -    ASCII_J                 = 0x4A, -    ASCII_K                 = 0x4B, -    ASCII_L                 = 0x4C, -    ASCII_M                 = 0x4D, -    ASCII_N                 = 0x4E, -    ASCII_O                 = 0x4F, -    ASCII_P                 = 0x50, -    ASCII_Q                 = 0x51, -    ASCII_R                 = 0x52, -    ASCII_S                 = 0x53, -    ASCII_T                 = 0x54, -    ASCII_U                 = 0x55, -    ASCII_V                 = 0x56, -    ASCII_W                 = 0x57, -    ASCII_X                 = 0x58, -    ASCII_Y                 = 0x59, -    ASCII_Z                 = 0x5A, -    ASCII_leftSquareBrace   = 0x5B, /* [ */ -    ASCII_backSlash         = 0x5C, /* \ */ -    ASCII_rightSquareBrace  = 0x5D, /* ] */ -    ASCII_caret             = 0x5E, /* ^ */ -    ASCII_underscore        = 0x5F, /* _ */ -    ASCII_leftApostrophe    = 0x60, /* ` */ -    ASCII_a                 = 0x61, -    ASCII_b                 = 0x62, -    ASCII_c                 = 0x63, -    ASCII_d                 = 0x64, -    ASCII_e                 = 0x65, -    ASCII_f                 = 0x66, -    ASCII_g                 = 0x67, -    ASCII_h                 = 0x68, -    ASCII_i                 = 0x69, -    ASCII_j                 = 0x6A, -    ASCII_k                 = 0x6B, -    ASCII_l                 = 0x6C, -    ASCII_m                 = 0x6D, -    ASCII_n                 = 0x6E, -    ASCII_o                 = 0x6F, -    ASCII_p                 = 0x70, -    ASCII_q                 = 0x71, -    ASCII_r                 = 0x72, -    ASCII_s                 = 0x73, -    ASCII_t                 = 0x74, -    ASCII_u                 = 0x75, -    ASCII_v                 = 0x76, -    ASCII_w                 = 0x77, -    ASCII_x                 = 0x78, -    ASCII_y                 = 0x79, -    ASCII_z                 = 0x7A, -    ASCII_leftCurlyBrace    = 0x7B, /* { */ -    ASCII_verticalBar       = 0x7C, /* | */ -    ASCII_rightCurlyBrace   = 0x7D, /* } */ -    ASCII_tilde             = 0x7E  /* ~ */ -    } EVT_asciiCodesType; - -/**************************************************************************** -REMARKS: -Defines the set of scan codes reported by the event library functions -in the message field. Use the EVT_scanCode macro to extract the code -from the event structure. Note that the scan codes reported will be the -same across all keyboards (assuming the placement of keys on a 101 key US -keyboard), but the translated ASCII values may be different depending on -the country code pages in use. - -NOTE:   Scan codes in the event library are not really hardware scan codes, -	but rather virtual scan codes as generated by a low level keyboard -	interface driver. All virtual codes begin with scan code 0x60 and -	range up from there. - -HEADER: -event.h -****************************************************************************/ -typedef enum { -    KB_padEnter             = 0x60, /* Keypad keys */ -    KB_padMinus             = 0x4A, -    KB_padPlus              = 0x4E, -    KB_padTimes             = 0x37, -    KB_padDivide            = 0x61, -    KB_padLeft              = 0x62, -    KB_padRight             = 0x63, -    KB_padUp                = 0x64, -    KB_padDown              = 0x65, -    KB_padInsert            = 0x66, -    KB_padDelete            = 0x67, -    KB_padHome              = 0x68, -    KB_padEnd               = 0x69, -    KB_padPageUp            = 0x6A, -    KB_padPageDown          = 0x6B, -    KB_padCenter            = 0x4C, -    KB_F1                   = 0x3B, /* Function keys */ -    KB_F2                   = 0x3C, -    KB_F3                   = 0x3D, -    KB_F4                   = 0x3E, -    KB_F5                   = 0x3F, -    KB_F6                   = 0x40, -    KB_F7                   = 0x41, -    KB_F8                   = 0x42, -    KB_F9                   = 0x43, -    KB_F10                  = 0x44, -    KB_F11                  = 0x57, -    KB_F12                  = 0x58, -    KB_left                 = 0x4B, /* Cursor control keys */ -    KB_right                = 0x4D, -    KB_up                   = 0x48, -    KB_down                 = 0x50, -    KB_insert               = 0x52, -    KB_delete               = 0x53, -    KB_home                 = 0x47, -    KB_end                  = 0x4F, -    KB_pageUp               = 0x49, -    KB_pageDown             = 0x51, -    KB_capsLock             = 0x3A, -    KB_numLock              = 0x45, -    KB_scrollLock           = 0x46, -    KB_leftShift            = 0x2A, -    KB_rightShift           = 0x36, -    KB_leftCtrl             = 0x1D, -    KB_rightCtrl            = 0x6C, -    KB_leftAlt              = 0x38, -    KB_rightAlt             = 0x6D, -    KB_leftWindows          = 0x5B, -    KB_rightWindows         = 0x5C, -    KB_menu                 = 0x5D, -    KB_sysReq               = 0x54, -    KB_esc                  = 0x01, /* Normal keyboard keys */ -    KB_1                    = 0x02, -    KB_2                    = 0x03, -    KB_3                    = 0x04, -    KB_4                    = 0x05, -    KB_5                    = 0x06, -    KB_6                    = 0x07, -    KB_7                    = 0x08, -    KB_8                    = 0x09, -    KB_9                    = 0x0A, -    KB_0                    = 0x0B, -    KB_minus                = 0x0C, -    KB_equals               = 0x0D, -    KB_backSlash            = 0x2B, -    KB_backspace            = 0x0E, -    KB_tab                  = 0x0F, -    KB_Q                    = 0x10, -    KB_W                    = 0x11, -    KB_E                    = 0x12, -    KB_R                    = 0x13, -    KB_T                    = 0x14, -    KB_Y                    = 0x15, -    KB_U                    = 0x16, -    KB_I                    = 0x17, -    KB_O                    = 0x18, -    KB_P                    = 0x19, -    KB_leftSquareBrace      = 0x1A, -    KB_rightSquareBrace     = 0x1B, -    KB_enter                = 0x1C, -    KB_A                    = 0x1E, -    KB_S                    = 0x1F, -    KB_D                    = 0x20, -    KB_F                    = 0x21, -    KB_G                    = 0x22, -    KB_H                    = 0x23, -    KB_J                    = 0x24, -    KB_K                    = 0x25, -    KB_L                    = 0x26, -    KB_semicolon            = 0x27, -    KB_apostrophe           = 0x28, -    KB_Z                    = 0x2C, -    KB_X                    = 0x2D, -    KB_C                    = 0x2E, -    KB_V                    = 0x2F, -    KB_B                    = 0x30, -    KB_N                    = 0x31, -    KB_M                    = 0x32, -    KB_comma                = 0x33, -    KB_period               = 0x34, -    KB_divide               = 0x35, -    KB_space                = 0x39, -    KB_tilde                = 0x29 -    } EVT_scanCodesType; - -/**************************************************************************** -REMARKS: -Defines the mask for the joystick axes that are present - -HEADER: -event.h - -MEMBERS: -EVT_JOY_AXIS_X1     - Joystick 1, X axis is present -EVT_JOY_AXIS_Y1     - Joystick 1, Y axis is present -EVT_JOY_AXIS_X2     - Joystick 2, X axis is present -EVT_JOY_AXIS_Y2     - Joystick 2, Y axis is present -EVT_JOY_AXIS_ALL    - Mask for all axes -****************************************************************************/ -typedef enum { -    EVT_JOY_AXIS_X1     = 0x00000001, -    EVT_JOY_AXIS_Y1     = 0x00000002, -    EVT_JOY_AXIS_X2     = 0x00000004, -    EVT_JOY_AXIS_Y2     = 0x00000008, -    EVT_JOY_AXIS_ALL    = 0x0000000F -    } EVT_eventJoyAxisType; - -/**************************************************************************** -REMARKS: -Defines the event message masks for joystick events - -HEADER: -event.h - -MEMBERS: -EVT_JOY1_BUTTONA    - Joystick 1, button A is down -EVT_JOY1_BUTTONB    - Joystick 1, button B is down -EVT_JOY2_BUTTONA    - Joystick 2, button A is down -EVT_JOY2_BUTTONB    - Joystick 2, button B is down -****************************************************************************/ -typedef enum { -    EVT_JOY1_BUTTONA    = 0x00000001, -    EVT_JOY1_BUTTONB    = 0x00000002, -    EVT_JOY2_BUTTONA    = 0x00000004, -    EVT_JOY2_BUTTONB    = 0x00000008 -    } EVT_eventJoyMaskType; - -/**************************************************************************** -REMARKS: -Defines the event message masks for mouse events - -HEADER: -event.h - -MEMBERS: -EVT_LEFTBMASK   - Left button is held down -EVT_RIGHTBMASK  - Right button is held down -EVT_MIDDLEBMASK - Middle button is held down -EVT_BOTHBMASK   - Both left and right held down together -EVT_ALLBMASK    - All buttons pressed -EVT_DBLCLICK    - Set if mouse down event was a double click -****************************************************************************/ -typedef enum { -    EVT_LEFTBMASK   = 0x00000001, -    EVT_RIGHTBMASK  = 0x00000002, -    EVT_MIDDLEBMASK = 0x00000004, -    EVT_BOTHBMASK   = 0x00000007, -    EVT_ALLBMASK    = 0x00000007, -    EVT_DBLCLICK    = 0x00010000 -    } EVT_eventMouseMaskType; - -/**************************************************************************** -REMARKS: -Defines the event modifier masks. These are the masks used to extract -the modifier information from the modifiers field of the event_t structure. -Note that the values in the modifiers field represent the values of these -modifier keys at the time the event occurred, not the time you decided -to process the event. - -HEADER: -event.h - -MEMBERS: -EVT_LEFTBUT     - Set if left mouse button was down -EVT_RIGHTBUT    - Set if right mouse button was down -EVT_MIDDLEBUT   - Set if the middle button was down -EVT_RIGHTSHIFT  - Set if right shift was down -EVT_LEFTSHIFT   - Set if left shift was down -EVT_RIGHTCTRL   - Set if right ctrl key was down -EVT_RIGHTALT    - Set if right alt key was down -EVT_LEFTCTRL    - Set if left ctrl key was down -EVT_LEFTALT     - Set if left alt key was down -EVT_SHIFTKEY    - Mask for any shift key down -EVT_CTRLSTATE   - Set if ctrl key was down -EVT_ALTSTATE    - Set if alt key was down -EVT_CAPSLOCK    - Caps lock is active -EVT_NUMLOCK     - Num lock is active -EVT_SCROLLLOCK  - Scroll lock is active -****************************************************************************/ -typedef enum { -    EVT_LEFTBUT     = 0x00000001, -    EVT_RIGHTBUT    = 0x00000002, -    EVT_MIDDLEBUT   = 0x00000004, -    EVT_RIGHTSHIFT  = 0x00000008, -    EVT_LEFTSHIFT   = 0x00000010, -    EVT_RIGHTCTRL   = 0x00000020, -    EVT_RIGHTALT    = 0x00000040, -    EVT_LEFTCTRL    = 0x00000080, -    EVT_LEFTALT     = 0x00000100, -    EVT_SHIFTKEY    = 0x00000018, -    EVT_CTRLSTATE   = 0x000000A0, -    EVT_ALTSTATE    = 0x00000140, -    EVT_SCROLLLOCK  = 0x00000200, -    EVT_NUMLOCK     = 0x00000400, -    EVT_CAPSLOCK    = 0x00000800 -    } EVT_eventModMaskType; - -/**************************************************************************** -REMARKS: -Defines the event codes returned in the event_t structures what field. Note -that these are defined as a set of mutually exlusive bit fields, so you -can test for multiple event types using the combined event masks defined -in the EVT_eventMaskType enumeration. - -HEADER: -event.h - -MEMBERS: -EVT_NULLEVT     - A null event -EVT_KEYDOWN     - Key down event -EVT_KEYREPEAT   - Key repeat event -EVT_KEYUP       - Key up event -EVT_MOUSEDOWN   - Mouse down event -EVT_MOUSEAUTO   - Mouse down autorepeat event -EVT_MOUSEUP     - Mouse up event -EVT_MOUSEMOVE   - Mouse movement event -EVT_JOYCLICK    - Joystick button state change event -EVT_JOYMOVE     - Joystick movement event -EVT_USEREVT     - First user event -****************************************************************************/ -typedef enum { -    EVT_NULLEVT     = 0x00000000, -    EVT_KEYDOWN     = 0x00000001, -    EVT_KEYREPEAT   = 0x00000002, -    EVT_KEYUP       = 0x00000004, -    EVT_MOUSEDOWN   = 0x00000008, -    EVT_MOUSEAUTO   = 0x00000010, -    EVT_MOUSEUP     = 0x00000020, -    EVT_MOUSEMOVE   = 0x00000040, -    EVT_JOYCLICK    = 0x00000080, -    EVT_JOYMOVE     = 0x00000100, -    EVT_USEREVT     = 0x00000200 -    } EVT_eventType; - -/**************************************************************************** -REMARKS: -Defines the event code masks you can use to test for multiple types of -events, since the event codes are mutually exlusive bit fields. - -HEADER: -event.h - -MEMBERS: -EVT_KEYEVT      - Mask for any key event -EVT_MOUSEEVT    - Mask for any mouse event -EVT_MOUSECLICK  - Mask for any mouse click event -EVT_JOYEVT      - Mask for any joystick event -EVT_EVERYEVT    - Mask for any event -****************************************************************************/ -typedef enum { -    EVT_KEYEVT      = (EVT_KEYDOWN | EVT_KEYREPEAT | EVT_KEYUP), -    EVT_MOUSEEVT    = (EVT_MOUSEDOWN | EVT_MOUSEAUTO | EVT_MOUSEUP | EVT_MOUSEMOVE), -    EVT_MOUSECLICK  = (EVT_MOUSEDOWN | EVT_MOUSEUP), -    EVT_JOYEVT      = (EVT_JOYCLICK | EVT_JOYMOVE), -    EVT_EVERYEVT    = 0x7FFFFFFF -    } EVT_eventMaskType; - -/**************************************************************************** -REMARKS: -Structure describing the information contained in an event extracted from -the event queue. - -HEADER: -event.h - -MEMBERS: -which       - Window identifier for message for use by high level window manager -	      code (i.e. MegaVision GUI or Windows API). -what        - Type of event that occurred. Will be one of the values defined by -	      the EVT_eventType enumeration. -when        - Time that the event occurred in milliseconds since startup -where_x     - X coordinate of the mouse cursor location at the time of the event -	      (in screen coordinates). For joystick events this represents -	      the position of the first joystick X axis. -where_y     - Y coordinate of the mouse cursor location at the time of the event -	      (in screen coordinates). For joystick events this represents -	      the position of the first joystick Y axis. -relative_x  - Relative movement of the mouse cursor in the X direction (in -	      units of mickeys, or 1/200th of an inch). For joystick events -	      this represents the position of the second joystick X axis. -relative_y  - Relative movement of the mouse cursor in the Y direction (in -	      units of mickeys, or 1/200th of an inch). For joystick events -	      this represents the position of the second joystick Y axis. -message     - Event specific message for the event. For use events this can be -	      any user specific information. For keyboard events this contains -	      the ASCII code in bits 0-7, the keyboard scan code in bits 8-15 and -	      the character repeat count in bits 16-30. You can use the -	      EVT_asciiCode, EVT_scanCode and EVT_repeatCount macros to extract -	      this information from the message field. For mouse events this -	      contains information about which button was pressed, and will be a -	      combination of the flags defined by the EVT_eventMouseMaskType -	      enumeration. For joystick events, this conatins information -	      about which buttons were pressed, and will be a combination of -	      the flags defined by the EVT_eventJoyMaskType enumeration. -modifiers   - Contains additional information about the state of the keyboard -	      shift modifiers (Ctrl, Alt and Shift keys) when the event -	      occurred. For mouse events it will also contain the state of -	      the mouse buttons. Will be a combination of the values defined -	      by the EVT_eventModMaskType enumeration. -next        - Internal use; do not use. -prev        - Internal use; do not use. -****************************************************************************/ -typedef struct { -    ulong       which; -    ulong       what; -    ulong       when; -    int         where_x; -    int         where_y; -    int         relative_x; -    int         relative_y; -    ulong       message; -    ulong       modifiers; -    int         next; -    int         prev; -    } event_t; - -/**************************************************************************** -REMARKS: -Structure describing an entry in the code page table. A table of translation -codes for scan codes to ASCII codes is provided in this table to be used -by the keyboard event libraries. On some OS'es the keyboard translation is -handled by the OS, but for DOS and embedded systems you must register a -different code page translation table if you want to support keyboards -other than the US English keyboard (the default). - -NOTE:   Entries in code page tables *must* be in ascending order for the -	scan codes as we do a binary search on the tables for the ASCII -	code equivalents. - -HEADER: -event.h - -MEMBERS: -scanCode    - Scan code to translate (really the virtual scan code). -asciiCode   - ASCII code for this scan code. -****************************************************************************/ -typedef struct { -    uchar       scanCode; -    uchar       asciiCode; -    } codepage_entry_t; - -/**************************************************************************** -REMARKS: -Structure describing a complete code page translation table. The table -contains translation tables for normal keys, shifted keys and ctrl keys. -The Ctrl key always has precedence over the shift table, and the shift -table is used when the shift key is down or the CAPSLOCK key is down. - -HEADER: -event.h - -MEMBERS: -name            - Name of the code page table (ie: "US English") -normal          - Code page for translating normal keys -normalLen       - Length of normal translation table -caps            - Code page for translating keys when CAPSLOCK is down -capsLen         - Length of CAPSLOCK translation table -shift           - Code page for shifted keys (ie: shift key is held down) -shiftLen        - Length of shifted translation table -shiftCaps       - Code page for shifted keys when CAPSLOCK is down -shiftCapsLen    - Length of shifted CAPSLOCK translation table -ctrl            - Code page for ctrl'ed keys (ie: ctrl key is held down) -ctrlLen         - Length of ctrl'ed translation table -numPad          - Code page for NUMLOCK'ed keypad keys -numPadLen       - Length of NUMLOCK'ed translation table -****************************************************************************/ -typedef struct { -    char                name[20]; -    codepage_entry_t    *normal; -    int                 normalLen; -    codepage_entry_t    *caps; -    int                 capsLen; -    codepage_entry_t    *shift; -    int                 shiftLen; -    codepage_entry_t    *shiftCaps; -    int                 shiftCapsLen; -    codepage_entry_t    *ctrl; -    int                 ctrlLen; -    codepage_entry_t    *numPad; -    int                 numPadLen; -    } codepage_t; - -/* {secret} */ -typedef ibool (EVTAPIP _EVT_userEventFilter)(event_t *evt); -/* {secret} */ -typedef void (EVTAPIP _EVT_mouseMoveHandler)(int x,int y); -/* {secret} */ -typedef void (EVTAPIP _EVT_heartBeatCallback)(void *params); - -/* Macro to find the size of a static array */ - -#define EVT_ARR_SIZE(a)         (sizeof(a)/sizeof((a)[0])) - -#pragma pack() - -/*--------------------------- Global variables ----------------------------*/ - -#ifdef  __cplusplus -extern "C" {            /* Use "C" linkage when in C++ mode */ -#endif - -/* Standard code page tables */ - -extern codepage_t _CP_US_English; - -/*------------------------- Function Prototypes ---------------------------*/ - -/* Public API functions for user applications */ - -ibool   EVTAPI EVT_getNext(event_t *evt,ulong mask); -ibool   EVTAPI EVT_peekNext(event_t *evt,ulong mask); -ibool   EVTAPI EVT_post(ulong which,ulong what,ulong message,ulong modifiers); -void    EVTAPI EVT_flush(ulong mask); -void    EVTAPI EVT_halt(event_t *evt,ulong mask); -ibool   EVTAPI EVT_isKeyDown(uchar scanCode); -void    EVTAPI EVT_setMousePos(int x,int y); -void    EVTAPI EVT_getMousePos(int *x,int *y); - -/* Function to enable/disable updating of keyboard LED status indicators */ - -void    EVTAPI EVT_allowLEDS(ibool enable); - -/* Function to install a custom keyboard code page. Default is US English */ - -codepage_t *EVTAPI EVT_getCodePage(void); -void    EVTAPI EVT_setCodePage(codepage_t *page); - -/* Functions for fine grained joystick calibration */ - -void    EVTAPI EVT_pollJoystick(void); -int     EVTAPI EVT_joyIsPresent(void); -void    EVTAPI EVT_joySetUpperLeft(void); -void    EVTAPI EVT_joySetLowerRight(void); -void    EVTAPI EVT_joySetCenter(void); - -/* Install user supplied event filter callback */ - -void    EVTAPI EVT_setUserEventFilter(_EVT_userEventFilter filter); - -/* Install user supplied event heartbeat callback function */ - -void    EVTAPI EVT_setHeartBeatCallback(_EVT_heartBeatCallback callback,void *params); -void    EVTAPI EVT_getHeartBeatCallback(_EVT_heartBeatCallback *callback,void **params); - -/* Internal functions to initialise and kill the event manager. MGL - * applications should never call these functions directly as the MGL - * libraries do it for you. - */ - -/* {secret} */ -void    EVTAPI EVT_init(_EVT_mouseMoveHandler mouseMove); -/* {secret} */ -void    EVTAPI EVT_setMouseRange(int xRes,int yRes); -/* {secret} */ -void    EVTAPI EVT_suspend(void); -/* {secret} */ -void    EVTAPI EVT_resume(void); -/* {secret} */ -void    EVTAPI EVT_exit(void); - -#ifdef  __cplusplus -}                       /* End of "C" linkage for C++   */ -#endif  /* __cplusplus */ - -#endif  /* __EVENT_H */ |