mirror of
https://github.com/wesnoth/wesnoth
synced 2024-09-20 07:51:33 +00:00
52 lines
1.0 KiB
C++
52 lines
1.0 KiB
C++
|
/*
|
||
|
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;
|
||
|
}
|