Sat Apr 3 21:12:53 CEST 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* KDE is split up in kde.ui and kde.core.
hunk ./introduction.xml 106
+ <note>
+ <para>
+ There are also the following repositories: qt.svg qt.dbus kde.core kde.ui kde.tests kde.examples
+ </para>
+ </note>
hunk ./kde.xml 6
-<caution>
hunk ./kde.xml 7
- The KDE bindings are not yet split up in <package>kde.core</package>
- etc. and thus are currently not functional.
+To use the KDE libraries use the <package>:cl-smoke.kde.ui</package>
+(Depends on <package>:cl-smoke.kde.core</package>).
hunk ./kde.xml 10
-</caution>
hunk ./kde.xml 11
-Besides the <package>:kde</package> package there
+Besides these packages there
hunk ./kde.xml 20
-(mb:load <package>:kde.examples</package>)
+(asdf:oos 'asdf:load-op <package>:cl-smoke.kde.examples</package>)
hunk ./qt.xml 64
+<para>
+Custom <methodname>cxx:paint-event</methodname> methods can use <macro>qt:with-painter</macro>
+to ensure that the <classname>qt:painter</classname> is deactivated at the end of the method.
+</para>
+
Sat Apr 3 21:12:32 CEST 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* C++ member variable access
hunk ./smoke.xml 215
+<section id="members"><title>Member variables</title>
+<para>
+C++ member variables of an instance can be accessed by using <code>slot-value</code>; e.g.:
+<informalexample>
+<programlisting language="lisp">(slot-value (make-instance 'qt:object) :static-meta-object)</programlisting>
+</informalexample>
+or
+<informalexample>
+<programlisting language="lisp">(slot-value (find-class 'qt:object) :static-meta-object)</programlisting>
+</informalexample>
+Usually they can also be accessed using methods from the <package>:cxx</package> package.
+</para>
+</section>
+
Sun Jan 10 09:57:54 CET 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* modular smoke.
hunk ./introduction.xml 27
- <listitem><para>10 seconds startup time<footnote>
+ <listitem><para>6 seconds startup time<footnote>
hunk ./introduction.xml 33
- Pentium M 1.7GHz. (Compilation ~20 seconds)</para></listitem>
+ Pentium M 1.7GHz. </para></listitem>
hunk ./introduction.xml 52
- bindings from svn; r1061660 or later
+ bindings from svn.
hunk ./introduction.xml 62
- <listitem><para>a make program (preferably Gnu Make)</para></listitem>
hunk ./introduction.xml 102
-for r in smoke qt qt.test qt.tests qt.examples qt.uitools qt.webkit qt.phonon; do
+for r in smoke qt.core qt.gui qt.network qt.test qt.tests qt.examples qt.uitools qt.webkit qt.phonon; do
hunk ./introduction.xml 108
- Build and install the <package>:smoke</package> and <package>:qt</package> C wrapper libraries with:
+ Build and install the <package>:smoke</package> and <package>:qt.core</package> C wrapper libraries with:
hunk ./introduction.xml 116
- should be able to load the systems.
+ should be able to load the systems. The system name has a
+ <code>:cl-smoke.</code> prefix. e.g.:
+ <informalexample>
+ <programlisting language="lisp">(asdf:oos 'asdf:load-op :cl-smoke.qt.examples) </programlisting>
+ </informalexample>
hunk ./kde.xml 6
+<caution>
+<para>
+ The KDE bindings are not yet split up in <package>kde.core</package>
+ etc. and thus are currently not functional.
+</para>
+</caution>
hunk ./qt.xml 7
-Besides the <package>:qt</package> there are these modules: with
+Besides the <package>:cl-smoke.qt.gui</package> there are these modules:
hunk ./qt.xml 10
- <package>:qt.uitools</package>
+ <package>:cl-smoke.qt.uitools</package>
hunk ./qt.xml 13
- <listitem><para><package>:qt.test</package>
+ <listitem><para><package>:cl-smoke.qt.test</package>
hunk ./qt.xml 16
- <listitem><para><package>:qt.webkit</package>
+ <listitem><para><package>:cl-smoke.qt.webkit</package>
hunk ./qt.xml 20
- <listitem><para><package>:qt.phonon</package>
+ <listitem><para><package>:cl-smoke.qt.phonon</package>
hunk ./qt.xml 24
+ <listitem><para><package>:cl-smoke.qt.network</package>
+ The network classes of Qt.
+ </para></listitem>
+ <listitem><para><package>:cl-smoke.qt.core</package>
+ the nogui Qt core.
+ </para></listitem>
hunk ./qt.xml 36
-Additionally there is the <package>:qt.tests</package> system, containing
-the unit tests and <package>:qt.examples</package> for various examples.
+Additionally there is the <package>:cl-smoke.qt.tests</package> system, containing
+the unit tests and <package>:cl-smoke.qt.examples</package> for various examples.
hunk ./qt.xml 165
-in the <filename class="directory">src/</filename> directory of <package>:qt.examples</package> on how to do this.
+in the <filename class="directory">src/</filename> directory of <package>:cl-smoke.qt.examples</package> on how to do this.
hunk ./qt.xml 173
-(mb:load <package>:qt.examples</package>)
+(asdf:oos 'asdf:load-op <package>:cl-smoke.qt.examples</package>)
hunk ./qt.xml 198
-<para>Qt Classes browser using <package>:qt.webkit</package> to display the
+<para>Qt Classes browser using <package>:cl-smoke.qt.webkit</package> to display the
Sun Dec 13 14:22:09 CET 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* remove mudballs
hunk ./chunk.xsl 6
-<xsl:import href="link-apidoc.xsl" />
+<xsl:import href="nonlink-apidoc.xsl" />
hunk ./introduction.xml 52
- bindings from svn; r1015073 or later
+ bindings from svn; r1061660 or later
hunk ./introduction.xml 66
-On the Lisp side you need <ulink url="http://mudballs.com">Mudballs</ulink>
-and <ulink url="http://tobias.rautenkranz.ch/lisp/sysdef.cmake">sysdef.cmake</ulink>.
-</para>
-<para>
-If you prefer to use <ulink url="http://common-lisp.net/project/asdf/">ASDF</ulink> instead of Mudballs, you need these systems:
hunk ./introduction.xml 100
- For loading the systems you can use Mudballs or ASDF. But first get the sources:
-</para>
-<para>
hunk ./introduction.xml 103
-for r in smoke qt qt.test qt.tests qt.examples qt.uitools qt.webkit qt.phonon kde kde.tests kde.examples repl; do
+for r in smoke qt qt.test qt.tests qt.examples qt.uitools qt.webkit qt.phonon; do
hunk ./introduction.xml 108
- <section><title>Mudballs</title>
hunk ./introduction.xml 109
- Then add the directory <userinput>SOME_DIR</userinput> to the mudballs search paths by adding
- <programlisting>
-(push (wildcard-searcher "<userinput>SOME_DIR</userinput>/*/*.mbd")
- *custom-search-modules*)
- </programlisting>
- to <filename>~/.mudballs</filename>.
-</para>
-<note>
-<para>
- Loading the packages with <code>mb:load</code> compiles the C wrapper libraries as needed.
-</para>
-</note>
- </section>
-
- <section><title>ASDF</title>
- <para>
- The <code>.asd</code> files are
- <ulink url="http://tobias.rautenkranz.ch/darcsweb/darcsweb.cgi?r=mudballs-to-asdf;a=summary">generated</ulink>
- from the mudballs files. [_$_]
- <ulink url="http://tobias.rautenkranz.ch/lisp/cl-smoke/cl-smoke-asd.tar.bz2">Get the <code>.asd</code> files</ulink> and
- place them in the corresponding source directories. Then symlink the <code>.asd</code> files in a ASDF search path.
- You can for example run: <code>ln -s <userinput>SOME_DIR/*/*.asd</userinput> <userinput>ASDF_PATH</userinput></code>
- </para>
- <para>
- Now build and install the <package>:smoke</package> and <package>:qt</package> C wrapper libraries with:
+ Build and install the <package>:smoke</package> and <package>:qt</package> C wrapper libraries with:
hunk ./introduction.xml 115
- <note><para>
- Some examples get the paths for the files to load from their Mudballs system (ui and i18n) and thus will not work.
- </para></note>
- </section>
+ <para>
+ When you have symlinked the <filename>.asd</filename> system files, you
+ should be able to load the systems.
+ </para>
hunk ./manual.xsl 6
-<xsl:import href="link-apidoc.xsl"/>
+<xsl:import href="nonlink-apidoc.xsl"/>
addfile ./nonlink-apidoc.xsl
hunk ./nonlink-apidoc.xsl 1
+<?xml version='1.0'?> [_$_]
+<!--
+Copyright 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE. [_$_]
+!-->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> [_$_]
+
+
+<xsl:template match="macro">
+ <xsl:call-template name="ulink">
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="genericfunction">
+ <xsl:call-template name="ulink">
+ </xsl:call-template>
+</xsl:template>
+
+</xsl:stylesheet>
hunk ./qt.xml 212
-For OpenGL an binding is needed (e.g.: [_$_]
+For OpenGL a binding is needed (e.g.: [_$_]
hunk ./qt.xml 229
-Because <ulink url="http://common-lisp.net/project/cl-opengl/">cl-opengl</ulink> is need to
-run the example, but is not in mudballs; the origami example is not included in the mudballs system.
-<ulink url="http://axiom-wiki.newsynthesis.org/FrontPage">Axiom</ulink> is needed for building.
+<ulink url="http://axiom-wiki.newsynthesis.org/FrontPage">Axiom</ulink> is needed to generate the lisp source to that
+calculates the vertices.
hunk ./qt.xml 237
-<section id="commonqt"><title>CommonQt</title>
-<para><ulink url="http://tobias.rautenkranz.ch/darcsweb/darcsweb.cgi?r=cl-smoke/commonqt">:cl-smoke.commonqt</ulink>
-is an experimental compatibility layer to run Lisp code using the
-<ulink url="http://common-lisp.net/project/commonqt/">CommonQt</ulink> API with cl-smoke.
-It is incomplete, but implementing the missing pieces should be straight forward.
-</para>
-<screenshot>
-<mediaobject>
-<imageobject>
- <imagedata fileref="commonqt-t14.png" format="PNG"/>
-</imageobject>
-<caption>
-<para>CommonQt tutorial 14
-<filename><ulink url="http://repo.or.cz/w/commonqt.git?a=blob;f=tutorial/t14.lisp;hb=HEAD">t14.lisp</ulink></filename>
-running with <code>:cl-smoke.commonqt</code>.
-</para>
-</caption>
-</mediaobject>
-</screenshot>
-</section>
-
Wed Sep 2 14:08:06 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* cl-smoke now supports user conversions for return values.
hunk ./smoke.xml 94
-<para>
-User defined conversions for return values are currently not supported (in <code>defmethods</code>).
-</para>
Sun Aug 30 16:26:13 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Multiple inheritance doc & expand tabs in programmlisting.
hunk ./qt.xml 9
- <listitem><para>
- <package>:qt.uitools</package>
- <ulink url="http://doc.trolltech.com/4.5/qtuitools.html">
- QtUiTools</ulink></para></listitem>
- <listitem><para><package>:qt.test</package>
- <ulink url="http://doc.trolltech.com/4.5/qttest.html">
- QtTest</ulink></para></listitem>
- <listitem><para><package>:qt.webkit</package>
- <ulink url="http://doc.trolltech.com/4.5/qtwebkit.html">
- QtWebKit</ulink>
- </para></listitem>
- <listitem><para><package>:qt.phonon</package>
- <ulink url="http://doc.trolltech.com/4.5/phonon.html">
- Phonon</ulink>
- </para></listitem>
+ <listitem><para>
+ <package>:qt.uitools</package>
+ <ulink url="http://doc.trolltech.com/4.5/qtuitools.html">
+ QtUiTools</ulink></para></listitem>
+ <listitem><para><package>:qt.test</package>
+ <ulink url="http://doc.trolltech.com/4.5/qttest.html">
+ QtTest</ulink></para></listitem>
+ <listitem><para><package>:qt.webkit</package>
+ <ulink url="http://doc.trolltech.com/4.5/qtwebkit.html">
+ QtWebKit</ulink>
+ </para></listitem>
+ <listitem><para><package>:qt.phonon</package>
+ <ulink url="http://doc.trolltech.com/4.5/phonon.html">
+ Phonon</ulink>
+ </para></listitem>
hunk ./qt.xml 45
- <imagedata fileref="hello-world.png" format="PNG"/>
+ <imagedata fileref="hello-world.png" format="PNG"/>
hunk ./qt.xml 51
-</programlisting>[_^I_][_$_]
+</programlisting> [_$_]
hunk ./qt.xml 111
- (setf (<methodname>qt:property</methodname> object :object-name) "Foo")
- (assert (string= "Foo" (<methodname>qt:property</methodname> object "objectName"))))
+ (setf (<methodname>qt:property</methodname> object :object-name) "Foo")
+ (assert (string= "Foo" (<methodname>qt:property</methodname> object "objectName"))))
hunk ./qt.xml 135
- <imagedata fileref="i18n-hello-world.png" format="PNG"/>
+ <imagedata fileref="i18n-hello-world.png" format="PNG"/>
hunk ./qt.xml 143
-</programlisting>[_^I_][_$_]
+</programlisting> [_$_]
hunk ./qt.xml 150
-</programlisting>[_^I_][_$_]
+</programlisting> [_$_]
hunk ./qt.xml 181
- <imagedata fileref="repl.png" format="PNG"/>
+ <imagedata fileref="repl.png" format="PNG"/>
hunk ./qt.xml 187
-</programlisting>[_^I_][_$_]
+</programlisting> [_$_]
hunk ./qt.xml 199
- <imagedata fileref="class-browser.png" format="PNG"/>
+ <imagedata fileref="class-browser.png" format="PNG"/>
hunk ./qt.xml 205
-</programlisting>[_^I_][_$_]
+</programlisting> [_$_]
hunk ./qt.xml 247
- <imagedata fileref="commonqt-t14.png" format="PNG"/>
+ <imagedata fileref="commonqt-t14.png" format="PNG"/>
hunk ./smoke.xml 33
- (make-instance '<classname>qt:object</classname> :args (list parent)))
+ (make-instance '<classname>qt:object</classname> :args (list parent)))
hunk ./smoke.xml 40
- (make-instance '<classname>qt:object</classname> :arg0 parent))
+ (make-instance '<classname>qt:object</classname> :arg0 parent))
hunk ./smoke.xml 49
- ()
- (:metaclass <classname>cxx:class</classname>))
+ ()
+ (:metaclass <classname>cxx:class</classname>))
+
+(make-instance 'my-object)
+</programlisting>
+</informalexample>
+The first superclass must be a Smoke class. When you define a class that has several Smoke superclasses,
+they will be constructed with their default constructor. For the first Smoke superclass you can supply arguments
+with the <code>:args</code> and <code>:arg0</code> etc. keywords.
+<informalexample>
+<programlisting language="lisp">
+(defclass my-graphics-object (<classname>qt:object</classname> <classname>qt:graphics-item</classname>)
+ ()
+ (:metaclass <classname>cxx:class</classname>))
hunk ./smoke.xml 124
- ()
- (:metaclass <classname>cxx:class</classname>))
+ ()
+ (:metaclass <classname>cxx:class</classname>))
hunk ./smoke.xml 128
- (declare (ignore object event))
- (call-next-method))
+ (declare (ignore object event))
+ (call-next-method))
hunk ./smoke.xml 212
- C++ Class enums available as constants. E.g.:
- <code>QColor::Rgb</code> is <constant>qt:color.+rgb+</constant>.
- See <package>:cxx-support</package>.
+ C++ Class enums available as constants. E.g.:
+ <code>QColor::Rgb</code> is <constant>qt:color.+rgb+</constant>.
+ See <package>:cxx-support</package>.
hunk ./smoke.xml 230
- Ownership transfer for non QObject instances is mostly unimplemented.
+ Ownership transfer for non QObject instances is mostly unimplemented.
Thu Aug 27 13:47:08 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Update for the new smokegenerator
hunk ./introduction.xml 36
- <listitem><para>No const-correctness</para></listitem>
hunk ./introduction.xml 52
- bindings 4.2 or later</para></listitem>
+ bindings from svn; r1015073 or later
+ <footnote><para>
+ The new smokegenerator is needed (developed by Arno Rehn for the GSOC 09).
+ </para></footnote>
+ </para></listitem>
hunk ./manual.xsl 14
-
Sun Aug 2 13:24:57 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Remove wrong note about cxx:meta-object
hunk ./smoke.xml 218
-An instance may depend on an other one.
-It is a bad idea to do something like this:
-<programlisting language="lisp">
-(defvar *meta* (<genericfunction>cxx:meta-object</genericfunction> (make-instance 'qt:object)))
-</programlisting>
-<code>*meta*</code> references a <classname>qt:meta-class</classname>
-that can become invalid at any time, since the <classname>qt:object</classname> instance can
-be garbage collected, and then the <code>QMetaObject</code> instance is deleted along
-with the <code>QObject</code>.
-</para>
-</caution>
-<caution>
-<para>
Thu Jul 23 00:59:59 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* add phonon repository
hunk ./introduction.xml 108
-for r in smoke qt qt.test qt.tests qt.examples qt.uitools qt.webkit kde kde.tests kde.examples repl; do
+for r in smoke qt qt.test qt.tests qt.examples qt.uitools qt.webkit qt.phonon kde kde.tests kde.examples repl; do
Thu Jul 23 00:53:41 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* phonon & :arg0
hunk ./introduction.xml 29
- Using an image it is around 1 second.
+ Using a core image it is around 1 second.
hunk ./qt.xml 7
-Besides the <package>:qt</package> there are these packages: with
+Besides the <package>:qt</package> there are these modules: with
hunk ./qt.xml 20
+ <listitem><para><package>:qt.phonon</package>
+ <ulink url="http://doc.trolltech.com/4.5/phonon.html">
+ Phonon</ulink>
+ </para></listitem>
hunk ./qt.xml 25
-which provide bindings for their Qt module.
+which provide bindings for their Qt module. The class names of this modules are in
+the <package>:qt</package> package. (E.g. Phonon::VideoPlayer is <code>'qt:phonon.video-player</code>
+and QTest is <code>'qt:test</code>)
+</para>
+<para>
hunk ./qt.xml 106
+The predefined Qt properties can be accessed with symbols in the keyword package.
hunk ./qt.xml 111
- (setf (<methodname>qt:property</methodname> object 'object-name) "Foo")
+ (setf (<methodname>qt:property</methodname> object :object-name) "Foo")
hunk ./smoke.xml 36
+or use <code>:arg0</code>, <code>:arg1</code> and <code>:arg2</code>.
+<informalexample>
+<programlisting language="lisp">
+(let ((parent (make-instance '<classname>qt:object</classname>)))
+ (make-instance '<classname>qt:object</classname> :arg0 parent))
+</programlisting>
+</informalexample>
Mon Jul 6 23:51:20 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* OpenGL: origami
hunk ./chunk.xsl 5
-<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/chunk.xsl"/>
-<xsl:import href="link-apidoc.xsl"/>
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/html/chunk.xsl" />
+<xsl:import href="link-apidoc.xsl" />
hunk ./chunk.xsl 8
-<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/highlight.xsl"/>
-<xsl:param name="highlight.source" select="1"/>
+<xsl:import href="video.xsl" />
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/html/highlight.xsl" />
+
+<xsl:param name="highlight.source" select="1" />
hunk ./chunk.xsl 16
-<xsl:param name="use.id.as.filename" select="1"/>
+<xsl:param name="use.id.as.filename" select="1" />
hunk ./introduction.xml 17
-<section><title>Limitations</title>
+<section id="limitations"><title>Limitations</title>
hunk ./introduction.xml 48
-<section><title>Installation</title>
+<section id="installation"><title>Installation</title>
hunk ./kde.xml 12
-<section><title>Examples</title>
+<section id="kde_examples"><title>Examples</title>
hunk ./manual.xsl 5
-<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl"/>
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl"/>
hunk ./manual.xsl 8
-<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/highlight.xsl"/>
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/html/highlight.xsl"/>
+
+<xsl:import href="video.xsl" />
+
hunk ./manual.xsl 14
+
addfile ./origami.ogg
binary ./origami.ogg
addfile ./origami.png
binary ./origami.png
hunk ./qt.xml 26
-<section><title>qt:application</title>
+<section id="qapplication"><title>qt:application</title>
hunk ./qt.xml 66
-<section><title>Signal-Slot</title>
+<section id="signal_slot"><title>Signal-Slot</title>
hunk ./qt.xml 93
-<section><title>Properties</title>
+<section id="properties"><title>Properties</title>
hunk ./qt.xml 109
-<section><title>Variant</title>
+<section id="variant"><title>Variant</title>
hunk ./qt.xml 117
-<section><title>i18n</title>
+<section id="i18n"><title>i18n</title>
hunk ./qt.xml 154
-<section><title>Examples</title>
+<section id="qt_examples"><title>Examples</title>
hunk ./qt.xml 201
-<section><title>CommonQt</title>
+<section id="opengl"><title>OpenGL</title>
+<para>
+For OpenGL an binding is needed (e.g.: [_$_]
+<ulink url="http://common-lisp.net/project/cl-opengl/">cl-opengl</ulink>).
+</para>
+<example><title>Origami</title>
+<para>
+<ulink url="http://tobias.rautenkranz.ch/darcsweb/darcsweb.cgi?r=cl-smoke/qt.examples;a=tree;f=/src/origami">Origami</ulink>
+draws a pleated hyperbolic paraboloid using the method described in
+<ulink url="http://arxiv.org/abs/0906.4747">(Non)existence of Pleated Folds: How Paper Folds Between Creases</ulink>
+</para>
+<mediaobject>
+<videoobject>
+<videodata fileref='origami.ogg'/>
+</videoobject>
+</mediaobject>
+<para>
+<note>
+<para>
+Because <ulink url="http://common-lisp.net/project/cl-opengl/">cl-opengl</ulink> is need to
+run the example, but is not in mudballs; the origami example is not included in the mudballs system.
+<ulink url="http://axiom-wiki.newsynthesis.org/FrontPage">Axiom</ulink> is needed for building.
+</para>
+</note>
+</para>
+</example>
+</section>
+
+<section id="commonqt"><title>CommonQt</title>
hunk ./smoke.xml 4
-<chapter id="smoke"> [_$_]
+<chapter id="usage"> [_$_]
hunk ./smoke.xml 20
-<section><title>Class</title>
+<section id="classes"><title>Class</title>
hunk ./smoke.xml 49
-<section><title>Methods</title>
+<section id="methods"><title>Methods</title>
hunk ./smoke.xml 172
-<section><title>Static Methods</title>
+<section id="static_methods"><title>Static Methods</title>
hunk ./smoke.xml 191
-<section><title>Constants</title>
+<section id="constants"><title>Constants</title>
hunk ./smoke.xml 199
-<section><title>Garbage Collection</title>
+<section id="gc"><title>Garbage Collection</title>
addfile ./video.xsl
hunk ./video.xsl 1
+<?xml version='1.0'?> [_$_]
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> [_$_]
+
+<!-- this barely works -->
+<xsl:template match="videodata">
+ <video controls="true">
+ <xsl:attribute name="src">
+ <xsl:value-of select="@fileref" />
+ </xsl:attribute>
+ <img>
+ <xsl:attribute name="src">
+ <xsl:value-of select="concat(substring-before(@fileref, 'ogg'),'png')" />
+ </xsl:attribute>
+ </img>
+ <p>
+ <a>
+ <xsl:attribute name="href">
+ <xsl:value-of select="@fileref" />
+ </xsl:attribute>
+ <xsl:text>Download Video</xsl:text>
+ </a>
+ </p>
+ </video>
+</xsl:template>
+
+</xsl:stylesheet>
Fri Jul 3 00:28:43 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* cl-smoke.commonqt & Clozure CL support
addfile ./commonqt-t14.png
binary ./commonqt-t14.png
hunk ./introduction.xml 84
- </itemizedlist>
-</section>
-<section><title>Partial</title>
- <itemizedlist>
hunk ./introduction.xml 85
- <ulink url="http://trac.clozure.com/openmcl">Clozure CL</ulink> support is currently broken.
+ <ulink url="http://trac.clozure.com/openmcl">Clozure CL</ulink> on Linux x86.
hunk ./introduction.xml 136
- You can for examples run: <code>ln -s <userinput>SOME_DIR/*/*.asd</userinput> <userinput>ASDF_PATH</userinput></code>
+ You can for example run: <code>ln -s <userinput>SOME_DIR/*/*.asd</userinput> <userinput>ASDF_PATH</userinput></code>
hunk ./introduction.xml 141
- <programlisting>
- cmake ./ && make && sudo make install
- </programlisting>
+ <programlisting>cmake ./ && make && sudo make install</programlisting>
hunk ./qt.xml 201
+<section><title>CommonQt</title>
+<para><ulink url="http://tobias.rautenkranz.ch/darcsweb/darcsweb.cgi?r=cl-smoke/commonqt">:cl-smoke.commonqt</ulink>
+is an experimental compatibility layer to run Lisp code using the
+<ulink url="http://common-lisp.net/project/commonqt/">CommonQt</ulink> API with cl-smoke.
+It is incomplete, but implementing the missing pieces should be straight forward.
+</para>
+<screenshot>
+<mediaobject>
+<imageobject>
+ <imagedata fileref="commonqt-t14.png" format="PNG"/>
+</imageobject>
+<caption>
+<para>CommonQt tutorial 14
+<filename><ulink url="http://repo.or.cz/w/commonqt.git?a=blob;f=tutorial/t14.lisp;hb=HEAD">t14.lisp</ulink></filename>
+running with <code>:cl-smoke.commonqt</code>.
+</para>
+</caption>
+</mediaobject>
+</screenshot>
+</section>
+