mirror of
https://github.com/cc65/cc65.git
synced 2024-11-17 09:07:32 +00:00
97 lines
2.3 KiB
C
97 lines
2.3 KiB
C
/*
|
|
GEOS mouse and sprite functions
|
|
|
|
by Maciej 'YTM/Elysium' Witkowiak
|
|
*/
|
|
|
|
#ifndef _GSPRITE_H
|
|
#define _GSPRITE_H
|
|
|
|
void StartMouseMode(void);
|
|
void ClearMouseMode(void);
|
|
void MouseUp(void);
|
|
void MouseOff(void);
|
|
char __fastcall__ IsMseInRegion(struct window *region);
|
|
|
|
void __fastcall__ DrawSprite(char spritenum, const char *spritepic);
|
|
void __fastcall__ PosSprite(char spritenum, struct pixel *position);
|
|
void __fastcall__ EnablSprite(char spritenum);
|
|
void __fastcall__ DisablSprite(char spritenum);
|
|
|
|
void __fastcall__ InitTextPrompt(char height);
|
|
void __fastcall__ PromptOn(struct pixel *position);
|
|
void PromptOff(void);
|
|
char GetNextChar(void);
|
|
|
|
/* keyboard constants */
|
|
#define KEY_F1 1
|
|
#define KEY_F2 2
|
|
#define KEY_F3 3
|
|
#define KEY_F4 4
|
|
#define KEY_F5 5
|
|
#define KEY_F6 6
|
|
#define KEY_NOSCRL 7
|
|
#define KEY_ENTER 13
|
|
#define KEY_F7 14
|
|
#define KEY_F8 15
|
|
#define KEY_HOME 18
|
|
#define KEY_CLEAR 19
|
|
#define KEY_LARROW 20
|
|
#define KEY_UPARROW 21
|
|
#define KEY_STOP 22
|
|
#define KEY_RUN 23
|
|
#define KEY_BPS 24
|
|
#define KEY_HELP 25
|
|
#define KEY_ALT 26
|
|
#define KEY_ESC 27
|
|
#define KEY_INSERT 28
|
|
#define KEY_INVALID 31
|
|
#define KEY_LEFT BACKSPACE
|
|
#ifdef __GEOS_CBM__
|
|
#define KEY_UP 16
|
|
#define KEY_DOWN 17
|
|
#define KEY_DELETE 29
|
|
#define KEY_RIGHT 30
|
|
#else
|
|
#define KEY_UP 11
|
|
#define KEY_DOWN 10
|
|
#define KEY_DELETE 127
|
|
#define KEY_RIGHT 21
|
|
#endif
|
|
|
|
/* values of faultData - pointer position vs. mouseWindow */
|
|
/* bit numbers */
|
|
#define OFFTOP_BIT 7
|
|
#define OFFBOTTOM_BIT 6
|
|
#define OFFLEFT_BIT 5
|
|
#define OFFRIGHT_BIT 4
|
|
#define OFFMENU_BIT 3
|
|
/* bit masks */
|
|
#define SET_OFFTOP 0x80
|
|
#define SET_OFFBOTTOM 0x40
|
|
#define SET_OFFLEFT 0x20
|
|
#define SET_OFFRIGHT 0x10
|
|
#define SET_OFFMENU 0x08
|
|
|
|
/* mouseOn */
|
|
/* bit numbers */
|
|
#define MOUSEON_BIT 7
|
|
#define MENUON_BIT 6
|
|
#define ICONSON_BIT 5
|
|
/* bit masks */
|
|
#define SET_MSE_ON 0x80
|
|
#define SET_MENUON 0x40
|
|
#define SET_ICONSON 0x20
|
|
|
|
/* pressFlag */
|
|
/* bit numbers */
|
|
#define KEYPRESS_BIT 7
|
|
#define INPUT_BIT 6
|
|
#define MOUSE_BIT 5
|
|
/* bit masks */
|
|
#define SET_KEYPRESS 0x80
|
|
#define SET_INPUTCHG 0x40
|
|
#define SET_MOUSE 0x20
|
|
|
|
#endif
|