*** empty log message ***
This commit is contained in:
106
sys/amiga/winkey.c
Normal file
106
sys/amiga/winkey.c
Normal file
@@ -0,0 +1,106 @@
|
||||
/* SCCS Id: @(#)winkey.c 3.1 93/04/02 */
|
||||
/* Copyright (c) Gregg Wonderly, Naperville, Illinois, 1991,1992,1993. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
#include "NH:sys/amiga/windefs.h"
|
||||
#include "NH:sys/amiga/winext.h"
|
||||
#include "NH:sys/amiga/winproto.h"
|
||||
|
||||
amii_nh_poskey(x, y, mod)
|
||||
int*x, *y, *mod;
|
||||
{
|
||||
struct amii_WinDesc *cw;
|
||||
WETYPE type;
|
||||
struct RastPort *rp;
|
||||
struct Window *w;
|
||||
|
||||
if( cw = amii_wins[WIN_MESSAGE] )
|
||||
{
|
||||
cw->wflags &= ~FLMAP_SKIP;
|
||||
if( scrollmsg )
|
||||
cw->wflags |= FLMSG_FIRST;
|
||||
cw->disprows = 0;
|
||||
}
|
||||
|
||||
if( WIN_MAP != WIN_ERR && (cw = amii_wins[ WIN_MAP ]) && ( w = cw->win ) )
|
||||
{
|
||||
cursor_on( WIN_MAP );
|
||||
}
|
||||
else
|
||||
panic( "no MAP window opened for nh_poskey\n" );
|
||||
|
||||
rp = w->RPort;
|
||||
|
||||
while( 1 )
|
||||
{
|
||||
type = WindowGetevent( );
|
||||
if( type == WEMOUSE )
|
||||
{
|
||||
*mod = CLICK_1;
|
||||
if( lastevent.un.mouse.qual )
|
||||
*mod = 0;
|
||||
|
||||
/* X coordinates are 1 based, Y are 1 based. */
|
||||
*x = ( (lastevent.un.mouse.x - w->BorderLeft) / mxsize ) + 1;
|
||||
*y = ( ( lastevent.un.mouse.y - w->BorderTop - MAPFTBASELN ) /
|
||||
mysize ) + 1;
|
||||
#ifdef CLIPPING
|
||||
if( clipping )
|
||||
{
|
||||
*x += clipx;
|
||||
*y += clipy;
|
||||
}
|
||||
#endif
|
||||
return( 0 );
|
||||
}
|
||||
else if( type == WEKEY )
|
||||
{
|
||||
lastevent.type = WEUNK;
|
||||
return( lastevent.un.key );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
amii_nhgetch()
|
||||
{
|
||||
int ch;
|
||||
struct amii_WinDesc *cw=amii_wins[WIN_MESSAGE];
|
||||
|
||||
if( WIN_MAP != WIN_ERR && amii_wins[ WIN_MAP ] )
|
||||
{
|
||||
cursor_on( WIN_MAP );
|
||||
}
|
||||
if(cw)
|
||||
cw->wflags &= ~FLMAP_SKIP;
|
||||
|
||||
ch = WindowGetchar();
|
||||
return( ch );
|
||||
}
|
||||
|
||||
void
|
||||
amii_get_nh_event()
|
||||
{
|
||||
/* nothing now - later I have no idea. Is this just a Mac hook? */
|
||||
}
|
||||
|
||||
void
|
||||
amii_getret()
|
||||
{
|
||||
register int c;
|
||||
|
||||
raw_print( "" );
|
||||
raw_print( "Press Return..." );
|
||||
|
||||
c = 0;
|
||||
|
||||
while( c != '\n' && c != '\r' )
|
||||
{
|
||||
if( HackPort )
|
||||
c = WindowGetchar();
|
||||
else
|
||||
c = getchar();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user