pingus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pingus-CVS] CVS: Games/Pingus/src exit_menu.cxx,1.4,1.5 gui_screen.hxx,


From: grumbel
Subject: [Pingus-CVS] CVS: Games/Pingus/src exit_menu.cxx,1.4,1.5 gui_screen.hxx,1.4,1.5 gui_screen.cxx,1.4,1.5
Date: 17 Aug 2002 00:26:52 -0000

Update of /usr/local/cvsroot/Games/Pingus/src
In directory dark:/tmp/cvs-serv8509

Modified Files:
        exit_menu.cxx gui_screen.hxx gui_screen.cxx 
Log Message:
made PingusSubMenu a GUIScreen, its no longer a GUIManager
- added more inputhandling to the GUIScreen

Index: exit_menu.cxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/exit_menu.cxx,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- exit_menu.cxx       3 Aug 2002 17:20:37 -0000       1.4
+++ exit_menu.cxx       17 Aug 2002 00:26:49 -0000      1.5
@@ -73,8 +73,8 @@
 ExitMenu::ExitMenu (PingusMenuManager* manager)
   : PingusSubMenu (manager)
 {
-  add (new ExitMenuYesButton (manager), true);
-  add (new ExitMenuNoButton (manager), true);
+  gui_manager->add (new ExitMenuYesButton (manager), true);
+  gui_manager->add (new ExitMenuNoButton (manager), true);
 }
 
 ExitMenu::~ExitMenu ()

Index: gui_screen.hxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/gui_screen.hxx,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- gui_screen.hxx      16 Aug 2002 17:15:31 -0000      1.4
+++ gui_screen.hxx      17 Aug 2002 00:26:49 -0000      1.5
@@ -47,14 +47,21 @@
   virtual void draw_background () {}
   virtual void draw ();
 
-  /** Pass a delta to the screen */
+  /** Pass a game delta to the screen */
   virtual void update (const GameDelta& delta);
+
+  /** */
   virtual void update (float) {}
 
   virtual void on_pause_press () {}
   virtual void on_fast_forward_press () {}
   virtual void on_armageddon_press () {}
   virtual void on_escape_press () {}
+
+  virtual void on_pause_release () {}
+  virtual void on_fast_forward_release () {}
+  virtual void on_armageddon_release () {}
+  virtual void on_escape_release () {}
 
 private:
   void process_button_event (Input::ButtonEvent* event);

Index: gui_screen.cxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/gui_screen.cxx,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- gui_screen.cxx      16 Aug 2002 17:15:31 -0000      1.4
+++ gui_screen.cxx      17 Aug 2002 00:26:49 -0000      1.5
@@ -18,6 +18,8 @@
 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 #include <iostream>
+#include "globals.hxx"
+#include "debug.hxx"
 #include "gui/gui_manager.hxx"
 #include "input/button_event.hxx"
 #include "gui_screen.hxx"
@@ -89,7 +91,9 @@
 void
 GUIScreen::process_button_event (Input::ButtonEvent* event)
 {
-  if (event->state == Input::pressed) // FIXME: We ignore releases for the 
moment
+  std::cout << "GUIScreen::process_button_event (Input::ButtonEvent* event)" 
<< std::endl;
+
+  if (event->state == Input::pressed) 
     {
       switch (event->name)
        {
@@ -112,9 +116,41 @@
          on_escape_press ();
          break;
        default:
-         std::cout << "ButtonEvent: unhandled event: " << event->name << 
std::endl;
+         perr(PINGUS_DEBUG_GUI) << "GUIScreen: ButtonEvent: unhandled event: " 
<< event->name << std::endl;
+         break;
+       }
+    }
+  else if (event->state == Input::released) 
+    {
+      switch (event->name)
+       {
+       case Input::primary:
+         // ignoring, handled in the gui_manager
+         break; 
+       case Input::secondary:
+         // ignoring, handled in the gui_manager
+         break;
+       case Input::pause:
+         on_pause_release ();
+         break;
+       case Input::fast_forward:
+         on_fast_forward_release ();
+         break;
+       case Input::armageddon:
+         on_armageddon_release ();
+         break;
+       case Input::escape:
+         on_escape_release ();
+         break;
+       default:
+         perr(PINGUS_DEBUG_GUI) << "GUIScreen: ButtonEvent: unhandled event: " 
<< event->name << std::endl;
          break;
        }
+    }
+  else
+    {
+      perr(PINGUS_DEBUG_GUI) << "GUIScreen::process_button_event: got unknown 
event->state: " 
+                            << event->state << std::endl;;
     }
 }
 





reply via email to

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