mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-18 03:27:05 +00:00
53 lines
1.0 KiB
C++
53 lines
1.0 KiB
C++
/* $Id$ */
|
|
/*
|
|
Copyright (C) 2003 by David White <davidnwhite@optusnet.com.au>
|
|
Part of the Battle for Wesnoth Project http://wesnoth.whitevine.net
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License.
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY.
|
|
|
|
See the COPYING file for more details.
|
|
*/
|
|
#include "key.hpp"
|
|
|
|
#define KEY_TEST 0
|
|
|
|
#if (KEY_TEST == 1)
|
|
|
|
#include "video.hpp"
|
|
|
|
int main( void )
|
|
{
|
|
SDL_Init(SDL_INIT_VIDEO);
|
|
CVideo video( 640, 480, 16, 0 );
|
|
CKey key;
|
|
printf( "press enter (escape exits)...\n" );
|
|
for(;;) {
|
|
if( key[KEY_RETURN] != 0 )
|
|
printf( "key(ENTER) pressed\n" );
|
|
if( key[KEY_ESCAPE] != 0 )
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
#endif
|
|
|
|
CKey::CKey() : is_enabled(true)
|
|
{
|
|
static int num_keys = 300;
|
|
key_list = SDL_GetKeyState( &num_keys );
|
|
}
|
|
|
|
int CKey::operator[]( int code )
|
|
{
|
|
SDL_PumpEvents();
|
|
return (code == KEY_ESCAPE || is_enabled) && int(key_list[code]);
|
|
}
|
|
|
|
void CKey::SetEnabled( bool enable )
|
|
{
|
|
is_enabled = enable;
|
|
}
|