本文整理汇总了C++中input_manager::reset_timeout方法的典型用法代码示例。如果您正苦于以下问题:C++ input_manager::reset_timeout方法的具体用法?C++ input_manager::reset_timeout怎么用?C++ input_manager::reset_timeout使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类input_manager
的用法示例。
在下文中一共展示了input_manager::reset_timeout方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
const std::string &input_context::handle_input( const int timeout )
{
inp_mngr.set_timeout( timeout );
const std::string &result = handle_input();
inp_mngr.reset_timeout();
return result;
}
示例2: display_menu
void input_context::display_menu()
{
inp_mngr.reset_timeout();
// Shamelessly stolen from help.cpp
input_context ctxt( "HELP_KEYBINDINGS" );
ctxt.register_action( "UP", _( "Scroll up" ) );
ctxt.register_action( "DOWN", _( "Scroll down" ) );
ctxt.register_action( "PAGE_DOWN" );
ctxt.register_action( "PAGE_UP" );
ctxt.register_action( "REMOVE" );
ctxt.register_action( "ADD_LOCAL" );
ctxt.register_action( "ADD_GLOBAL" );
ctxt.register_action( "QUIT" );
ctxt.register_action( "ANY_INPUT" );
if( category != "HELP_KEYBINDINGS" ) {
// avoiding inception!
ctxt.register_action( "HELP_KEYBINDINGS" );
}
std::string hotkeys = ctxt.get_available_single_char_hotkeys( display_help_hotkeys );
int maxwidth = max( FULL_SCREEN_WIDTH, TERMX );
int width = min( 80, maxwidth );
int maxheight = max( FULL_SCREEN_HEIGHT, TERMY );
int height = min( maxheight, ( int ) hotkeys.size() + LEGEND_HEIGHT + BORDER_SPACE );
catacurses::window w_help = catacurses::newwin( height - 2, width - 2, maxheight / 2 - height / 2,
maxwidth / 2 - width / 2 );
// has the user changed something?
bool changed = false;
// keybindings before the user changed anything.
input_manager::t_action_contexts old_action_contexts( inp_mngr.action_contexts );
// current status: adding/removing/showing keybindings
enum { s_remove, s_add, s_add_global, s_show } status = s_show;
// copy of registered_actions, but without the ANY_INPUT and COORDINATE, which should not be shown
std::vector<std::string> org_registered_actions( registered_actions );
org_registered_actions.erase( std::remove_if( org_registered_actions.begin(),
org_registered_actions.end(),
[]( const std::string & a ) {
return a == ANY_INPUT || a == COORDINATE;
} ), org_registered_actions.end() );
// colors of the keybindings
static const nc_color global_key = c_light_gray;
static const nc_color local_key = c_light_green;
static const nc_color unbound_key = c_light_red;
// (vertical) scroll offset
size_t scroll_offset = 0;
// height of the area usable for display of keybindings, excludes headers & borders
const size_t display_height = height - LEGEND_HEIGHT - BORDER_SPACE; // -2 for the border
// width of the legend
const size_t legwidth = width - 4 - BORDER_SPACE;
// keybindings help
std::ostringstream legend;
legend << "<color_" << string_from_color( unbound_key ) << ">" << _( "Unbound keys" ) <<
"</color>\n";
legend << "<color_" << string_from_color( local_key ) << ">" <<
_( "Keybinding active only on this screen" ) << "</color>\n";
legend << "<color_" << string_from_color( global_key ) << ">" << _( "Keybinding active globally" )
<<
"</color>\n";
legend << _( "Press - to remove keybinding\nPress + to add local keybinding\nPress = to add global keybinding\n" );
std::vector<std::string> filtered_registered_actions = org_registered_actions;
std::string filter_phrase;
std::string action;
long raw_input_char = 0;
string_input_popup spopup;
spopup.window( w_help, 4, 8, legwidth )
.max_length( legwidth )
.context( ctxt );
while( true ) {
werase( w_help );
draw_border( w_help, BORDER_COLOR, _( "Keybindings" ), c_light_red );
draw_scrollbar( w_help, scroll_offset, display_height,
filtered_registered_actions.size(), 10, 0, c_white, true );
fold_and_print( w_help, 1, 2, legwidth, c_white, legend.str() );
for( size_t i = 0; i + scroll_offset < filtered_registered_actions.size() &&
i < display_height; i++ ) {
const std::string &action_id = filtered_registered_actions[i + scroll_offset];
bool overwrite_default;
const action_attributes &attributes = inp_mngr.get_action_attributes( action_id, category,
&overwrite_default );
char invlet;
if( i < hotkeys.size() ) {
invlet = hotkeys[i];
} else {
invlet = ' ';
}
if( status == s_add_global && overwrite_default ) {
// We're trying to add a global, but this action has a local
// defined, so gray out the invlet.
//.........这里部分代码省略.........