[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog doc/C/gnash.xml gui/gnash.cpp
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog doc/C/gnash.xml gui/gnash.cpp |
Date: |
Sat, 02 Sep 2006 16:00:29 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 06/09/02 16:00:29
Modified files:
. : ChangeLog
doc/C : gnash.xml
gui : gnash.cpp
Log message:
* gui/gnash.cpp, doc/C/gnash.xml: added -P switch to set contextual
(see http://www.permadi.com/tutorial/flashVars/index.html)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.807&r2=1.808
http://cvs.savannah.gnu.org/viewcvs/gnash/doc/C/gnash.xml?cvsroot=gnash&r1=1.25&r2=1.26
http://cvs.savannah.gnu.org/viewcvs/gnash/gui/gnash.cpp?cvsroot=gnash&r1=1.34&r2=1.35
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.807
retrieving revision 1.808
diff -u -b -r1.807 -r1.808
--- ChangeLog 2 Sep 2006 14:28:35 -0000 1.807
+++ ChangeLog 2 Sep 2006 16:00:29 -0000 1.808
@@ -1,5 +1,7 @@
2006-09-02 Sandro Santilli <address@hidden>
+ * gui/gnash.cpp, doc/C/gnash.xml: added -P switch to set contextual
+ parameters (see http://www.permadi.com/tutorial/flashVars/index.html)
* libbase/URL.{cpp,h}, testsuite/libbase/URLTest.cpp:
added support for query strings (+tests).
* server/swf/ASHandlers.cpp (ActionGetUrl2): log a warning
Index: doc/C/gnash.xml
===================================================================
RCS file: /sources/gnash/gnash/doc/C/gnash.xml,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- doc/C/gnash.xml 2 Sep 2006 00:40:12 -0000 1.25
+++ doc/C/gnash.xml 2 Sep 2006 16:00:29 -0000 1.26
@@ -532,6 +532,15 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>-P parameter</term>
+ <listitem>
+ <para>
+ Parameters are given in ParamName=Value syntax and are mostly
useful for the plugin to honour EMBED tags attributes or explicit OBJECT PARAM
tags. A common use for -P is to provide FlashVars (ie: -P
"FlashVars=home=http://www.gnu.org").
+ </para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</sect2>
Index: gui/gnash.cpp
===================================================================
RCS file: /sources/gnash/gnash/gui/gnash.cpp,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -b -r1.34 -r1.35
--- gui/gnash.cpp 2 Sep 2006 00:37:30 -0000 1.34
+++ gui/gnash.cpp 2 Sep 2006 16:00:29 -0000 1.35
@@ -67,6 +67,7 @@
#include "gnash.h"
#include "movie_definition.h"
+#include "sprite_instance.h" // for setting FlashVars
#include "URL.h"
#include "rc.h"
@@ -106,6 +107,26 @@
log_msg("fs_callback(%p): %s %s'", (void*)movie, command, args);
}
+void
+setFlashVars(gnash::movie_interface& m, const string& varstr)
+{
+ gnash::sprite_instance* si = m.get_root_movie();
+ assert(si);
+
+ typedef map<string, string> maptype;
+
+ maptype vars;
+ URL::parse_querystring(varstr, vars);
+
+ for (maptype::const_iterator it=vars.begin(), itEnd=vars.end();
+ it != itEnd; ++it)
+ {
+ const string& name = it->first;
+ const string& val = it->second;
+ si->set_variable(name.c_str(), val.c_str());
+ }
+}
+
int
main(int argc, char *argv[])
{
@@ -130,6 +151,9 @@
char* url = NULL;
int render_arg;
+ // Parameters (for -P)
+ map<string, string> params;
+
unsigned long windowid = 0;
bool do_render = true, do_sound = false, sdl_abort = true,
background = true, do_loop = true;
@@ -177,7 +201,7 @@
dbglogfile << "Timer delay set to " << delay << "milliseconds" << endl;
}
- while ((c = getopt (argc, argv, "hvaps:cfd:x:r:t:b:1ewj:k:u:")) != -1) {
+ while ((c = getopt (argc, argv, "hvaps:cfd:x:r:t:b:1ewj:k:u:P:")) != -1) {
switch (c) {
case 'h':
usage ();
@@ -283,6 +307,20 @@
bit_depth = atoi(optarg);
assert (!bit_depth || bit_depth == 16 || bit_depth == 32);
break;
+ case 'P':
+ string param = optarg;
+ size_t eq = param.find("=");
+ string name, value;
+ if ( eq == string::npos ) {
+ name = param;
+ value = "true";
+ } else {
+ name = param.substr(0, eq);
+ value = param.substr(eq+1);
+ }
+ //cerr << "Param name = "<<name<<" val="<<value<<endl;
+ params[name] = value;
+ break;
}
}
@@ -399,6 +437,12 @@
gnash::movie_interface *m = create_library_movie_inst(md);
assert(m);
+ if ( params["FlashVars"] != "" )
+ {
+ setFlashVars(*m, params["FlashVars"]);
+ }
+
+
gnash::set_current_root(m);
m->set_display_viewport(0, 0, width, height);
@@ -473,6 +517,7 @@
" -b <bits> Bit depth of output window (16 or 32, default is 16)\n"
" -u <url> Set \"real\" url of the movie\n"
" (useful for downloaded movies)\n"
+ " -P <param> Set parameter (ie. \"FlashVars=A=1&b=2\")\n"
" --version Print gnash's version number and exit\n"
"\n"
"keys:\n"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog doc/C/gnash.xml gui/gnash.cpp,
Sandro Santilli <=