[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] [pingus] push by address@hidden - Added ability to change r
From: |
pingus |
Subject: |
[Pingus-CVS] [pingus] push by address@hidden - Added ability to change renderer to the OptionMenu on 2011-10-02 21:31 GMT |
Date: |
Sun, 02 Oct 2011 21:44:00 +0000 |
Revision: 7b54e6019657
Author: Ingo Ruhnke <address@hidden>
Date: Sun Oct 2 14:30:58 2011
Log: Added ability to change renderer to the OptionMenu
http://code.google.com/p/pingus/source/detail?r=7b54e6019657
Modified:
/src/pingus/config_manager.cpp
/src/pingus/config_manager.hpp
/src/pingus/options.hpp
/src/pingus/screens/option_menu.cpp
/src/pingus/screens/option_menu.hpp
=======================================
--- /src/pingus/config_manager.cpp Sun Oct 2 08:03:19 2011
+++ /src/pingus/config_manager.cpp Sun Oct 2 14:43:28 2011
@@ -39,6 +39,7 @@
on_music_volume_change(),
on_fullscreen_resolution_change(),
on_fullscreen_change(),
+ on_renderer_change(),
on_resizable_change(),
on_mouse_grab_change(),
on_print_fps_change(),
@@ -142,6 +143,18 @@
{
return globals::fullscreen_enabled;
}
+
+void
+ConfigManager::set_renderer(FramebufferType type)
+{
+ return m_opts.framebuffer_type.set(type);
+}
+
+FramebufferType
+ConfigManager::get_renderer() const
+{
+ return m_opts.framebuffer_type.get();
+}
void
ConfigManager::set_resizable(bool v)
@@ -273,6 +286,11 @@
{
m_opts.merge(opts);
+ if (m_opts.framebuffer_type.is_set())
+ set_renderer(m_opts.framebuffer_type.get());
+ else
+ set_renderer(SDL_FRAMEBUFFER);
+
if (opts.master_volume.is_set())
set_master_volume(opts.master_volume.get());
=======================================
--- /src/pingus/config_manager.hpp Sat Oct 1 13:19:58 2011
+++ /src/pingus/config_manager.hpp Sun Oct 2 14:43:29 2011
@@ -57,6 +57,10 @@
bool get_fullscreen();
boost::signal<void(bool)> on_fullscreen_change;
+ void set_renderer(FramebufferType type);
+ FramebufferType get_renderer() const;
+ boost::signal<void(FramebufferType)> on_renderer_change;
+
void set_resizable(bool);
bool get_resizable();
boost::signal<void(bool)> on_resizable_change;
=======================================
--- /src/pingus/options.hpp Sat Oct 1 11:09:48 2011
+++ /src/pingus/options.hpp Sun Oct 2 14:43:29 2011
@@ -69,8 +69,8 @@
{
DELTA_FRAMEBUFFER,
SDL_FRAMEBUFFER,
- NULL_FRAMEBUFFER,
- OPENGL_FRAMEBUFFER
+ OPENGL_FRAMEBUFFER,
+ NULL_FRAMEBUFFER
};
std::string framebuffer_type_to_string(FramebufferType type);
=======================================
--- /src/pingus/screens/option_menu.cpp Sun Oct 2 09:02:24 2011
+++ /src/pingus/screens/option_menu.cpp Sun Oct 2 14:43:29 2011
@@ -134,6 +134,14 @@
resolution_box->set_current_choice(current_choice);
+
+ ChoiceBox* renderer_box = new ChoiceBox(Rect());
+ renderer_box->add_choice("delta");
+ renderer_box->add_choice("sdl");
+ renderer_box->add_choice("opengl");
+
renderer_box->set_current_choice(static_cast<int>(config_manager.get_renderer()));
+
+
tinygettext::Language current_language =
dictionary_manager.get_language();
language = current_language;
n = 0;
@@ -183,6 +191,7 @@
C(language_box->on_change.connect(std::bind(&OptionMenu::on_language_change,
this, std::placeholders::_1)));
C(resolution_box->on_change.connect(std::bind(&OptionMenu::on_resolution_change,
this, std::placeholders::_1)));
+
C(renderer_box->on_change.connect(std::bind(&OptionMenu::on_renderer_change,
this, std::placeholders::_1)));
x_pos = 0;
y_pos = 0;
@@ -195,14 +204,15 @@
x_pos = 1;
y_pos = 0;
- add_item(_("Resolution:"), resolution_box);
+ add_item(_("Resolution:"), resolution_box);
+ add_item(_("Renderer:"), renderer_box);
+ y_pos += 1;
+ add_item(_("Language:"), language_box);
y_pos += 1;
add_item(_("Master Volume:"), master_volume_box);
add_item(_("Sound Volume:"), sound_volume_box);
add_item(_("Music Volume:"), music_volume_box);
- y_pos += 1;
- add_item(_("Language:"), language_box);
-
+
// Connect with ConfigManager
mousegrab_box->set_state(config_manager.get_mouse_grab(), false);
C(config_manager.on_mouse_grab_change.connect(std::bind(&CheckBox::set_state,
mousegrab_box, std::placeholders::_1, false)));
@@ -427,5 +437,11 @@
}
}
}
+
+void
+OptionMenu::on_renderer_change(const std::string& str)
+{
+ config_manager.set_renderer(framebuffer_type_from_string(str));
+}
/* EOF */
=======================================
--- /src/pingus/screens/option_menu.hpp Sun Oct 2 09:02:24 2011
+++ /src/pingus/screens/option_menu.hpp Sun Oct 2 14:43:29 2011
@@ -96,6 +96,7 @@
void on_language_change(const std::string& str);
void on_resolution_change(const std::string& str);
+ void on_renderer_change(const std::string& str);
void save_language();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] [pingus] push by address@hidden - Added ability to change renderer to the OptionMenu on 2011-10-02 21:31 GMT,
pingus <=