这篇教程C++ wgettext函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中wgettext函数的典型用法代码示例。如果您正苦于以下问题:C++ wgettext函数的具体用法?C++ wgettext怎么用?C++ wgettext使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了wgettext函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: removeChildrenvoid GUIVolumeChange::regenerateGui(v2u32 screensize){ /* Remove stuff */ removeChildren(); /* Calculate new sizes and positions */ core::rect<s32> rect( screensize.X/2 - 380/2, screensize.Y/2 - 200/2, screensize.X/2 + 380/2, screensize.Y/2 + 200/2 ); DesiredRect = rect; recalculateAbsolutePosition(false); v2s32 size = rect.getSize(); v2s32 topleft_client(40, 0); v2s32 size_client = size - v2s32(40, 0); int volume=(int)(g_settings->getFloat("sound_volume")*100); /* Add stuff */ changeCtype(""); { core::rect<s32> rect(0, 0, 120, 20); rect = rect + v2s32(size.X/2-60, size.Y/2-35); wchar_t* text = wgettext("Sound Volume: "); Environment->addStaticText(text, rect, false, true, this, ID_soundText1); delete[] text; } { core::rect<s32> rect(0, 0, 30, 20); rect = rect + v2s32(size.X/2+40, size.Y/2-35); Environment->addStaticText(core::stringw(volume).c_str(), rect, false, true, this, ID_soundText2); } { core::rect<s32> rect(0, 0, 80, 30); rect = rect + v2s32(size.X/2-80/2, size.Y/2+55); wchar_t* text = wgettext("Exit"); Environment->addButton(rect, this, ID_soundExitButton, text); delete[] text; } { core::rect<s32> rect(0, 0, 300, 20); rect = rect + v2s32(size.X/2-150, size.Y/2); gui::IGUIScrollBar *e = Environment->addScrollBar(true, rect, this, ID_soundSlider); e->setMax(100); e->setPos(volume); } changeCtype("");}
开发者ID:0gb-us,项目名称:minetest,代码行数:60,
示例2: removeChildrenvoid GUIConfirmMenu::regenerateGui(v2u32 screensize){ /* Remove stuff */ removeChildren(); /* Calculate new sizes and positions */ core::rect<s32> rect( screensize.X/2 - 580/2, screensize.Y/2 - 300/2, screensize.X/2 + 580/2, screensize.Y/2 + 300/2 ); DesiredRect = rect; recalculateAbsolutePosition(false); v2s32 size = rect.getSize(); /* Add stuff */ { core::rect<s32> rect(0, 0, 300, 20); rect += v2s32(size.X/2-300/2, size.Y/2-30/2-25); Environment->addStaticText(m_message_text.c_str(), rect, false, true, this, -1); } changeCtype(""); int bw = 100; { core::rect<s32> rect(0, 0, bw, 30); rect = rect + v2s32(size.X/2-bw/2-(bw/2+5), size.Y/2-30/2+25); Environment->addButton(rect, this, GUI_ID_YES, wgettext("Yes")); } { core::rect<s32> rect(0, 0, bw, 30); rect = rect + v2s32(size.X/2-bw/2+(bw/2+5), size.Y/2-30/2+25); Environment->addButton(rect, this, GUI_ID_NO, wgettext("No")); } changeCtype("C");}
开发者ID:fusionlightcat,项目名称:minetest,代码行数:47,
示例3: removeChildrenvoid GUIDeathScreen::regenerateGui(v2u32 screensize){ m_screensize = screensize; /* Remove stuff */ removeChildren(); /* Calculate new sizes and positions */ core::rect<s32> rect( screensize.X/2 - 500/2, screensize.Y/2 - 200/2, screensize.X/2 + 500/2, screensize.Y/2 + 200/2 ); DesiredRect = rect; recalculateAbsolutePosition(false); v2s32 size = rect.getSize(); /* Add stuff */ { core::rect<s32> rect(0, 0, 400, 50); rect = rect + v2s32(size.X/2-400/2, size.Y/2-50/2-25); wchar_t* text = wgettext("Death has overcome you! D:"); Environment->addStaticText(text, rect, false, true, this, 256); delete[] text; } { core::rect<s32> rect(0, 0, 140, 30); rect = rect + v2s32(size.X/2-140/2, size.Y/2-30/2+25); wchar_t* text = wgettext("Respawn"); gui::IGUIElement *e = Environment->addButton(rect, this, 257, text); delete[] text; Environment->setFocus(e); }}
开发者ID:whiskers75,项目名称:minetest-mac,代码行数:47,
示例4: GUIMessageMenuvoid GUIMainMenu::deleteWorld(const std::vector<std::string> &paths){ // Delete files bool did = fs::DeletePaths(paths); if(!did){ GUIMessageMenu *menu = new GUIMessageMenu(env, parent, -1, menumgr, wgettext("Failed to delete all world files")); menu->drop(); } // Quit menu to refresh it acceptInput(); m_data->only_refresh = true; quitMenu();}
开发者ID:Anchakor,项目名称:minetest,代码行数:14,
示例5: accepted void accepted(std::wstring name, std::string gameid) { std::string name_narrow = wide_to_narrow(name); if(!string_allowed_blacklist(name_narrow, WORLDNAME_BLACKLISTED_CHARS)) { wchar_t* text = wgettext("Cannot create world: Name contains invalid characters"); m_menu->displayMessageMenu(text); delete[] text; return; } std::vector<WorldSpec> worlds = getAvailableWorlds(); for(std::vector<WorldSpec>::iterator i = worlds.begin(); i != worlds.end(); i++) { if((*i).name == name_narrow) { wchar_t* text = wgettext("Cannot create world: A world by this name already exists"); m_menu->displayMessageMenu(text); delete[] text; return; } } m_menu->createNewWorld(name, gameid); }
开发者ID:Imberflur,项目名称:minetest,代码行数:24,
示例6: updateProfilervoid GameUI::toggleProfiler(){ m_profiler_current_page = (m_profiler_current_page + 1) % (m_profiler_max_page + 1); // FIXME: This updates the profiler with incomplete values updateProfiler(); if (m_profiler_current_page != 0) { wchar_t buf[255]; const wchar_t* str = wgettext("Profiler shown (page %d of %d)"); swprintf(buf, sizeof(buf) / sizeof(wchar_t), str, m_profiler_current_page, m_profiler_max_page); delete[] str; showStatusText(buf); } else { showTranslatedStatusText("Profiler hidden"); }}
开发者ID:GottfriedSp,项目名称:minetest,代码行数:18,
示例7: removeChildrenvoid GUIMessage::regenerateGui(v2u32 screensize){ m_screensize = screensize; /* Remove stuff */ removeChildren(); /* Calculate new sizes and positions */ core::rect<s32> rect( screensize.X - screensize.X/4, 0, screensize.X, screensize.Y/4 ); DesiredRect = rect; recalculateAbsolutePosition(false); v2s32 size = rect.getSize(); const s32 btn_height = 30; const s32 btn_gap = 50; const s32 btn_gap_hor = 50; const s32 btn_num = 2; const s32 btn_width = 140; /* Add stuff */ changeCtype(""); { core::rect<s32> rect(0, 0, size.X, size.Y); rect = rect + v2s32(size.X/2-400/2, size.Y/2-50/2-25); gui::IGUIStaticText *e = Environment->addStaticText(wgettext(m_text.c_str()), rect, false, true, this, 256); e->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_CENTER); } changeCtype("C");}
开发者ID:Jeija,项目名称:BlockPlanet,代码行数:43,
示例8: removeChildrenvoid GUIMessageMenu::regenerateGui(v2u32 screensize){ /* Remove stuff */ removeChildren(); /* Calculate new sizes and positions */ core::rect<s32> rect( screensize.X/2 - 580/2, screensize.Y/2 - 300/2, screensize.X/2 + 580/2, screensize.Y/2 + 300/2 ); DesiredRect = rect; recalculateAbsolutePosition(false); v2s32 size = rect.getSize(); /* Add stuff */ { core::rect<s32> rect(0, 0, 400, 50); rect = rect + v2s32(size.X/2-400/2, size.Y/2-50/2-25); Environment->addStaticText(m_message_text.c_str(), rect, false, true, this, 256); } changeCtype(""); { core::rect<s32> rect(0, 0, 140, 30); rect = rect + v2s32(size.X/2-140/2, size.Y/2-30/2+25); gui::IGUIElement *e = Environment->addButton(rect, this, 257, wgettext("Proceed")); Environment->setFocus(e); } changeCtype("C");}
开发者ID:Jordach,项目名称:Minetest-Classic,代码行数:42,
示例9: wgettextbool GUIKeyChangeMenu::resetMenu(){ if (activeKey >= 0) { for(size_t i = 0; i < key_settings.size(); i++) { key_setting *k = key_settings.at(i); if(k->id == activeKey) { const wchar_t *text = wgettext(k->key.name()); k->button->setText(text); delete[] text; break; } } activeKey = -1; return false; } return true;}
开发者ID:proller,项目名称:minetest,代码行数:20,
示例10: getElementFromIdvoid GUITextInputMenu::regenerateGui(v2u32 screensize){ std::wstring text; { gui::IGUIElement *e = getElementFromId(256); if(e != NULL) { text = e->getText(); } else { text = m_initial_text; m_initial_text = L""; } } /* Remove stuff */ removeChildren(); /* Calculate new sizes and positions */ core::rect<s32> rect( screensize.X/2 - 580/2, screensize.Y/2 - 300/2, screensize.X/2 + 580/2, screensize.Y/2 + 300/2 ); DesiredRect = rect; recalculateAbsolutePosition(false); v2s32 size = rect.getSize(); /* Add stuff */ { core::rect<s32> rect(0, 0, 300, 30); rect = rect + v2s32(size.X/2-300/2, size.Y/2-30/2-25); #if USE_FREETYPE gui::IGUIElement *e = (gui::IGUIElement *) new gui::intlGUIEditBox(text.c_str(), true, Environment, this, 256, rect); e->drop(); #else gui::IGUIElement *e = Environment->addEditBox(text.c_str(), rect, true, this, 256); #endif Environment->setFocus(e); irr::SEvent evt; evt.EventType = EET_KEY_INPUT_EVENT; evt.KeyInput.Key = KEY_END; evt.KeyInput.PressedDown = true; e->OnEvent(evt); } changeCtype(""); { core::rect<s32> rect(0, 0, 140, 30); rect = rect + v2s32(size.X/2-140/2, size.Y/2-30/2+25); wchar_t* text = wgettext("Proceed"); Environment->addButton(rect, this, 257, text); delete[] text; } changeCtype("C");}
开发者ID:0gb-us,项目名称:minetest,代码行数:68,
示例11: kpbool GUIKeyChangeMenu::OnEvent(const SEvent& event){ if (event.EventType == EET_KEY_INPUT_EVENT && activeKey >= 0 && event.KeyInput.PressedDown) { bool prefer_character = shift_down; KeyPress kp(event.KeyInput, prefer_character); bool shift_went_down = false; if(!shift_down && (event.KeyInput.Key == irr::KEY_SHIFT || event.KeyInput.Key == irr::KEY_LSHIFT || event.KeyInput.Key == irr::KEY_RSHIFT)) shift_went_down = true; // Remove Key already in use message if(this->key_used_text) { this->key_used_text->remove(); this->key_used_text = NULL; } // Display Key already in use message if (std::find(this->key_used.begin(), this->key_used.end(), kp) != this->key_used.end()) { core::rect < s32 > rect(0, 0, 600, 40); rect += v2s32(0, 0) + v2s32(25, 30); const wchar_t *text = wgettext("Key already in use"); this->key_used_text = Environment->addStaticText(text, rect, false, true, this, -1); delete[] text; //infostream << "Key already in use" << std::endl; } // But go on { key_setting *k = NULL; for(size_t i = 0; i < key_settings.size(); i++) { if(key_settings.at(i)->id == activeKey) { k = key_settings.at(i); break; } } FATAL_ERROR_IF(k == NULL, "Key setting not found"); k->key = kp; const wchar_t *text = wgettext(k->key.name()); k->button->setText(text); delete[] text; this->key_used.push_back(kp); // Allow characters made with shift if(shift_went_down){ shift_down = true; return false; }else{ activeKey = -1; return true; } } } if (event.EventType == EET_GUI_EVENT) { if (event.GUIEvent.EventType == gui::EGET_ELEMENT_FOCUS_LOST && isVisible()) { if (!canTakeFocus(event.GUIEvent.Element)) { dstream << "GUIMainMenu: Not allowing focus change." << std::endl; // Returning true disables focus change return true; } } if (event.GUIEvent.EventType == gui::EGET_BUTTON_CLICKED) { switch (event.GUIEvent.Caller->getID()) { case GUI_ID_BACK_BUTTON: //back acceptInput(); quitMenu(); return true; case GUI_ID_ABORT_BUTTON: //abort quitMenu(); return true; default: key_setting *k = NULL; for(size_t i = 0; i < key_settings.size(); i++) { if(key_settings.at(i)->id == event.GUIEvent.Caller->getID()) { k = key_settings.at(i); break; } } FATAL_ERROR_IF(k == NULL, "Key setting not found"); resetMenu();//.........这里部分代码省略.........
开发者ID:proller,项目名称:minetest,代码行数:101,
示例12: removeChildrenvoid GUIKeyChangeMenu::regenerateGui(v2u32 screensize){ removeChildren(); v2s32 size(620, 430); core::rect < s32 > rect(screensize.X / 2 - size.X / 2, screensize.Y / 2 - size.Y / 2, screensize.X / 2 + size.X / 2, screensize.Y / 2 + size.Y / 2); DesiredRect = rect; recalculateAbsolutePosition(false); v2s32 topleft(0, 0); { core::rect < s32 > rect(0, 0, 600, 40); rect += topleft + v2s32(25, 3); //gui::IGUIStaticText *t = const wchar_t *text = wgettext("Keybindings. (If this menu screws up, remove stuff from minetest.conf)"); Environment->addStaticText(text, rect, false, true, this, -1); delete[] text; //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT); } // Build buttons v2s32 offset(25, 60); for(size_t i = 0; i < key_settings.size(); i++) { key_setting *k = key_settings.at(i); { core::rect < s32 > rect(0, 0, 110, 20); rect += topleft + v2s32(offset.X, offset.Y); Environment->addStaticText(k->button_name, rect, false, true, this, -1); } { core::rect < s32 > rect(0, 0, 100, 30); rect += topleft + v2s32(offset.X + 115, offset.Y - 5); const wchar_t *text = wgettext(k->key.name()); k->button = Environment->addButton(rect, this, k->id, text); delete[] text; } if(i + 1 == KMaxButtonPerColumns) offset = v2s32(260, 60); else offset += v2s32(0, 25); } { s32 option_x = offset.X; s32 option_y = offset.Y + 5; u32 option_w = 180; { core::rect<s32> rect(0, 0, option_w, 30); rect += topleft + v2s32(option_x, option_y); const wchar_t *text = wgettext("/"Use/" = climb down"); Environment->addCheckBox(g_settings->getBool("aux1_descends"), rect, this, GUI_ID_CB_AUX1_DESCENDS, text); delete[] text; } offset += v2s32(0, 25); } { s32 option_x = offset.X; s32 option_y = offset.Y + 5; u32 option_w = 280; { core::rect<s32> rect(0, 0, option_w, 30); rect += topleft + v2s32(option_x, option_y); const wchar_t *text = wgettext("Double tap /"jump/" to toggle fly"); Environment->addCheckBox(g_settings->getBool("doubletap_jump"), rect, this, GUI_ID_CB_DOUBLETAP_JUMP, text); delete[] text; } offset += v2s32(0, 25); } { core::rect < s32 > rect(0, 0, 100, 30); rect += topleft + v2s32(size.X - 100 - 20, size.Y - 40); const wchar_t *text = wgettext("Save"); Environment->addButton(rect, this, GUI_ID_BACK_BUTTON, text); delete[] text; } { core::rect < s32 > rect(0, 0, 100, 30); rect += topleft + v2s32(size.X - 100 - 20 - 100 - 20, size.Y - 40); const wchar_t *text = wgettext("Cancel"); Environment->addButton(rect, this, GUI_ID_ABORT_BUTTON, text); delete[] text; } }
开发者ID:proller,项目名称:minetest,代码行数:98,
示例13: kpbool GUISettingsMenu::OnEvent(const SEvent& event){ if (event.EventType == EET_KEY_INPUT_EVENT && activeKey >= 0 && event.KeyInput.PressedDown) { KeyPress kp(event.KeyInput); gui::IGUIElement *e = getElementFromId(activeKey); if (e != NULL && e->getType() == gui::EGUIET_BUTTON) { e->setEnabled(true); e->setText(kp.guiName().c_str()); keys[activeKey-GUI_ID_KEYSETTINGS_BASE] = kp; } activeKey = -1; return true; } if (event.EventType == EET_GUI_EVENT) { if (event.GUIEvent.EventType == gui::EGET_ELEMENT_FOCUS_LOST && isVisible()) { if (!canTakeFocus(event.GUIEvent.Element)) { dstream << "GUIMainMenu: Not allowing focus change." << std::endl; // Returning true disables focus change return true; } } if (event.GUIEvent.EventType==gui::EGET_CHECKBOX_CHANGED) { acceptInput(); m_accepted = false; regenerateGui(m_screensize); } if (event.GUIEvent.EventType == gui::EGET_BUTTON_CLICKED) { s32 id = event.GUIEvent.Caller->getID(); if (id >= GUI_ID_KEYSETTINGS_BASE) { resetMenu(); activeKey = id; gui::IGUIElement *e = getElementFromId(id); if (e != NULL && e->getType() == gui::EGUIET_BUTTON) { e->setText(wgettext("press Key")); e->setEnabled(false); return true; } }else{ switch (event.GUIEvent.Caller->getID()) { case GUI_ID_TAB_SETTINGS_CONTROLS: acceptInput(); m_accepted = false; m_data.selected_tab = TAB_SETTINGS_CONTROLS; regenerateGui(m_screensize); return true; case GUI_ID_TAB_SETTINGS_GRAPHICS: acceptInput(); m_accepted = false; m_data.selected_tab = TAB_SETTINGS_GRAPHICS; regenerateGui(m_screensize); return true; case GUI_ID_TAB_SETTINGS_VIDEO: acceptInput(); m_accepted = false; m_data.selected_tab = TAB_SETTINGS_VIDEO; regenerateGui(m_screensize); return true; case GUI_ID_TAB_SETTINGS_SOUND: acceptInput(); m_accepted = false; m_data.selected_tab = TAB_SETTINGS_SOUND; regenerateGui(m_screensize); return true; case GUI_ID_TAB_MAINMENU: //back acceptInput(); save(); quitMenu(); return true; } } } if (event.GUIEvent.EventType == gui::EGET_SCROLL_BAR_CHANGED) { switch (event.GUIEvent.Caller->getID()) { case GUI_ID_VOLUME_SB: gui::IGUIElement *vsb = getElementFromId(GUI_ID_VOLUME_SB); if(vsb != NULL && vsb->getType() == gui::EGUIET_SCROLL_BAR) { m_data.volume = (float)((gui::IGUIScrollBar*)vsb)->getPos(); if (g_sound) g_sound->setListenerGain(m_data.volume/100.0); } return true; } } } return Parent ? Parent->OnEvent(event) : false;}
开发者ID:Jobava,项目名称:Voxelands,代码行数:87,
示例14: content_mapnode_plantsvoid content_mapnode_plants(bool repeat){ bool new_style_leaves = g_settings->getBool("new_style_leaves"); content_t i; ContentFeatures *f = NULL; i = CONTENT_TREE; f = &content_features(i); f->description = wgettext("Tree"); f->setAllTextures("tree.png"); f->setTexture(0, "tree_top.png"); f->setTexture(1, "tree_top.png"); f->setInventoryTextureCube("tree_top.png", "tree.png", "tree.png"); f->draw_type = CDT_TRUNKLIKE; f->is_ground_content = true; f->flammable = 2; // can be set on fire f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; f->cook_result = std::string("CraftItem lump_of_charcoal 1"); f->fuel_time = 30; f->type = CMT_TREE; f->hardness = 1.0; f->ondig_special_drop = CONTENT_WOOD; f->ondig_special_drop_count = 6; f->ondig_special_tool = TT_AXE; lists::add("creative",i); lists::add("cooking",i); i = CONTENT_APPLE_TREE; f = &content_features(i); f->description = wgettext("Apple Tree"); f->setAllTextures("apple_tree.png"); f->setTexture(0, "apple_tree_top.png"); f->setTexture(1, "apple_tree_top.png"); f->setInventoryTextureCube("apple_tree_top.png", "apple_tree.png", "apple_tree.png"); f->draw_type = CDT_TRUNKLIKE; f->is_ground_content = true; f->flammable = 2; // can be set on fire f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; f->cook_result = std::string("CraftItem lump_of_charcoal 1"); f->fuel_time = 30; f->type = CMT_TREE; f->hardness = 1.0; f->ondig_special_drop = CONTENT_WOOD; f->ondig_special_drop_count = 6; f->ondig_special_tool = TT_AXE; lists::add("creative",i); lists::add("cooking",i); i = CONTENT_JUNGLETREE; f = &content_features(i); f->description = wgettext("Jungle Tree"); f->setAllTextures("jungletree.png"); f->setTexture(0, "jungletree_top.png"); f->setTexture(1, "jungletree_top.png"); f->setInventoryTextureCube("jungletree_top.png", "jungletree.png", "jungletree.png"); f->draw_type = CDT_TRUNKLIKE; //f->is_ground_content = true; f->flammable = 2; // can be set on fire f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; f->cook_result = std::string("CraftItem lump_of_charcoal 1"); f->fuel_time = 30; f->type = CMT_TREE; f->hardness = 1.0; f->ondig_special_drop = CONTENT_JUNGLEWOOD; f->ondig_special_drop_count = 6; f->ondig_special_tool = TT_AXE; lists::add("creative",i); i = CONTENT_CONIFER_TREE; f = &content_features(i); f->description = wgettext("Conifer Tree"); f->setAllTextures("conifer_tree.png"); f->setTexture(0, "conifer_tree_top.png"); f->setTexture(1, "conifer_tree_top.png"); f->setInventoryTextureCube("conifer_tree_top.png", "conifer_tree.png", "conifer_tree.png"); f->draw_type = CDT_TRUNKLIKE; f->is_ground_content = true; f->flammable = 2; // can be set on fire f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; f->cook_result = std::string("CraftItem lump_of_charcoal 1"); f->fuel_time = 25; f->type = CMT_TREE; f->hardness = 0.8; f->ondig_special_drop = CONTENT_WOOD_PINE; f->ondig_special_drop_count = 6; f->ondig_special_tool = TT_AXE; lists::add("creative",i); lists::add("cooking",i); i = CONTENT_YOUNG_TREE; f = &content_features(i); f->description = wgettext("Young Tree"); f->setAllTextures("tree.png"); f->setTexture(0, "tree_top.png"); f->setTexture(1, "tree_top.png"); f->draw_type = CDT_NODEBOX; f->solidness = 0; // drawn separately, makes no faces f->param_type = CPT_LIGHT; f->light_propagates = true;//.........这里部分代码省略.........
开发者ID:Jobava,项目名称:Voxelands,代码行数:101,
示例15: removeChildrenvoid GUIKeyChangeMenu::regenerateGui(v2u32 screensize){ /* Remove stuff */ removeChildren(); /* Calculate new sizes and positions */ v2s32 size(620, 430); core::rect < s32 > rect(screensize.X / 2 - size.X / 2, screensize.Y / 2 - size.Y / 2, screensize.X / 2 + size.X / 2, screensize.Y / 2 + size.Y / 2); DesiredRect = rect; recalculateAbsolutePosition(false); v2s32 topleft(0, 0); changeCtype(""); { core::rect < s32 > rect(0, 0, 500, 20); rect += topleft + v2s32(25, 3); //gui::IGUIStaticText *t = Environment->addStaticText(wgettext("KEYBINDINGS (If this menu screws up, see minetest.conf)"), rect, false, true, this, -1); //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT); } v2s32 offset(25, 40); // buttons { core::rect < s32 > rect(0, 0, 100, 20); rect += topleft + v2s32(offset.X, offset.Y); Environment->addStaticText(wgettext("Forward"), rect, false, true, this, -1); //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT); } { core::rect < s32 > rect(0, 0, 100, 30); rect += topleft + v2s32(offset.X + 105, offset.Y - 5); this->forward = Environment->addButton(rect, this, GUI_ID_KEY_FORWARD_BUTTON, wgettext(key_forward.name())); } offset += v2s32(0, 25); { core::rect < s32 > rect(0, 0, 100, 20); rect += topleft + v2s32(offset.X, offset.Y); Environment->addStaticText(wgettext("Backward"), rect, false, true, this, -1); //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT); } { core::rect < s32 > rect(0, 0, 100, 30); rect += topleft + v2s32(offset.X + 105, offset.Y - 5); this->backward = Environment->addButton(rect, this, GUI_ID_KEY_BACKWARD_BUTTON, wgettext(key_backward.name())); } offset += v2s32(0, 25); { core::rect < s32 > rect(0, 0, 100, 20); rect += topleft + v2s32(offset.X, offset.Y); Environment->addStaticText(wgettext("Left"), rect, false, true, this, -1); //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT); } { core::rect < s32 > rect(0, 0, 100, 30); rect += topleft + v2s32(offset.X + 105, offset.Y - 5); this->left = Environment->addButton(rect, this, GUI_ID_KEY_LEFT_BUTTON, wgettext(key_left.name())); } offset += v2s32(0, 25); { core::rect < s32 > rect(0, 0, 100, 20); rect += topleft + v2s32(offset.X, offset.Y); Environment->addStaticText(wgettext("Right"), rect, false, true, this, -1); //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT); } { core::rect < s32 > rect(0, 0, 100, 30); rect += topleft + v2s32(offset.X + 105, offset.Y - 5); this->right = Environment->addButton(rect, this, GUI_ID_KEY_RIGHT_BUTTON, wgettext(key_right.name())); } offset += v2s32(0, 25); { core::rect < s32 > rect(0, 0, 100, 20); rect += topleft + v2s32(offset.X, offset.Y);//.........这里部分代码省略.........
开发者ID:Jeija,项目名称:BlockPlanet,代码行数:101,
示例16: GUIModalMenuGUISettingsMenu::GUISettingsMenu( gui::IGUIEnvironment* env, gui::IGUIElement* parent, s32 id, IMenuManager *menumgr, bool is_ingame): GUIModalMenu(env, parent, id, menumgr), m_accepted(false), m_is_ingame(is_ingame){ activeKey = -1; init_keys(); m_data.fancy_trees = g_settings->getBool("new_style_leaves"); m_data.smooth_lighting = g_settings->getBool("smooth_lighting"); m_data.clouds_3d = g_settings->getBool("enable_3d_clouds"); m_data.opaque_water = g_settings->getBool("opaque_water"); m_data.fullscreen = g_settings->getBool("fullscreen"); m_data.particles = g_settings->getBool("enable_particles"); m_data.mip_map = g_settings->getBool("mip_map"); m_data.anisotropic_filter = g_settings->getBool("anisotropic_filter"); m_data.bilinear_filter = g_settings->getBool("bilinear_filter"); m_data.trilinear_filter = g_settings->getBool("trilinear_filter"); m_data.hotbar = g_settings->getBool("old_hotbar"); m_data.wield_index = g_settings->getBool("enable_wieldindex"); m_data.volume = g_settings->getFloat("sound_volume"); keynames[VLKC_FORWARD] = wgettext("Forward"); keynames[VLKC_BACKWARD] = wgettext("Backward"); keynames[VLKC_LEFT] = wgettext("Left"); keynames[VLKC_RIGHT] = wgettext("Right"); keynames[VLKC_JUMP] = wgettext("Jump"); keynames[VLKC_SNEAK] = wgettext("Sneak"); keynames[VLKC_INVENTORY] = wgettext("Inventory"); keynames[VLKC_USE] = wgettext("Use Item"); keynames[VLKC_CHAT] = wgettext("Chat"); keynames[VLKC_COMMAND] = wgettext("Command"); keynames[VLKC_RANGE] = wgettext("Range Select"); keynames[VLKC_FREEMOVE] = wgettext("Toggle Fly"); keynames[VLKC_UP] = wgettext("Up"); keynames[VLKC_DOWN] = wgettext("Down"); keynames[VLKC_RUN] = wgettext("Run"); keynames[VLKC_EXAMINE] = wgettext("Examine/Open"); keynames[VLKC_SCREENSHOT] = wgettext("Take Screenshot"); keynames[VLKC_TOGGLE_HUD] = wgettext("Show/Hide HUD"); keynames[VLKC_TOGGLE_CHAT] = wgettext("Show/Hide Chat"); keynames[VLKC_TOGGLE_FOG] = wgettext("Toggle Fog"); keynames[VLKC_TOGGLE_CAMERA] = NULL; keynames[VLKC_TOGGLE_DEBUG] = NULL; keynames[VLKC_TOGGLE_PROFILER] = NULL; keynames[VLKC_RANGE_PLUS] = wgettext("Increase Viewing Range"); keynames[VLKC_RANGE_MINUS] = wgettext("Decrease Viewing Range"); keynames[VLKC_PRINT_DEBUG] = NULL; keynames[VLKC_SELECT_PREV] = wgettext("Previous Item"); keynames[VLKC_SELECT_NEXT] = wgettext("Next Item");}
开发者ID:Jobava,项目名称:Voxelands,代码行数:57,
示例17: removeChildrenvoid GUIPauseMenu::regenerateGui(v2u32 screensize){ /* Remove stuff */ removeChildren(); /* Calculate new sizes and positions */ core::rect<s32> rect( screensize.X/2 - 580/2, screensize.Y/2 - 300/2, screensize.X/2 + 580/2, screensize.Y/2 + 300/2 ); DesiredRect = rect; recalculateAbsolutePosition(false); v2s32 size = rect.getSize(); /* Add stuff */ const s32 btn_height = 30; const s32 btn_gap = 20; const s32 btn_num = 4; s32 btn_y = size.Y/2-((btn_num*btn_height+(btn_num-1)*btn_gap))/2; changeCtype(""); { core::rect<s32> rect(0, 0, 140, btn_height); rect = rect + v2s32(size.X/2-140/2, btn_y); Environment->addButton(rect, this, 256, wgettext("Continue")); } btn_y += btn_height + btn_gap; { core::rect<s32> rect(0, 0, 140, btn_height); rect = rect + v2s32(size.X/2-140/2, btn_y); Environment->addButton(rect, this, 261, wgettext("Change Password")); } btn_y += btn_height + btn_gap; { core::rect<s32> rect(0, 0, 140, btn_height); rect = rect + v2s32(size.X/2-140/2, btn_y); Environment->addButton(rect, this, 260, wgettext("Disconnect")); } btn_y += btn_height + btn_gap; { core::rect<s32> rect(0, 0, 140, btn_height); rect = rect + v2s32(size.X/2-140/2, btn_y); Environment->addButton(rect, this, 257, wgettext("Exit to OS")); } { core::rect<s32> rect(0, 0, 180, 240); rect = rect + v2s32(size.X/2 + 90, size.Y/2-rect.getHeight()/2); Environment->addStaticText(chartowchar_t(gettext( "Default Controls:/n" "- WASD: Walk/n" "- Mouse left: dig/hit/n" "- Mouse right: place/use/n" "- Mouse wheel: select item/n" "- 0...9: select item/n" "- Shift: sneak/n" "- R: Toggle viewing all loaded chunks/n" "- I: Inventory menu/n" "- ESC: This menu/n" "- T: Chat/n" )), rect, false, true, this, 258); } { core::rect<s32> rect(0, 0, 180, 220); rect = rect + v2s32(size.X/2 - 90 - rect.getWidth(), size.Y/2-rect.getHeight()/2); v2u32 max_texture_size; { video::IVideoDriver* driver = Environment->getVideoDriver(); max_texture_size = driver->getMaxTextureSize(); } /*wchar_t text[200]; swprintf(text, 200, L"Minetest-c55/n" L"by Perttu Ahola/n" L"[email C++ wglCreateContextAttribsARB函数代码示例 C++ wgetnstr函数代码示例
|