pingus-cvs
[Top][All Lists]
Advanced

[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();




reply via email to

[Prev in Thread] Current Thread [Next in Thread]