[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog gui/gnash.cpp gui/gui.h
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog gui/gnash.cpp gui/gui.h |
Date: |
Mon, 31 Jul 2006 00:05:19 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 06/07/31 00:05:19
Modified files:
. : ChangeLog
gui : gnash.cpp gui.h
Log message:
* gui/gui.h: added NullGui class definition.
* gui/gnash.cpp: use Gui trough a pointer, to allow for
dynamic polymorphism. Use NullGui when rendering is
disabled.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.559&r2=1.560
http://cvs.savannah.gnu.org/viewcvs/gnash/gui/gnash.cpp?cvsroot=gnash&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/gnash/gui/gui.h?cvsroot=gnash&r1=1.8&r2=1.9
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.559
retrieving revision 1.560
diff -u -b -r1.559 -r1.560
--- ChangeLog 30 Jul 2006 15:54:00 -0000 1.559
+++ ChangeLog 31 Jul 2006 00:05:19 -0000 1.560
@@ -1,3 +1,10 @@
+2006-07-31 Sandro Santilli <address@hidden>
+
+ * gui/gui.h: added NullGui class definition.
+ * gui/gnash.cpp: use Gui trough a pointer, to allow for
+ dynamic polymorphism. Use NullGui when rendering is
+ disabled.
+
2006-07-30 Rob Savoye <address@hidden>
* server/network.h, network.cpp: Remove as they now live in
Index: gui/gnash.cpp
===================================================================
RCS file: /sources/gnash/gnash/gui/gnash.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- gui/gnash.cpp 29 Jul 2006 13:48:28 -0000 1.20
+++ gui/gnash.cpp 31 Jul 2006 00:05:19 -0000 1.21
@@ -316,13 +316,24 @@
height = int(movie_height * scale);
}
- GUI_CLASS gui(windowid, scale, do_loop, bit_depth);
+ std::auto_ptr<Gui> gui_ptr;
+ if ( do_render )
+ {
+ gui_ptr.reset(new GUI_CLASS(windowid, scale, do_loop, bit_depth));
+
#ifdef GUI_SDL
- if (!sdl_abort) {
- gui.disableCoreTrap();
+ if (!sdl_abort && sdlgui=dynamic_cast<SDLGui>(gui_ptr.get()>) ) {
+ sdlgui.disableCoreTrap();
}
#endif
+ }
+ else
+ {
+ gui_ptr.reset(new NullGui);
+ }
+ Gui& gui = *gui_ptr;
+
gui.init(argc, &argv);
gui.createWindow(width, height);
Index: gui/gui.h
===================================================================
RCS file: /sources/gnash/gnash/gui/gui.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- gui/gui.h 27 Jul 2006 00:15:22 -0000 1.8
+++ gui/gui.h 31 Jul 2006 00:05:19 -0000 1.9
@@ -64,6 +64,10 @@
bool init(int xid, int argc, char **argv[]);
bool createWindow(int xid, int width, int height);
+
+ virtual bool init(int argc, char **argv[]) = 0;
+ virtual void setCallback(unsigned int interval) = 0;
+ virtual void setTimeout(unsigned int timeout) = 0;
virtual bool createWindow(int width, int height) = 0;
virtual bool run(void *) = 0;
virtual bool createMenu() = 0;
@@ -105,6 +109,33 @@
render_handler* _renderer;
};
+/// Null GUI, used when rendering is disabled
+class NullGui : public Gui {
+
+public:
+
+ NullGui() {}
+ ~NullGui() {}
+ void setCallback(unsigned int interval) {}
+ void setTimeout(unsigned int timeout) {}
+ bool init(int argc, char **argv[]) { return true; }
+ bool createWindow(int , int)
+ {
+ return true;
+ }
+ bool run(void *)
+ {
+ while (true)
+ {
+ Gui::advance_movie(this);
+ }
+ return false;
+ }
+ bool createMenu() { return true; }
+ bool setupEvents() { return true; }
+ void renderBuffer() { }
+};
+
} // end of gnash namespace
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog gui/gnash.cpp gui/gui.h,
Sandro Santilli <=