[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ./ChangeLog libbase/Makefile.am libbase/d...
From: |
Rob Savoye |
Subject: |
[Gnash-commit] gnash ./ChangeLog libbase/Makefile.am libbase/d... |
Date: |
Sun, 02 Apr 2006 21:45:56 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Branch:
Changes by: Rob Savoye <address@hidden> 06/04/02 21:45:55
Modified files:
. : ChangeLog
libbase : Makefile.am demo.cpp
doc/C : Makefile.am gnash-man.xml gnash.xml
internals.xml localconnection.xml
netconnection.xml plugin.xml sources.xml
Log message:
* doc/C/gnash.xml: Add a constant for the opcodes chapter. Add -w
option to list of command line options.
* doc/C/sources.xml: Add new dependancies, gtkglext, atk, pango,
cairo, glib, gtk2, gstreamer 0.10, and kde. Update plugin
section. Add all the new configure options of the last few
months.
* doc/C/internals.xml: Change the names of the libraries to match
current versions. Add asobjs, plugin, and klash libraries. Update
plugin section. Add info about GUI toolkit usage. Add section on
Klash.
* doc/C/opcodes.xml: New chapter on opcodes that lists what's
still unimplemented.
* doc/C/localconnection.xml: Update text. Add section about AMF.
* doc/C/plugin.xml: Add section on plugin event handling.
* libbase/Makefile.am: Optionally compile the demo.
* libbase/demo.cpp: Add the demo namespace and open ogl.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/ChangeLog.diff?tr1=1.195&tr2=1.196&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/libbase/Makefile.am.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/libbase/demo.cpp.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/doc/C/Makefile.am.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/doc/C/gnash-man.xml.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/doc/C/gnash.xml.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/doc/C/internals.xml.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/doc/C/localconnection.xml.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/doc/C/netconnection.xml.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/doc/C/plugin.xml.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/doc/C/sources.xml.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
Patches:
Index: gnash/ChangeLog
diff -u gnash/ChangeLog:1.195 gnash/ChangeLog:1.196
--- gnash/ChangeLog:1.195 Sat Apr 1 02:36:53 2006
+++ gnash/ChangeLog Sun Apr 2 21:45:55 2006
@@ -1,3 +1,22 @@
+2006-04-02 Rob Savoye <address@hidden>
+
+ * doc/C/gnash.xml: Add a constant for the opcodes chapter. Add -w
+ option to list of command line options.
+ * doc/C/sources.xml: Add new dependancies, gtkglext, atk, pango,
+ cairo, glib, gtk2, gstreamer 0.10, and kde. Update plugin
+ section. Add all the new configure options of the last few
+ months.
+ * doc/C/internals.xml: Change the names of the libraries to match
+ current versions. Add asobjs, plugin, and klash libraries. Update
+ plugin section. Add info about GUI toolkit usage. Add section on
+ Klash.
+ * doc/C/opcodes.xml: New chapter on opcodes that lists what's
+ still unimplemented.
+ * doc/C/localconnection.xml: Update text. Add section about AMF.
+ * doc/C/plugin.xml: Add section on plugin event handling.
+ * libbase/Makefile.am: Optionally compile the demo.
+ * libbase/demo.cpp: Add the demo namespace and open ogl.
+
2006-03-31 Rob Savoye <address@hidden>
* macros/atk.m4: Fix finding the proper path with the version
@@ -18,7 +37,7 @@
a dependancy.
* plugin/mozilla-sdk/Makefile.am: Add all the headers to
noinst_HEADERS so makedistcheck works.
-
+
2006-03-30 Rob Savoye <address@hidden>
* plugin/Makefile.am: Pass in the prefix as a constant so we can
Index: gnash/doc/C/Makefile.am
diff -u gnash/doc/C/Makefile.am:1.16 gnash/doc/C/Makefile.am:1.17
--- gnash/doc/C/Makefile.am:1.16 Fri Mar 31 20:53:27 2006
+++ gnash/doc/C/Makefile.am Sun Apr 2 21:45:55 2006
@@ -59,6 +59,7 @@
netstream.xml \
number.xml \
object.xml \
+ opcodes.xml \
plugin.xml \
selection.xml \
sharedobject.xml \
Index: gnash/doc/C/gnash-man.xml
diff -u gnash/doc/C/gnash-man.xml:1.1 gnash/doc/C/gnash-man.xml:1.2
--- gnash/doc/C/gnash-man.xml:1.1 Tue Dec 20 20:52:15 2005
+++ gnash/doc/C/gnash-man.xml Sun Apr 2 21:45:55 2006
@@ -3,7 +3,7 @@
[
<!ENTITY legal SYSTEM "legal.xml">
<!ENTITY appversion "0.7">
- <!ENTITY manrevision "0.7">
+ <!ENTITY manrevision "0.3">
<!ENTITY date "December 2005">
<!ENTITY app "<application>Gnash</application>">
<!ENTITY appname "Gnash">
Index: gnash/doc/C/gnash.xml
diff -u gnash/doc/C/gnash.xml:1.16 gnash/doc/C/gnash.xml:1.17
--- gnash/doc/C/gnash.xml:1.16 Sat Mar 11 20:46:23 2006
+++ gnash/doc/C/gnash.xml Sun Apr 2 21:45:55 2006
@@ -4,8 +4,8 @@
<!ENTITY legal SYSTEM "legal.xml">
<!ENTITY fdl-app SYSTEM "fdl-appendix.xml">
<!ENTITY appversion "0.7">
- <!ENTITY manrevision "0.2">
- <!ENTITY date "January 2006">
+ <!ENTITY manrevision "0.3">
+ <!ENTITY date "March 2006">
<!ENTITY app "<application>Gnash</application>">
<!ENTITY appname "Gnash">
<!ENTITY version "0.7">
@@ -51,6 +51,7 @@
<!ENTITY amf SYSTEM "amf.xml">
<!ENTITY plugin SYSTEM "plugin.xml">
<!ENTITY logging SYSTEM "logging.xml">
+ <!ENTITY opcodes SYSTEM "opcodes.xml">
]
>
@@ -67,7 +68,7 @@
<!-- translators: uncomment this:
<copyright>
- <year>2005</year>
+ <year>2005, 2006</year>
<holder>ME-THE-TRANSLATOR (Latin translation)</holder>
</copyright>
@@ -127,6 +128,7 @@
<revdescription>
<para role="author">Rob Savoye
<email>address@hidden</email>
+ Updated for the alpha release.
</para>
<para role="publisher">Free Software Foundation</para>
</revdescription>
@@ -337,7 +339,17 @@
</para>
</listitem>
</varlistentry>
-
+ <varlistentry>
+ <term>-w</term>
+ <listitem>
+ <para>
+ Write a debug log called gnash-dbg.log. This gets a
+ record of all the debug messages whether they are printed
+ to the screen or not.
+ </para>
+ </listitem>
+ </varlistentry>
+<!--
<varlistentry>
<term>-e</term>
<listitem>
@@ -348,7 +360,7 @@
</para>
</listitem>
</varlistentry>
-
+-->
<varlistentry>
<term>-1</term>
<listitem>
@@ -557,7 +569,7 @@
the original code base for Gnash. I was also a GameSWF
contributor. The primary author of GameSWF is Thatcher Ulrich
<email>address@hidden</email>. Other individuals that contributed code
are:
- Mike Shaver, Thierry Berger-Perrin, Ignacio Castaño, Willem
+ Mike Shaver, Thierry Berger-Perrin, Ignacio Castaño, Willem
Kokke, Vitaly Alexeev, Alexander Streit.
</para>
Index: gnash/doc/C/internals.xml
diff -u gnash/doc/C/internals.xml:1.14 gnash/doc/C/internals.xml:1.15
--- gnash/doc/C/internals.xml:1.14 Sat Mar 11 20:46:23 2006
+++ gnash/doc/C/internals.xml Sun Apr 2 21:45:55 2006
@@ -5,9 +5,10 @@
<title>A Tour of Gnash</title>
<para>
- The top level of Gnash has several libraries, <code>libbase</code>,
- <code>libgeometry</code>, <code>libserver</code>, and
- <code>libgbackend</code>. There are two utility programs
+ The top level of Gnash has several libraries, <code>libgnashbase</code>,
+ <code>libgnashgeo</code>, <code>libgnashserver</code>,
+ <code>libgasnhasobjs</code>and
+ <code>libgnashbackend</code>. There are two utility programs
included for debug parsing and processing of Flash movie files
to test the Actionscript interpreter. There is also a standalone
flash movie player.
@@ -17,10 +18,10 @@
<title>The Libraries</title>
<sect4 id="libbase">
- <title>libbase</title>
+ <title>libgnashbase</title>
<para>
- Libbase contains support classes used by the rest of the
+ Libgnashbase contains support classes used by the rest of the
code. Among these classes is a small and efficient STL library
clone that uses smart pointers. A current goal is to replace
this small STL clone with standard STL containers to reduce
@@ -36,31 +37,64 @@
</sect4>
- <sect4 id="libgeometry">
- <title>libgeometry</title>
+ <sect4 id="libgnashgeo">
+ <title>libgnashgeo</title>
<para>
- Libgeometry contains code for device independant graphics routines.
+ Libgnashgeo contains code for device independant graphics routines.
</para>
</sect4>
- <sect4 id="libserver">
- <title>libserver</title>
-
+ <sect4 id="libgnashserver">
+ <title>libgnashserver</title>
<para>
- Libserver is the guts of the interpreter itself. This is where
- all the new ActionScript classes get defined, and the main
- code for the interpreter lives.
+ Libgnashserver is the guts of the interpreter itself. This is where
+ the main code for the interpreter lives.
</para>
</sect4>
- <sect4 id="libgbackend">
- <title>libgbackend</title>
+ <sect4 id="libgnashasobjs">
+ <title>libgnashasobjs</title>
+ <para>
+ Libgnashasobjs contains all the ActionScript classes used by
+ the interpreter.
+ </para>
+ </sect4>
+
+ <sect4 id="libgnashamf">
+ <title>libgnashamf</title>
+ <para>
+ AMF is the data format used internally by Flash. This is
+ Gnash's support library to handle AMF data. This is
+ currently unused, but when the LocalConnection class is more
+ fully implemented, this will be used to trasnfer data
+ between flash movies.
+ </para>
+ </sect4>
+
+ <sect4 id="libgnashbackend">
+ <title>libgnashbackend</title>
+
+ <para>
+ Libgnashbackend is a small library containing OpenGL and SDL
+ code that glues this display to the Gnash display.
+ </para>
+
+ </sect4>
+ <sect4 id="libgnashpluin">
+ <title>libgnashplugin</title>
<para>
- Libgbackend is a small library containing OpenGL and SDL code
- that glues this display to the Gnash display.
+ Libgnashplugin is the Mozilla/Firefox plugin.
+ </para>
+
+ </sect4>
+ <sect4 id="libklashpart">
+ <title>libklashpart</title>
+
+ <para>
+ Libklashpart is the Konqueror plugin.
</para>
</sect4>
@@ -116,10 +150,11 @@
<title>The Plugin</title>
<para>
- The plugin is designed to work within Mozilla or Firefox. It
- currently doesn't use the latest plugin API additions, so it
- should work in older versions as well. The plugin uses the
- Mozilla plugin API to be cross platform, and portable.
+ The plugin is designed to work within Mozilla or Firefox,
+ although there is Konqueror support as well. The plugin uses
+ the Mozilla NSPR plugin API to be cross platform, and
+ portable, as well as being well integrated into Mozilla based
+ browsers.
</para>
<para>
@@ -133,15 +168,86 @@
<sect4 id="pluginstatus">
<title>Current Status</title>
<para>
- As of Feb 23, 2006, the plugin draws a hard-coded OpenGL
- graphic in the window where the Shockwave movie is to be
- played.The standalone player code is now merged in and seems
- to be playing movies, but there is obviously a problem with
- the display between Firefox and OpenGL. Debugging and coding
- continues daily.
+ As of March 30, 2006, the plugin works! This works in a
+ fashion similar to MozPlugger in that the standalone player
+ is used instead of using a thread. This gets around the
+ issue of having to maintain a seperate player to support the
+ plugin. It also gets around the other issues that Gnash
+ itself is not thread safe at this time.
+ </para>
+ <para>
+ There are a few limitations in the current implementation,
+ but it works well enough to be used for web surfing. The
+ main limitations are the SDL version has no event handling,
+ and the GTK version creates a new popup window to render the
+ movie in.
</para>
</sect4>
+ <sect4 id="gui">
+ <title>GUI Support</title>
+
+ <para>
+ Any plugin that wants to display in a browser window needs
+ to be tied into the windowing system of the platform being
+ used. On GNU/Linux systems, Firefox is a GTK2+ application.
+ There is also KDE support through the use of the Klash
+ plugin.
+ </para>
+
+ <para>
+ Gnash can use either SDL or GTK now to create the window,
+ and to handle events for the standalone player. Work is
+ underway to add a portable interface for more windowing
+ toolkits to allow better embedded device support when
+ running in framebuffer only devices.
+ </para>
+
+ <para>
+ The SDL version is more limited, but runs on all
+ platforms, including win32. It has no support for menus, and
+ I personally find the default event handler slow and
+ unresponsive. Gnash has support to use fast events,
+ (currently not enabled) which is an SDL hack using a
+ background thread to pump events into the SDL event queue at
+ a much higher rate.
+ </para>
+
+ <para>
+ There are a variety of development libraries that build a GUI
+ widget system on top of SDL and OpenGL. The use of these to
+ add menus and dialog boxes to the SDL version is being
+ considered.
+ </para>
+
+ <para>
+ The GTK support is currently the most functional, and the
+ best integrated into Firefox. The performance of this
+ version is better than the SDL version because of the more
+ efficient event handling withing GTK.
+ </para>
+
+ <para>
+ GTK also allows Gnash to have menus and dialog
+ boxes. Currently this is only being utilized in a limited
+ fashion for now. There is a right mouse button menu that
+ allows the user to control the movie being player the same
+ way the existing keyboard commands do.
+ </para>
+
+ <para>
+ The current implementation has a problem with using
+ gtk_plug(), which is supposed to embed one GtkWidget into
+ another. A blank window is all that appears to be rendered,
+ although the movie is happily being played in the
+ background. To get around this problem, the GTK version
+ creates a new window to render the movie in. The SDK version
+ correctly gets embedded into the browser window, so no new
+ window needs to be created. The assumption is this is a
+ problem with X11 default visuals.
+ </para>
+ </sect4>
+
<sect4 id="mozplugger">
<title>Mozplugger</title>
@@ -160,12 +266,17 @@
<para>
While this is not an optimal solution, it does enable one to
use Gnash as the flash player when browsing. The main issue
- appears to be that the Flah movie being played doesn't get
+ appears to be that the Flash movie being played doesn't get
any mouse or keyboard input. That may be a mozplugger
configuration issue though.
</para>
<para>
+ Use of MozPlugger is obsolete now that the Gnash plugin
+ works. Still this may be useful still on some platforms.
+ </para>
+
+ <para>
Add this to your <code>$(HOME)/.mozilla/mozpluggerrc</code>
file to enable this:
@@ -197,6 +308,24 @@
</sect4>
+ <sect4 id="Klash">
+ <title>Klash</title>
+ <para>
+ Klash is MozPlugger type support for KDE's Konqueror web
+ browser. Klash makes Gnash a <code>kpart</code>, so it's
+ integrated into KDE better than when using MozPlugger. Klash
+ uses the standalone player, utilizing Gnash's "-x" window
+ plugin command line option.
+ </para>
+
+ <para>
+ By default, Klash is not built. To enable building Klash,
+ use the <code>--enable-klash</code> option when
+ configuring. Other than installing, there is nothing else
+ that needs to be done to install Klash.
+ </para>
+ </sect4>
+
&plugin;
</sect3>
@@ -681,6 +810,35 @@
<tbody>
<row>
<entry valign="top" align="left">
+ <para><link linkend="asarray">_global</link></para>
+ </entry>
+ <entry valign="top" align="center">
+ <para>
+ </para>
+ </entry>
+ <entry valign="top" align="center">
+ <para>
+ Partially implemented.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry valign="top" align="left">
+ <para><link linkend="asarray">Accessibility</link></para>
+ </entry>
+ <entry valign="top" align="center">
+ <para>
+ swf v7 ???
+ </para>
+ </entry>
+ <entry valign="top" align="center">
+ <para>
+ Unimplemented.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry valign="top" align="left">
<para><link linkend="asarray">Array</link></para>
</entry>
<entry valign="top" align="center">
@@ -800,7 +958,7 @@
</entry>
<entry valign="top" align="center">
<para>
- Unimplemented
+ Partially implemented.
</para>
</entry>
</row>
@@ -880,7 +1038,7 @@
</entry>
<entry valign="top" align="center">
<para>
- Unimplemented
+ Partially implemented
</para>
</entry>
</row>
@@ -976,7 +1134,7 @@
</entry>
<entry valign="top" align="center">
<para>
- Unimplemented
+ Partially implemented
</para>
</entry>
</row>
@@ -1181,10 +1339,26 @@
<para>
swf v5
</para>
- </entry>TextFormat
+ </entry>
<entry valign="top" align="center">
<para>
- Partially implemented
+ Almost fully implemented
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry valign="top" align="left">
+ <para><link linkend="asxml">XMLNode</link></para>
+ </entry>
+ <entry valign="top" align="center">
+ <para>
+ swf v5
+ </para>
+ </entry>
+ <entry valign="top" align="center">
+ <para>
+ Almost fully implemented
</para>
</entry>
</row>
@@ -1200,7 +1374,7 @@
</entry>
<entry valign="top" align="center">
<para>
- Mostly all implemented
+ Almost fully implemented
</para>
</entry>
</row>
@@ -1248,9 +1422,10 @@
&asxmlsocket;
</sect3>
-
</sect2>
+ &opcodes;
+
<sect2 id="engine">
<title>The Interpreter Engine</title>
<para>
Index: gnash/doc/C/localconnection.xml
diff -u gnash/doc/C/localconnection.xml:1.3 gnash/doc/C/localconnection.xml:1.4
--- gnash/doc/C/localconnection.xml:1.3 Sun Feb 5 22:17:49 2006
+++ gnash/doc/C/localconnection.xml Sun Apr 2 21:45:55 2006
@@ -2,7 +2,18 @@
<title>LocalConnection ActionScript Class</title>
<para>
- This class implements an LocalConnection object.
+ This class implements an LocalConnection object. This is basically
+ a Flash version of the a standard RPC (Remote Procedure
+ Call). This is used to have multiple flash movies exchange data
+ without converting it to <code>XML</code> first. This class uses shared
memory
+ to transfer the data in the <code>AMF</code> format.
+ </para>
+
+ <para>
+ There is some documentation of the <code>AMF</code> format at online, but
not
+ much. There appear to be a few free <code>AMF</code> projects, but none
that I
+ could find have any code. So I'm stuck developing a C/C++ based
+ <code>AMF</code> library to transfer data.
</para>
<sect5 id="localconnectionmethods">
@@ -14,7 +25,8 @@
<term>close()</term>
<listitem>
<para>
- Close the connection
+ Close the current open connection, and remove the shared
+ memory segment.
</para>
</listitem>
</varlistentry>
@@ -23,9 +35,11 @@
<term>connect(const char *)</term>
<listitem>
<para>
- Accept local messages to this object. This creates a
- <code>tcp/ip</code> based server that waits on a network
- port for incoming messages.
+ This establishes a connection point so other movies can
+ remotely execute methods in this movie. The shared
+ memory segment is created in a form that can be atatched
+ to by a client. The code that actually remotely executes a
+ method has yet to be written for Gnash.
</para>
</listitem>
</varlistentry>
@@ -34,7 +48,8 @@
<term>domain()</term>
<listitem>
<para>
- Returns the domain of the local connection.
+ This returns the network domain for this connection. The
+ default is to return "localhost".
</para>
</listitem>
</varlistentry>
@@ -43,7 +58,8 @@
<term>send()</term>
<listitem>
<para>
- Execute a method of the local object
+ Execute a method of the local object. Data is encoded in
+ the <code>AMF</code> format.
</para>
</listitem>
</varlistentry>
Index: gnash/doc/C/netconnection.xml
diff -u gnash/doc/C/netconnection.xml:1.3 gnash/doc/C/netconnection.xml:1.4
--- gnash/doc/C/netconnection.xml:1.3 Sat Feb 4 07:51:34 2006
+++ gnash/doc/C/netconnection.xml Sun Apr 2 21:45:55 2006
@@ -37,34 +37,34 @@
<sect5 id="netconnectionmethods">
<title>The Methods of the Class</title>
- <para>
- <variablelist>
- <varlistentry>the same host where Flash Communication Server is
installed
- <term>NetConnection.connect(const char *)</term>
- <listitem>
- <para>
- Connect to a local or remote system to load a
- FLV file. Arg can be NULL, or an URL.
- </para>
- </listitem>
- </varlistentry>
+ <variablelist>
+ <varlistentry>the same host where Flash Communication Server is
installed
+ <term>NetConnection.connect(const char *)</term>
+ <listitem>
+ <para>
+ Connect to a local or remote system to load a
+ FLV file. Arg can be NULL, or an URL.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
- </para>
</sect5>
- <sect5 id="netconnectionprops">
- <title>The Properties of the NetConnection Class</title>
-
- <para>
- <variablelist>
-
- </variablelist>
- </para>
- </sect5>
- <sect5 id="netconnectionconf">
- <title>NetConnection Class Conformance</title>
+<!--
+ <sect5 id="netconnectionprops">
+ <title>The Properties of the NetConnection Class</title>
+
+ <para>
+ <variablelist>
+
+ </variablelist>
+ </para>
+ </sect5>
+-->
- <para>
+ <sect5 id="netconnectionconf">
+ <title>NetConnection Class Conformance</title>
+
<informaltable frame="all">
<?dbhtml table-width="75%" ?>
<tgroup cols="2">
@@ -96,6 +96,5 @@
</tbody>
</tgroup>
</informaltable>
- </para>
</sect5>
</sect4>
Index: gnash/doc/C/plugin.xml
diff -u gnash/doc/C/plugin.xml:1.2 gnash/doc/C/plugin.xml:1.3
--- gnash/doc/C/plugin.xml:1.2 Thu Mar 9 19:29:05 2006
+++ gnash/doc/C/plugin.xml Sun Apr 2 21:45:55 2006
@@ -181,7 +181,7 @@
Opens a new incoming data stream, which is the flash
movie we want to play. A URL can be pretty ugly, like in
this example:
-
http://www.sckwave.com/swf/navbar/navbar_sw.swf?atfilms=http%3a//www.atomfilms.com/af/home/&shockwave=http%3a//www.shkwave.com&gameblast=http%3a//gamebst.sckwave.com/gb/gbHome.jsp&known=0
../flash/gui.swf?ip_addr=foobar.com&ip_port=3660&show_cursor=true&path_prefix=../flash/&trapallkeys=true"
+
http://www.sickwave.com/swf/navbar/navbar_sw.swf?atfilms=http%3a//www.atm.com/af/home/&shickwave=http%3a//www.sickwave.com&gblst=http%3a//gbst.sickwave.com/gb/gbHome.jsp&known=0
../flash/gui.swf?ip_addr=foobar.com&ip_port=3660&show_cursor=true&path_prefix=../flash/&trapallkeys=true"
So this is where we parse the URL to get all the options
passed in when invoking the plugin.
</para>
@@ -328,15 +328,21 @@
<para>
Firefox on most unix systems is a GTK+ application, so it is
possible to have the plugin hook into the X11 event handling via
- GLX. It would be possible to use gtk event callbacks, if I could
- ever figure out how to get a GTK Widget from an X11 window ID.
+ GLX or GTK. Since Firefox uses GTK, so does Gnash. This also
+ allows the addition of a right-click mouse menu for controlling
+ the player.
</para>
<para>
- Rather than directly hook into the X11 event system, Gnash uses
- SDL from within the player main loop itself to process
- events. Optional Gnash can use a separete thread to process user
- events by pushing them into the SDL event queue quicker.
+ It is also possible to disable the <code>GTK</code> support so
+ only the older <code>SDL</code> support is used. In this case
+ Gnash can't support event handling within the browser. To
+ disable the GTK support and force SDL to be used, configure with
+ <code>--disable-glext</code>
+ </para>
+
+ <para>
+
</para>
</sect5>
Index: gnash/doc/C/sources.xml
diff -u gnash/doc/C/sources.xml:1.5 gnash/doc/C/sources.xml:1.6
--- gnash/doc/C/sources.xml:1.5 Fri Feb 24 02:48:15 2006
+++ gnash/doc/C/sources.xml Sun Apr 2 21:45:55 2006
@@ -33,6 +33,85 @@
</sect3>
+ <sect3 id="gtkglext">
+ <title>GtkGlExt</title>
+ <para>
+ GtkGlExt is an optional package used instead of SDL. Gtk
+ enables better integration into Firefox, as well as better
+ event handling and higher level GUI constructs like menus and
+ dialog boxes.
+ </para>
+ <para>
+ To install a binary package using apt-get (on Debian based
+ systems), install gtkglext-dev. For RPM or Yum based
+ systems, install the gtkglext-devel package.
+ </para>
+ </sect3>
+
+ <sect3 id="pango">
+ <title>Pango</title>
+ <para>
+ Pango is a dependancy of GtkGlExt, and is used for font handling.
+ </para>
+ <para>
+ To install a binary package using apt-get (on Debian based
+ systems), install pango-dev. For RPM or Yum based
+ systems, install the pango-devel package.
+ </para>
+ </sect3>
+
+ <sect3 id="atk">
+ <title>Atk</title>
+ <para>
+ Atk is a dependancy of GtkGlExt, and is used for accesibility
+ support.
+ </para>
+ <para>
+ To install a binary package using apt-get (on Debian based
+ systems), install atk-dev. For RPM or Yum based
+ systems, install the atk-devel package.
+ </para>
+ </sect3>
+
+ <sect3 id="cairo">
+ <title>Cairo</title>
+ <para>
+ Cairo is a dependancy of GtkGlExt, and is used for 2D rendering.
+ </para>
+ <para>
+ To install a binary package using apt-get (on Debian based
+ systems), install caito-dev. For RPM or Yum based
+ systems, install the cairo-devel package.
+ </para>
+ </sect3>
+
+ <sect3 id="glib">
+ <title>Glib</title>
+ <para>
+ Glib is a dependancy of GtkGlExt, and is a collection of
+ commonly used functions.
+ </para>
+ <para>
+ To install a binary package using apt-get (on Debian based
+ systems), install glib-dev. For RPM or Yum based
+ systems, install the glib-devel package.
+ </para>
+ </sect3>
+
+ <sect3 id="gstreamer">
+ <title>Gstreamer</title>
+ <para>
+ Gstreamer will be used for sound and video support.in the near
+ future, as this work is in progress.
+ </para>
+ <para>
+ To install a binary package using apt-get (on Debian based
+ systems), install streamer-dev. For RPM or Yum based
+ systems, install the gstreamer-devel package. Version 0.10 or
+ greater is required.
+ </para>
+ </sect3>
+
<sect3 id="sdl">
<title>SDL</title>
<para>
@@ -164,21 +243,12 @@
<title>Mozilla/Firefox</title>
<para>
- To build the plugin, you need Mozilla/Firefox. You probably
- already have Firefox or Mozilla installed on your
- computer, but probably not the development files. You can get
- Mozilla/Firefox from this link:
- <ulink type="http"
- url="http://www.mozilla.org">http://www.mozilla.org</ulink>
+ The Mozilla development package is no longer needed to build
+ the plugin. The required header files have been added to the
+ Gnash so it builds without Mozilla or Firefox installed at
+ all.
</para>
-
- <para>
- For now I actually build Firefox out of CVS, which has gotten
- pretty easy if you have enough disk space. Gnash uses the
- Mozilla SDK, which is reasonably portable across a variety of
- versions of Mozilla/Firefox without recompiling.
- </para>
-
+
<para>
To install a binary package using apt-get (on Debian based
systems), install mozilla-dev or firefox-dev. For RPM or Yum
@@ -355,7 +425,20 @@
variations, one to specify a path to the header files, and
another to specify a path to the libraries. This lets you
override the default paths <code>configure</code> finds, or
- specify your own path.
+ specify your own paths.
+ </para>
+
+ <para>
+ By default, none of the options should be required unless you
+ want Gnash to use a specific version of a development package,
+ or the configure test for Gnash fails to find the
+ component. There are a lot of options, but Gnash has a lot of
+ dependancies. If you find a configure test is failing on your
+ machine, please <ulink type="http"
+ url="https://savannah.gnu.org/bugs/?group=gnash">submit a patch</ulink>
+ or <ulink type="http"
+ url="https://savannah.gnu.org/bugs/?group=gnash">file a bug
+ report</ulink>.
</para>
<variablelist>
@@ -405,118 +488,340 @@
</varlistentry>
<varlistentry>
- <term>--with-firefox=PFX</term>
+ <term>--with-docbook=DIR</term>
<listitem>
<para>
- Prefix where firefox is installed.
+ Directory where the DocBook style-sheets are installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--with-firefox-libraries=DIR</term>
+ <term>--with-sdl-prefix=PFX</term>
<listitem>
<para>
- Directory where firefox library is installed.
+ Prefix where SDL is installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--with-firefox-includes=DIR</term>
+ <term>--with-sdl_mixer-incl</term>
<listitem>
<para>
- Directory where firefox header files are installed.
+ Directory where sdl_mixer header is installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--with-docbook=DIR</term>
+ <term>--with-sdl_mixer-lib</term>
<listitem>
<para>
- Directory where the DocBook style-sheets are installed.
+ Directory where sdl_mixer library is installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--with-sdl-prefix=PFX</term>
+ <term>--with-zlib-incl</term>
<listitem>
<para>
- Prefix where SDL is installed.
+ Directory where zlib header is installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--with-sdl_mixer-incl</term>
+ <term>--with-zlib-lib</term>
<listitem>
<para>
- Directory where sdl_mixer header is installed.
+ Directory where zlib library is installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--with-sdl_mixer-lib</term>
+ <term>--with-jpeg-incl</term>
<listitem>
<para>
- Directory where sdl_mixer library is installed.
+ Directory where jpeg header is installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--with-zlib-incl</term>
+ <term>--with-jpeg-lib</term>
<listitem>
<para>
- Directory where zlib header is installed.
+ Directory where jpeg library is installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--with-zlib-lib</term>
+ <term>--with-png-incl</term>
<listitem>
<para>
- Directory where zlib library is installed.
+ Directory where png header is installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--with-jpeg-incl</term>
+ <term>--with-png-lib</term>
<listitem>
<para>
- Directory where jpeg header is installed.
+ Directory where png library is installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--with-jpeg-lib</term>
+ <term>--with-qt-dir</term>
<listitem>
<para>
- Directory where jpeg library is installed.
+ Directory where QT is installed. This is only used by
+ the Klash plugin.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--with-png-incl</term>
+ <term>--with-qt-includes</term>
<listitem>
<para>
- Directory where png header is installed.
+ Directory where the QT header files are installed. This
+ is only used by the Klash plugin.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--with-png-lib</term>
+ <term>--with-qt-libraries</term>
<listitem>
<para>
- Directory where png library is installed.
+ Directory wherethe QT libraries are installed. This is
+ only used by the Klash plugin.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-plugindir</term>
+ <listitem>
+ <para>
+ This is the directory to install the Firefox plugin in.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-ming</term>
+ <listitem>
+ <para>
+ Ming is used to build testcases, but not by the Gnash
+ player itself.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-mad_incl</term>
+ <listitem>
+ <para>
+ Directory where libmad header is installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-mad_lib</term>
+ <listitem>
+ <para>
+ Directory where libmad library is installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-ogg_incl</term>
+ <listitem>
+ <para>
+ Directory where the libogg headers are installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-ogg_lib</term>
+ <listitem>
+ <para>
+ Directory where the libogg library is installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-gstreamer-incl</term>
+ <listitem>
+ <para>
+ Directory where the Gstreamer headers are
+ installed. Gstreamer version 0.10 or greater must be used.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-gstreamer-lib</term>
+ <listitem>
+ <para>
+ Directory where the Gstreamer library is
+ installed. Gstreamer version 0.10 or greater must be used.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-opengl-includes</term>
+ <listitem>
+ <para>
+ Directory where OpenGL (libMesa) headers are installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-opengl-lib</term>
+ <listitem>
+ <para>
+ Directory where the OpenGL (libMesa) library is installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-glext-incl</term>
+ <listitem>
+ <para>
+ Directory where GtkGlExt headers are installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-glext-lib</term>
+ <listitem>
+ <para>
+ Directory where the GtkGlExt library is installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-gtk2-incl</term>
+ <listitem>
+ <para>
+ Directory where the Gtk2 headers are installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-gtk2-lib</term>
+ <listitem>
+ <para>
+ Directory where the Gtk2 library is installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-cairo_incl</term>
+ <listitem>
+ <para>
+ Directory where the Cairo headers are installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-cairo-lib</term>
+ <listitem>
+ <para>
+ Directory where the Cairo library is installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-glib-incl</term>
+ <listitem>
+ <para>
+ Directory where the Glib headers are installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-glib-lib</term>
+ <listitem>
+ <para>
+ Directory where the Glib library is installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-pango-incl</term>
+ <listitem>
+ <para>
+ Directory where the Pango headers are installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-pango-lib</term>
+ <listitem>
+ <para>
+ Directory where the Pango library is installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-atk-incl</term>
+ <listitem>
+ <para>
+ Directory where the ATK headers are installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-atk-lib</term>
+ <listitem>
+ <para>
+ Directory where the ATK library is installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-pthread-incl</term>
+ <listitem>
+ <para>
+ Directory where the Pthread headers are installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--with-pthread-lib</term>
+ <listitem>
+ <para>
+ Directory where the Pthread library is installed.
</para>
</listitem>
</varlistentry>
@@ -542,41 +847,152 @@
<term>--disable-xml</term>
<listitem>
<para>
- Disable support for XML. The default is to support
- XML.
+ Disable support for XML. The default is to support XML.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--enable-dom</term>
+ <term>--disable-fork</term>
<listitem>
<para>
- When using the XML library, parse the messages using a
- DOM based parser. This is the default.
+ Disable the plugin forking the standalone player,and
+ using a thread for the player instead. Currently forking
+ the standalone player will give you the best results.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--enable-xmlreader</term>
+ <term>--disable-plugin</term>
+ <listitem>
+ <para>
+ Disable building the plugin. By default the
+ Mozilla Firefox plugin will be built if all the required
+ files are found by configure. Configure
+ <code>--with-plugindir</code> to specify where the
+ plugin should be installed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--disable-glext</term>
+ <listitem>
+ <para>
+ Disable using GtkGlExt, which forces the use of SDL
+ instead. By default if the GtkGL extension for Gtk is found
+ by configure, the GTK enabled GUI is built.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--enable-klash</term>
+ <listitem>
+ <para>
+ Enable support for Konqueror plugin.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--enable-libsuffix</term>
+ <listitem>
+ <para>
+ /lib directory suffix (64,32,none=default). This is only
+ used by Klash.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--enable-embedded</term>
+ <listitem>
+ <para>
+ Link to Qt-embedded, don't use X. This is only used by
+ Klash.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--enable-qtopia</term>
+ <listitem>
+ <para>
+ Link to Qt-embedded, link to the Qtopia
+ Environment. This is only used by Klash.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--enable-mac</term>
+ <listitem>
+ <para>
+ Link to Qt/Mac (don't use X). This is only used by
+ Klash.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--enable-sdk-install</term>
+ <listitem>
+ <para>
+ Enable installing the libraries and headers as an SDK.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--enable-testing</term>
+ <listitem>
+ <para>
+ Enable testing specific methods
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--enable-lotsa-warnings</term>
+ <listitem>
+ <para>
+ Turn on tons of GCC compiler warnings. By default only
+ <code>-Wall</code> is ued with GCC.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--enable-ghelp</term>
+ <listitem>
+ <para>
+ Enable support for the GNOME help system.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--enable-dom</term>
<listitem>
<para>
When using the XML library, parse the messages using a
- SAX based parser.
+ DOM based parser. This is the default.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>--enable-plugin</term>
+ <term>--enable-xmlreader</term>
<listitem>
<para>
- Enable support for being a plugin. This is the default.
+ When using the XML library, parse the messages using a
+ SAX based parser.
</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>--enable-dmalloc</term>
<listitem>
Index: gnash/libbase/Makefile.am
diff -u gnash/libbase/Makefile.am:1.19 gnash/libbase/Makefile.am:1.20
--- gnash/libbase/Makefile.am:1.19 Thu Mar 30 01:52:00 2006
+++ gnash/libbase/Makefile.am Sun Apr 2 21:45:55 2006
@@ -40,12 +40,36 @@
AUTOMAKE_OPTIONS =
-AM_CXXFLAGS = $(SDL_CFLAGS) $(SDL_MIXER_CFLAGS) $(INCLUDES)
+INCLUDES = -I.. -I$(srcdir) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/server\
+ $(PTHREAD_CFLAGS) \
+ $(OPENGL_CFLAGS) \
+ $(LIBXML_CFLAGS) \
+ $(PNG_CFLAGS) \
+ $(SDL_CFLAGS) \
+ $(SDL_MIXER_CFLAGS) \
+ $(ZLIB_CFLAGS) \
+ $(JPEG_CFLAGS)
+
+AM_CXXFLAGS = $(INCLUDES)
AM_CPPFLAGS = #-Wall
-# noinst_LTLIBRARIES = libbase.la
+# These will only be used if anyone changes the demo to actually have
+# a main() routine and do something instead of just compile.
+# AM_LDFLAGS = \
+# $(OPENGL_LIBS) \
+# $(SDL_LIBS) \
+# $(SDL_MIXER_LIBS) \
+# $(X_LIBS) \
+# $(JPEG_LIBS) \
+# $(PNG_LIBS) \
+# $(LIBXML_LIBS) \
+# $(DMALLOC_LIBS) \
+# $(MAD_LIBS) \
+# $(OGG_LIBS)
+
lib_LTLIBRARIES = libgnashbase.la
-# noinst_LIBRARIES = libbase.a
# These headers get installed
# include_HEADERS = log.h err.h proc.h serial.h xantrex.h outback.h
@@ -55,16 +79,6 @@
DMALLOC_FILE = dlmalloc.c
endif
-INCLUDES = -I.. -I$(srcdir) \
- -I$(top_srcdir) \
- -I$(top_srcdir)/server \
- $(PTHREAD_CFLAGS) \
- $(OPENGL_CFLAGS) \
- $(LIBXML_CFLAGS) \
- $(PNG_CFLAGS) \
- $(ZLIB_CFLAGS) \
- $(JPEG_CFLAGS)
-
libgnashbase_la_SOURCES = \
config.cpp \
container.cpp \
@@ -116,6 +130,16 @@
#libbase_la_LDFLAGS = -module -avoid-version -no-undefined
#libbase_la_LIBDADD = address@hidden@ # $(LIBLTDL)
+# We use our own rule to build the demo so it isn't built by default.
+# Since it doesn't contain a main() routine, we only try to compile,
+# and not link it.
+#noinst_PROGRAMS = demo
+#demo_SOURCES = demo.cpp
+#demo_LDADD = libgnashbase.la
+demo$(EXEEXT): demo.o $(lib_LTLIBRARIES)
+# @$(RM) demo$(EXEEXT)
+# $(CXXLINK) $(AM_LDFLAGS) demo.o $(lib_LTLIBRARIES) $(LIBS)
+
# Rebuild with GCC 4.x Mudflap support
mudflap:
@echo "Rebuilding with GCC Mudflap support"
Index: gnash/libbase/demo.cpp
diff -u gnash/libbase/demo.cpp:1.3 gnash/libbase/demo.cpp:1.4
--- gnash/libbase/demo.cpp:1.3 Wed Mar 29 05:42:41 2006
+++ gnash/libbase/demo.cpp Sun Apr 2 21:45:55 2006
@@ -7,11 +7,14 @@
// initialization, and some basic viewport navigation.
+#include <cstdio>
#include "tu_config.h"
#include "demo.h"
#include "ogl.h"
#include "SDL.h"
+using namespace demo;
+
void init_video(int width, int height, int depth)
{
// Display.
@@ -32,8 +35,7 @@
exit(1);
}
- ogl gl;
- gl.open();
+ ogl::open();
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ./ChangeLog libbase/Makefile.am libbase/d...,
Rob Savoye <=