本文整理汇总了C++中clear_from函数的典型用法代码示例。如果您正苦于以下问题:C++ clear_from函数的具体用法?C++ clear_from怎么用?C++ clear_from使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了clear_from函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: get_game_mode
/*
* Have the player decide, before the game is started, if they are playing NPP Moria or NPPAngband
*/
static void get_game_mode(void)
{
int cursor = 0;
ui_event_data c = EVENT_EMPTY;
const char cmd_keys[] = { ARROW_LEFT, ARROW_RIGHT, '\0' };
menu_type menu;
menu_iter menu_f = { tag_game_mode_item , valid_game_mode_item, display_game_mode_item, NULL};
WIPE(&menu, menu_type);
menu.cmd_keys = cmd_keys;
menu.title = "Please select a game to play.";
menu.count = N_ELEMENTS(game_mode_menu),
menu_init(&menu, MN_SKIN_SCROLL, &menu_f, &SCREEN_REGION);
/* Start with a blank screen */
game_mode = 0;
while (game_mode == 0)
{
clear_from(0);
c = menu_select(&menu, &cursor, 0);
if (c.type == EVT_SELECT)
{
if ((size_t) cursor < N_ELEMENTS(game_mode_menu))
{
game_mode_menu[cursor].action(NULL);
}
}
}
/* Clear the screen */
clear_from(0);
}
开发者ID:NickMcConnell,项目名称:NPPAngband,代码行数:38,代码来源:init2.c
示例2: textui_birth_quickstart
/**
* ------------------------------------------------------------------------
* Quickstart? screen.
* ------------------------------------------------------------------------ */
static enum birth_stage textui_birth_quickstart(void)
{
const char *prompt = "['Y' to use this character, 'N' to start afresh, 'C' to change name or history]";
enum birth_stage next = BIRTH_QUICKSTART;
/* Prompt for it */
prt("New character based on previous one:", 0, 0);
prt(prompt, Term->hgt - 1, Term->wid / 2 - strlen(prompt) / 2);
do {
/* Get a key */
struct keypress ke = inkey();
if (ke.code == 'N' || ke.code == 'n') {
cmdq_push(CMD_BIRTH_RESET);
next = BIRTH_RACE_CHOICE;
} else if (ke.code == KTRL('X')) {
quit(NULL);
} else if (ke.code == 'C' || ke.code == 'c') {
next = BIRTH_NAME_CHOICE;
} else if (ke.code == 'Y' || ke.code == 'y') {
cmdq_push(CMD_ACCEPT_CHARACTER);
next = BIRTH_COMPLETE;
}
} while (next == BIRTH_QUICKSTART);
/* Clear prompt */
clear_from(23);
return next;
}
开发者ID:danaris,项目名称:tgcangband,代码行数:36,代码来源:ui-birth.c
示例3: wiz_create_artifact
/*
* Choose and create an instance of an object kind
*/
static void wiz_create_artifact(void)
{
size_t num, i;
menu_type *menu = menu_new(MN_SKIN_COLUMNS, &wiz_create_item_menu);
tval_desc *a_tvals;
choose_artifact = TRUE;
a_tvals = C_ZNEW(N_ELEMENTS(tvals), tval_desc);
for (num = i = 0; i < N_ELEMENTS(tvals); i++) {
/* Don't show tvals with no artifacts. */
if (!(tvals[i].can_be_artifact))
continue;
/* Increment number of items in list. */
a_tvals[num++] = tvals[i];
}
menu->selections = all_letters;
menu->title = "What kind of artifact?";
screen_save();
clear_from(0);
menu_setpriv(menu, num, a_tvals);
menu_layout(menu, &wiz_create_item_area);
menu_select(menu, 0, FALSE);
screen_load();
FREE(a_tvals);
}
开发者ID:NickMcConnell,项目名称:Beleriand,代码行数:35,代码来源:wizard2.c
示例4: wiz_create_item
/*
* Choose and create an instance of an object kind
*/
static void wiz_create_item(void)
{
int tvals[TV_MAX];
size_t i, n;
menu_type *menu = menu_new(MN_SKIN_COLUMNS, &wiz_create_item_menu);
menu->selections = all_letters;
menu->title = "What kind of object?";
/* Make a list of all tvals for the filter */
for (i = 0, n = 0; i < TV_MAX; i++) {
if (!kb_info[i].name)
continue;
tvals[n++] = i;
}
screen_save();
clear_from(0);
menu_setpriv(menu, TV_MAX, kb_info);
menu_set_filter(menu, tvals, n);
menu_layout(menu, &wiz_create_item_area);
menu_select(menu, 0, FALSE);
screen_load();
/* Redraw map */
p_ptr->redraw |= (PR_MAP | PR_ITEMLIST);
handle_stuff(p_ptr);
}
开发者ID:mtadd,项目名称:angband,代码行数:36,代码来源:wizard.c
示例5: htmlDocument
void Textual::remove(const Index& index) {
DOM::HTMLDocument document = htmlDocument();
if(index.atVariationStart()) {
DOM::Element vc = document.getElementById("vc_"+index);
if(!vc.isNull()) {
/* remove a number? */
DOM::Element comm(vc.previousSibling());
DOM::Element mvnum(vc.nextSibling());
if(!mvnum.isNull() && mvnum.getAttribute("id").string().startsWith("nm_") &&
!comm.isNull() && comm.getAttribute("id").string().startsWith("cm_"))
{
DOM::Element move(mvnum.nextSibling());
int mv_num = move.getAttribute("mvnum").string().toInt();
int sub_mv_num = move.getAttribute("submvnum").string().toInt();
if(!(mv_num>0 && (sub_mv_num==0 && (mv_num%2 || m_layout_style))))
mvnum.parentNode().removeChild(mvnum);
}
vc.parentNode().removeChild(vc);
}
}
else {
DOM::Element rm = document.getElementById("nm_"+index);
if(rm.isNull())
rm = document.getElementById("mv_"+index);
if(!rm.isNull())
clear_from(rm);
}
if(m_curr_selected >= index)
m_curr_selected = Index(-1);
}
开发者ID:Axure,项目名称:tagua,代码行数:30,代码来源:movelist_textual.cpp
示例6: quality_menu
/*
* Display quality squelch menu.
*/
static void quality_menu(void *unused, const char *also_unused)
{
menu_type menu;
menu_iter menu_f = { NULL, NULL, quality_display, quality_action };
region area = { 1, 5, -1, -1 };
/* Save screen */
screen_save();
clear_from(0);
/* Help text */
prt("Quality squelch menu", 0, 0);
Term_gotoxy(1, 1);
text_out_to_screen(TERM_L_RED, "Use the movement keys to navigate, and Enter to change settings.");
/* Set up the menu */
menu_init(&menu, MN_SKIN_SCROLL, &menu_f);
menu_setpriv(&menu, TYPE_MAX, quality_values);
menu_layout(&menu, &area);
/* Select an entry */
menu_select(&menu, 0);
/* Load screen */
screen_load();
return;
}
开发者ID:cinereaste,项目名称:angband,代码行数:31,代码来源:squelch.c
示例7: display_player
/**
* Display the character on the screen (two different modes)
*
* The top two lines, and the bottom line (or two) are left blank.
*
* Mode 0 = standard display with skills/history
* Mode 1 = special display with equipment flags
*/
void display_player(int mode)
{
/* Erase screen */
clear_from(0);
/* When not playing, do not display in subwindows */
if (Term != angband_term[0] && !player->upkeep->playing) return;
/* Stat info */
display_player_stat_info();
if (mode) {
struct panel *p = panels[0].panel();
display_panel(p, panels[0].align_left, &panels[0].bounds);
panel_free(p);
/* Stat/Sustain flags */
display_player_sust_info();
/* Other flags */
display_player_flag_info();
} else {
/* Extra info */
display_player_xtra_info();
}
}
开发者ID:angband,项目名称:angband,代码行数:34,代码来源:ui-player.c
示例8: display_player
/*
* Display the character on the screen (two different modes)
*
* The top two lines, and the bottom line (or two) are left blank.
*
* Mode 0 = standard display with skills/history
* Mode 1 = special display with equipment flags
*/
void display_player(int mode)
{
/* Erase screen */
clear_from(0);
/* Stat info */
display_player_stat_info();
if (mode)
{
data_panel data[MAX_PANEL];
int rows = get_panel(1, data, N_ELEMENTS(data));
display_panel(data, rows, 1, &boundaries[1]);
/* Stat/Sustain flags */
display_player_sust_info();
/* Other flags */
display_player_flag_info();
}
/* Standard */
else
{
/* Extra info */
display_player_xtra_info();
}
}
开发者ID:EpicMan,项目名称:angband,代码行数:38,代码来源:files.c
示例9: get_confirm_command
/**
* ------------------------------------------------------------------------
* Final confirmation of character.
* ------------------------------------------------------------------------ */
static enum birth_stage get_confirm_command(void)
{
const char *prompt = "['ESC' to step back, 'S' to start over, or any other key to continue]";
struct keypress ke;
enum birth_stage next = BIRTH_RESET;
/* Prompt for it */
prt(prompt, Term->hgt - 1, Term->wid / 2 - strlen(prompt) / 2);
/* Get a key */
ke = inkey();
/* Start over */
if (ke.code == 'S' || ke.code == 's') {
next = BIRTH_RESET;
} else if (ke.code == KTRL('X')) {
quit(NULL);
} else if (ke.code == ESCAPE) {
next = BIRTH_BACK;
} else {
cmdq_push(CMD_ACCEPT_CHARACTER);
next = BIRTH_COMPLETE;
}
/* Clear prompt */
clear_from(23);
return next;
}
开发者ID:danaris,项目名称:tgcangband,代码行数:34,代码来源:ui-birth.c
示例10: get_quickstart_command
/* ------------------------------------------------------------------------
* Quickstart? screen.
* ------------------------------------------------------------------------ */
static enum birth_stage get_quickstart_command(void)
{
const char *prompt = "['Y' to use this character, 'N' to start afresh, 'C' to change name]";
ui_event_data ke;
enum birth_stage next = BIRTH_QUICKSTART;
/* Prompt for it */
prt("New character based on previous one:", 0, 0);
prt(prompt, Term->hgt - (mouse_buttons ? 2 : 1), Term->wid / 2 - strlen(prompt) / 2);
/* Buttons */
button_kill_all();
button_add("[YES]", 'y');
button_add("[START_OVER]", 'n');
button_add("[CHANGE_NAME]", 'c');
redraw_stuff();
event_signal(EVENT_MOUSEBUTTONS);
do
{
/* Get a key */
ke = inkey_ex();
if (ke.key == 'N' || ke.key == 'n')
{
cmd_insert(CMD_BIRTH_RESET, TRUE);
next = BIRTH_SEX_CHOICE;
}
else if (ke.key == KTRL('X'))
{
cmd_insert(CMD_QUIT);
next = BIRTH_COMPLETE;
}
else if (ke.key == 'C' || ke.key == 'c')
{
next = BIRTH_NAME_CHOICE;
}
else if (ke.key == 'Y' || ke.key == 'y')
{
cmd_insert(CMD_ACCEPT_CHARACTER);
next = BIRTH_COMPLETE;
}
} while (next == BIRTH_QUICKSTART);
/* Buttons */
button_kill_all();
handle_stuff();
event_signal(EVENT_MOUSEBUTTONS);
/* Clear prompt */
clear_from(23);
return next;
}
开发者ID:NickMcConnell,项目名称:NPPAngband,代码行数:58,代码来源:ui-birth.c
示例11: display_object_recall
/**
* This draws the Object Recall subwindow when displaying a particular object
* (e.g. a helmet in the backpack, or a scroll on the ground)
*/
void display_object_recall(struct object *obj)
{
char header_buf[120];
textblock *tb = object_info(obj, OINFO_NONE);
object_desc(header_buf, sizeof(header_buf), obj, ODESC_PREFIX | ODESC_FULL);
clear_from(0);
textui_textblock_place(tb, SCREEN_REGION, header_buf);
textblock_free(tb);
}
开发者ID:angband,项目名称:angband,代码行数:15,代码来源:ui-object.c
示例12: target_display_help
/*
* Display targeting help at the bottom of the screen.
*/
static void target_display_help(bool monster, bool free)
{
/* Determine help location */
int wid, hgt, help_loc;
Term_get_size(&wid, &hgt);
help_loc = hgt - HELP_HEIGHT - (mouse_buttons ? 1 : 0);
/* Clear */
clear_from(help_loc);
/* Prepare help hooks */
text_out_hook = text_out_to_screen;
text_out_indent = 1;
Term_gotoxy(1, help_loc);
/* Display help */
text_out_c(TERM_L_GREEN, "<dir>");
text_out(" and ");
text_out_c(TERM_L_GREEN, "<click>");
text_out(" look around. '");
text_out_c(TERM_L_GREEN, "g");
text_out(" moves to the selection. '");
text_out_c(TERM_L_GREEN, "p");
text_out("' selects the player. '");
text_out_c(TERM_L_GREEN, "q");
text_out("' exits. '");
text_out_c(TERM_L_GREEN, "r");
text_out("' displays details. '");
if (free)
{
text_out_c(TERM_L_GREEN, "m");
text_out("' restricts to interesting places. ");
}
else
{
text_out_c(TERM_L_GREEN, "+");
text_out("' and '");
text_out_c(TERM_L_GREEN, "-");
text_out("' cycle through interesting places. '");
text_out_c(TERM_L_GREEN, "o");
text_out("' allows free selection. ");
}
if (monster || free)
{
text_out("'");
text_out_c(TERM_L_GREEN, "t");
text_out("' targets the current selection.");
}
/* Reset */
text_out_indent = 0;
}
开发者ID:antoine-from-rgrd,项目名称:Minimal,代码行数:57,代码来源:target.c
示例13: get_quickstart_command
/* ------------------------------------------------------------------------
* Quickstart? screen.
* ------------------------------------------------------------------------ */
static enum birth_stage get_quickstart_command(void)
{
const char *prompt = "['Y' to use this character, 'N' to start afresh, 'C' to change name]";
enum birth_stage next = BIRTH_QUICKSTART;
/* Prompt for it */
prt("New character based on previous one:", 0, 0);
prt(prompt, Term->hgt - 1, Term->wid / 2 - strlen(prompt) / 2);
/* Buttons */
button_kill_all();
button_add("[Y]", 'y');
button_add("[N]", 'n');
button_add("[C]", 'c');
redraw_stuff(p_ptr);
do
{
/* Get a key */
struct keypress ke = inkey();
if (ke.code == 'N' || ke.code == 'n')
{
cmd_insert(CMD_BIRTH_RESET);
next = BIRTH_SEX_CHOICE;
}
else if (ke.code == KTRL('X'))
{
cmd_insert(CMD_QUIT);
next = BIRTH_COMPLETE;
}
else if (ke.code == 'C' || ke.code == 'c')
{
next = BIRTH_NAME_CHOICE;
}
else if (ke.code == 'Y' || ke.code == 'y')
{
cmd_insert(CMD_ACCEPT_CHARACTER);
next = BIRTH_COMPLETE;
}
} while (next == BIRTH_QUICKSTART);
/* Buttons */
button_kill_all();
redraw_stuff(p_ptr);
/* Clear prompt */
clear_from(23);
return next;
}
开发者ID:Chiinatso,项目名称:Anquestria,代码行数:55,代码来源:ui-birth.c
示例14: keymap_browse_hook
static void keymap_browse_hook(int oid, void *db, const region *loc)
{
char tmp[1024];
event_signal(EVENT_MESSAGE_FLUSH);
clear_from(13);
/* Show current action */
prt("Current action (if any) shown below:", 13, 0);
keypress_to_text(tmp, sizeof(tmp), keymap_buffer, false);
prt(tmp, 14, 0);
}
开发者ID:CrypticGator,项目名称:angband,代码行数:13,代码来源:ui-options.c
示例15: keymap_browse_hook
static void keymap_browse_hook(int oid, void *db, const region *loc)
{
char tmp[1024];
message_flush();
clear_from(13);
/* Show current action */
prt("Current action (if any) shown below:", 13, 0);
keypress_to_text(tmp, sizeof(tmp), keymap_buffer, false);
prt(tmp, 14, 0);
}
开发者ID:jobjingjo,项目名称:csangband,代码行数:13,代码来源:ui-options.c
示例16: get_confirm_command
/* ------------------------------------------------------------------------
* Final confirmation of character.
* ------------------------------------------------------------------------ */
static enum birth_stage get_confirm_command(void)
{
const char *prompt = "['ESC' to step back, 'S' to start over, or any other key to continue]";
ui_event_data ke;
enum birth_stage next;
/* Prompt for it */
prt(prompt, Term->hgt - (mouse_buttons ? 2 : 1), Term->wid / 2 - strlen(prompt) / 2);
/* Buttons */
button_kill_all();
button_add("[CONTINUE]", 'q');
button_add("[BACK]", ESCAPE);
button_add("[START OVER]", 'S');
handle_stuff();
event_signal(EVENT_MOUSEBUTTONS);
/* Get a key */
ke = inkey_ex();
/* Start over */
if (ke.key == 'S' || ke.key == 's')
{
next = BIRTH_RESET;
}
else if (ke.key == KTRL('X'))
{
cmd_insert(CMD_QUIT);
next = BIRTH_COMPLETE;
}
else if (ke.key == ESCAPE)
{
next = BIRTH_BACK;
}
else
{
cmd_insert(CMD_ACCEPT_CHARACTER);
next = BIRTH_COMPLETE;
}
/* Buttons */
button_kill_all();
handle_stuff();
event_signal(EVENT_MOUSEBUTTONS);
/* Clear prompt */
clear_from(23);
return next;
}
开发者ID:NickMcConnell,项目名称:NPPAngband,代码行数:54,代码来源:ui-birth.c
示例17: sval_menu
/**
* Display list of svals to be ignored.
*/
static bool sval_menu(int tval, const char *desc)
{
struct menu *menu;
region area = { 1, 2, -1, -1 };
ignore_choice *choices;
int n_choices = ignore_collect_kind(tval, &choices);
if (!n_choices)
return false;
/* Sort by name in ignore menus except for categories of items that are
* aware from the start */
switch (tval)
{
case TV_LIGHT:
case TV_MAGIC_BOOK:
case TV_PRAYER_BOOK:
case TV_DRAG_ARMOR:
case TV_GOLD:
/* leave sorted by sval */
break;
default:
/* sort by name */
sort(choices, n_choices, sizeof(*choices), cmp_ignore);
}
/* Save the screen and clear it */
screen_save();
clear_from(0);
/* Help text */
prt(format("Ignore the following %s:", desc), 0, 0);
/* Run menu */
menu = menu_new(MN_SKIN_COLUMNS, &ignore_sval_menu);
menu_setpriv(menu, n_choices, choices);
menu->cmd_keys = "Tt";
menu_layout(menu, &area);
menu_set_cursor_x_offset(menu, 1); /* Place cursor in brackets. */
menu_select(menu, 0, false);
/* Free memory */
mem_free(choices);
/* Load screen */
screen_load();
return true;
}
开发者ID:CrypticGator,项目名称:angband,代码行数:54,代码来源:ui-options.c
示例18: do_cmd_spoilers
/**
* Create Spoiler files
*/
void do_cmd_spoilers(void)
{
if (!spoil_menu) {
spoil_menu = menu_new_action(spoil_actions, N_ELEMENTS(spoil_actions));
spoil_menu->selections = lower_case;
spoil_menu->title = "Create spoilers";
}
screen_save();
clear_from(0);
menu_layout(spoil_menu, &SCREEN_REGION);
menu_select(spoil_menu, 0, false);
screen_load();
}
开发者ID:CrypticGator,项目名称:angband,代码行数:17,代码来源:wiz-spoil.c
示例19: get_confirm_command
/* ------------------------------------------------------------------------
* Final confirmation of character.
* ------------------------------------------------------------------------ */
static enum birth_stage get_confirm_command(void)
{
const char *prompt = "['ESC' to step back, 'S' to start over, or any other key to continue]";
struct keypress ke;
enum birth_stage next;
/* Prompt for it */
prt(prompt, Term->hgt - 1, Term->wid / 2 - strlen(prompt) / 2);
/* Buttons */
button_kill_all();
button_add("[Continue]", 'q');
button_add("[ESC]", ESCAPE);
button_add("[S]", 'S');
redraw_stuff(p_ptr);
/* Get a key */
ke = inkey();
/* Start over */
if (ke.code == 'S' || ke.code == 's')
{
next = BIRTH_RESET;
}
else if (ke.code == KTRL('X'))
{
cmd_insert(CMD_QUIT);
next = BIRTH_COMPLETE;
}
else if (ke.code == ESCAPE)
{
next = BIRTH_BACK;
}
else
{
cmd_insert(CMD_ACCEPT_CHARACTER);
next = BIRTH_COMPLETE;
}
/* Buttons */
button_kill_all();
redraw_stuff(p_ptr);
/* Clear prompt */
clear_from(23);
return next;
}
开发者ID:Chiinatso,项目名称:Anquestria,代码行数:52,代码来源:ui-birth.c
示例20: wiz_gf_demo
static void wiz_gf_demo(void)
{
menu_type *m = menu_new(MN_SKIN_SCROLL, &gf_iter);
region loc = { 0, 0, 0, 0 };
menu_setpriv(m, GF_MAX, NULL);
m->title = "GF_ types display";
menu_layout(m, &loc);
screen_save();
clear_from(0);
menu_select(m, 0, FALSE);
screen_load();
}
开发者ID:mtadd,项目名称:angband,代码行数:15,代码来源:wizard.c
注:本文中的clear_from函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论