gnash-commit
[Top][All Lists]
Advanced

[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/&amp;shockwave=http%3a//www.shkwave.com&amp;gameblast=http%3a//gamebst.sckwave.com/gb/gbHome.jsp&amp;known=0
 
../flash/gui.swf?ip_addr=foobar.com&amp;ip_port=3660&amp;show_cursor=true&amp;path_prefix=../flash/&amp;trapallkeys=true"
+           
http://www.sickwave.com/swf/navbar/navbar_sw.swf?atfilms=http%3a//www.atm.com/af/home/&amp;shickwave=http%3a//www.sickwave.com&amp;gblst=http%3a//gbst.sickwave.com/gb/gbHome.jsp&amp;known=0
 
../flash/gui.swf?ip_addr=foobar.com&amp;ip_port=3660&amp;show_cursor=true&amp;path_prefix=../flash/&amp;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();
 }
 
 




reply via email to

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