gnome-games r8407 - in trunk: . lightsoff



Author: racarr
Date: Tue Jan  6 00:42:47 2009
New Revision: 8407
URL: http://svn.gnome.org/viewvc/gnome-games?rev=8407&view=rev

Log:
Add lightsoff.


Added:
   trunk/lightsoff/
   trunk/lightsoff/0.svg
   trunk/lightsoff/1.svg
   trunk/lightsoff/2.svg
   trunk/lightsoff/3.svg
   trunk/lightsoff/4.svg
   trunk/lightsoff/5.svg
   trunk/lightsoff/6.svg
   trunk/lightsoff/7.svg
   trunk/lightsoff/8.svg
   trunk/lightsoff/9.svg
   trunk/lightsoff/Makefile.am
   trunk/lightsoff/arrow-l.svg
   trunk/lightsoff/arrow-r.svg
   trunk/lightsoff/arrow.js.in
   trunk/lightsoff/board.js.in
   trunk/lightsoff/lcd-back.svg
   trunk/lightsoff/lcd-front.svg
   trunk/lightsoff/lcd-off.svg
   trunk/lightsoff/light-off.svg
   trunk/lightsoff/light-on.svg
   trunk/lightsoff/light.js.in
   trunk/lightsoff/lightsoff.in
   trunk/lightsoff/main.js.in   (contents, props changed)
   trunk/lightsoff/score.js.in
Modified:
   trunk/configure.in

Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in	(original)
+++ trunk/configure.in	Tue Jan  6 00:42:47 2009
@@ -32,7 +32,7 @@
 # we support and which features to check for
 
 # This is the canonical list of all game subdirectories.
-allgames="aisleriot blackjack gnometris gnect gnomine same-gnome mahjongg gtali gnotravex gnotski glines iagno glchess gnobots2 gnibbles gnome-sudoku"
+allgames="aisleriot blackjack gnometris gnect gnomine same-gnome mahjongg gtali gnotravex gnotski glines iagno glchess gnobots2 gnibbles gnome-sudoku lightsoff"
 AC_SUBST([allgames])
 
 gamelist=""
@@ -158,7 +158,7 @@
     *) ;;
   esac
   case $game in
-    no-game-yet) need_clutter=yes ;;
+    lightsoff) need_clutter=yes ;;
     *) ;;
   esac
 done
@@ -446,7 +446,7 @@
 # Check for Clutter
 
 if test "$need_clutter" = "yes" -a "$enable_clutter" != "yes"; then
-  AC_MSG_ERROR([Some games require clutter but --enable-clutter was not passed])
+  AC_MSG_ERROR([lightsoff requires clutter but --enable-clutter was not passed. Use --omit-games=lightsoff to build without lightsoff])
 fi
 
 if test "$enable_clutter" = "yes"; then
@@ -1015,6 +1015,13 @@
 iagno/iagno.desktop.in
 gnect/data/gnect.desktop.in
 gnomine/gnomine.desktop.in
+lightsoff/Makefile
+lightsoff/arrow.js
+lightsoff/board.js
+lightsoff/light.js
+lightsoff/main.js
+lightsoff/score.js
+lightsoff/lightsoff
 tests/Makefile
 tests/libgames-support/Makefile
 ])

Added: trunk/lightsoff/0.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/0.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="125"
+   height="200"
+   id="svg4591"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="0.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4593">
+    <filter
+       inkscape:collect="always"
+       id="filter4128"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4130" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4132"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4134" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4140"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4142" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4148"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4150" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4124"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4126" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4136"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4138" />
+    </filter>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4599" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.47"
+     inkscape:cx="49.190283"
+     inkscape:cy="100"
+     inkscape:document-units="px"
+     inkscape:current-layer="g4250"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata4596">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-53.63662,-54.14749)">
+    <g
+       id="g4250"
+       transform="translate(-16.633725,-270.90296)"
+       inkscape:export-filename="/home/hortont/seed/examples/lightsoff/8.png"
+       inkscape:export-xdpi="302.10001"
+       inkscape:export-ydpi="302.10001">
+      <g
+         id="g3888"
+         transform="translate(-37.5,0)">
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4148)"
+           d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+           id="path1872"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4140)"
+           d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+           id="path2781"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4136)"
+           d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+           id="path2789"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4132)"
+           d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+           id="path2791"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4128)"
+           d="M 129.12278,427.76386 L 142.41001,440.81007 L 142.41001,479.40333 L 129.12278,492.71182 L 115.83554,479.40333 L 115.83554,440.81007 L 129.12278,427.76386 z"
+           id="path2793"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4124)"
+           d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+           id="path2795"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4152"
+           d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4156"
+           d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4158"
+           d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4160"
+           d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4162"
+           d="M 129.12278,427.76386 L 142.41001,440.81007 L 142.41001,479.40333 L 129.12278,492.71182 L 115.83554,479.40333 L 115.83554,440.81007 L 129.12278,427.76386 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4164"
+           d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+      </g>
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/1.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/1.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="125"
+   height="200"
+   id="svg4591"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="1.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4593">
+    <filter
+       inkscape:collect="always"
+       id="filter4128"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4130" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4132"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4134" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4140"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4142" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4144"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121551"
+       height="1.362431">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4146" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4148"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4150" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4124"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4126" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4136"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4138" />
+    </filter>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4599" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.47"
+     inkscape:cx="49.190283"
+     inkscape:cy="100"
+     inkscape:document-units="px"
+     inkscape:current-layer="g4250"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata4596">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-53.63662,-54.14749)">
+    <g
+       id="g4250"
+       transform="translate(-54.133725,-270.90296)"
+       inkscape:export-filename="/home/hortont/seed/examples/lightsoff/8.png"
+       inkscape:export-xdpi="302.10001"
+       inkscape:export-ydpi="302.10001">
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2789"
+         d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4136)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2795"
+         d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4124)" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+         id="path4158"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+         id="path4164"
+         sodipodi:nodetypes="ccccccc" />
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/2.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/2.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="125"
+   height="200"
+   id="svg4591"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="2.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4593">
+    <filter
+       inkscape:collect="always"
+       id="filter4128"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4130" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4132"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4134" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4144"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121551"
+       height="1.362431">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4146" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4148"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4150" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4136"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4138" />
+    </filter>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4599" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.47"
+     inkscape:cx="49.190283"
+     inkscape:cy="100"
+     inkscape:document-units="px"
+     inkscape:current-layer="g4250"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata4596">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-53.63662,-54.14749)">
+    <g
+       id="g4250"
+       transform="translate(-16.633725,-270.90296)"
+       inkscape:export-filename="/home/hortont/seed/examples/lightsoff/8.png"
+       inkscape:export-xdpi="302.10001"
+       inkscape:export-ydpi="302.10001">
+      <g
+         id="g3870"
+         transform="translate(-37.5,0)">
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4148)"
+           d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+           id="path1872"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4144)"
+           d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+           id="path2779"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4136)"
+           d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+           id="path2789"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4132)"
+           d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+           id="path2791"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4128)"
+           d="M 129.12278,427.76386 L 142.41001,440.81007 L 142.41001,479.40333 L 129.12278,492.71182 L 115.83554,479.40333 L 115.83554,440.81007 L 129.12278,427.76386 z"
+           id="path2793"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4152"
+           d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4154"
+           d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4158"
+           d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4160"
+           d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4162"
+           d="M 129.12278,427.76386 L 142.41001,440.81007 L 142.41001,479.40333 L 129.12278,492.71182 L 115.83554,479.40333 L 115.83554,440.81007 L 129.12278,427.76386 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+      </g>
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/3.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/3.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,207 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="125"
+   height="200"
+   id="svg4591"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="3.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4593">
+    <filter
+       inkscape:collect="always"
+       id="filter4128"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4130" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4132"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4134" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4140"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4142" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4144"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121551"
+       height="1.362431">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4146" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4148"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4150" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4124"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4126" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4136"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4138" />
+    </filter>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4599" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.47"
+     inkscape:cx="49.190283"
+     inkscape:cy="100"
+     inkscape:document-units="px"
+     inkscape:current-layer="g4250"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata4596">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-53.63662,-54.14749)">
+    <g
+       id="g4250"
+       transform="translate(-54.133725,-270.90296)"
+       inkscape:export-filename="/home/hortont/seed/examples/lightsoff/8.png"
+       inkscape:export-xdpi="302.10001"
+       inkscape:export-ydpi="302.10001">
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path1872"
+         d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4148)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2779"
+         d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4144)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2789"
+         d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4136)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2791"
+         d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4132)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2795"
+         d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4124)" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+         id="path4152"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+         id="path4154"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+         id="path4158"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+         id="path4160"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+         id="path4164"
+         sodipodi:nodetypes="ccccccc" />
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/4.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/4.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="125"
+   height="200"
+   id="svg4591"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="4.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4593">
+    <filter
+       inkscape:collect="always"
+       id="filter4140"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4142" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4144"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121551"
+       height="1.362431">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4146" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4124"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4126" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4136"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4138" />
+    </filter>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4599" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.47"
+     inkscape:cx="49.190283"
+     inkscape:cy="100"
+     inkscape:document-units="px"
+     inkscape:current-layer="g4250"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata4596">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-53.63662,-54.14749)">
+    <g
+       id="g4250"
+       transform="translate(-16.633725,-270.90296)"
+       inkscape:export-filename="/home/hortont/seed/examples/lightsoff/8.png"
+       inkscape:export-xdpi="302.10001"
+       inkscape:export-ydpi="302.10001">
+      <g
+         id="g3848"
+         transform="translate(-37.5,0)">
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4144)"
+           d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+           id="path2779"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4140)"
+           d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+           id="path2781"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4136)"
+           d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+           id="path2789"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4124)"
+           d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+           id="path2795"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4154"
+           d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4156"
+           d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4158"
+           d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4164"
+           d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+      </g>
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/5.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/5.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="125"
+   height="200"
+   id="svg4591"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="5.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4593">
+    <filter
+       inkscape:collect="always"
+       id="filter4132"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4134" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4140"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4142" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4144"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121551"
+       height="1.362431">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4146" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4148"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4150" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4124"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4126" />
+    </filter>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4599" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.47"
+     inkscape:cx="49.190283"
+     inkscape:cy="100"
+     inkscape:document-units="px"
+     inkscape:current-layer="g4250"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata4596">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-53.63662,-54.14749)">
+    <g
+       id="g4250"
+       transform="translate(-16.633725,-270.90296)"
+       inkscape:export-filename="/home/hortont/seed/examples/lightsoff/8.png"
+       inkscape:export-xdpi="302.10001"
+       inkscape:export-ydpi="302.10001">
+      <g
+         id="g3836"
+         transform="translate(-37.5,0)">
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4148)"
+           d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+           id="path1872"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4144)"
+           d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+           id="path2779"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4140)"
+           d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+           id="path2781"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4132)"
+           d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+           id="path2791"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4124)"
+           d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+           id="path2795"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4152"
+           d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4154"
+           d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4156"
+           d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4160"
+           d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4164"
+           d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+      </g>
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/6.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/6.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="125"
+   height="200"
+   id="svg4591"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="6.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4593">
+    <filter
+       inkscape:collect="always"
+       id="filter4128"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4130" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4132"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4134" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4140"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4142" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4144"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121551"
+       height="1.362431">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4146" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4148"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4150" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4124"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4126" />
+    </filter>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4599" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.47"
+     inkscape:cx="49.190283"
+     inkscape:cy="100"
+     inkscape:document-units="px"
+     inkscape:current-layer="g4250"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata4596">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-53.63662,-54.14749)">
+    <g
+       id="g4250"
+       transform="translate(-16.633725,-270.90296)"
+       inkscape:export-filename="/home/hortont/seed/examples/lightsoff/8.png"
+       inkscape:export-xdpi="302.10001"
+       inkscape:export-ydpi="302.10001">
+      <g
+         id="g3822"
+         transform="translate(-37.5,0)">
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4148)"
+           d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+           id="path1872"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4144)"
+           d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+           id="path2779"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4140)"
+           d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+           id="path2781"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4132)"
+           d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+           id="path2791"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4128)"
+           d="M 129.12278,427.76386 L 142.41001,440.81007 L 142.41001,479.40333 L 129.12278,492.71182 L 115.83554,479.40333 L 115.83554,440.81007 L 129.12278,427.76386 z"
+           id="path2793"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4124)"
+           d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+           id="path2795"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4152"
+           d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4154"
+           d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4156"
+           d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4160"
+           d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4162"
+           d="M 129.12278,427.76386 L 142.41001,440.81007 L 142.41001,479.40333 L 129.12278,492.71182 L 115.83554,479.40333 L 115.83554,440.81007 L 129.12278,427.76386 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4164"
+           d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+      </g>
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/7.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/7.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="125"
+   height="200"
+   id="svg4591"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="7.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4593">
+    <filter
+       inkscape:collect="always"
+       id="filter4128"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4130" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4132"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4134" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4140"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4142" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4144"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121551"
+       height="1.362431">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4146" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4148"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4150" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4124"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4126" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4136"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4138" />
+    </filter>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4599" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.47"
+     inkscape:cx="49.190283"
+     inkscape:cy="100"
+     inkscape:document-units="px"
+     inkscape:current-layer="g4250"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata4596">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-53.63662,-54.14749)">
+    <g
+       id="g4250"
+       transform="translate(-54.133725,-270.90296)"
+       inkscape:export-filename="/home/hortont/seed/examples/lightsoff/8.png"
+       inkscape:export-xdpi="302.10001"
+       inkscape:export-ydpi="302.10001">
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path1872"
+         d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4148)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2789"
+         d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4136)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2795"
+         d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4124)" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+         id="path4152"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+         id="path4158"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+         id="path4164"
+         sodipodi:nodetypes="ccccccc" />
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/8.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/8.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="125"
+   height="200"
+   id="svg4591"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="8.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4593">
+    <filter
+       inkscape:collect="always"
+       id="filter4128"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4130" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4132"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4134" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4140"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4142" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4144"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121551"
+       height="1.362431">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4146" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4148"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4150" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4124"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4126" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4136"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4138" />
+    </filter>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4599" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.47"
+     inkscape:cx="49.190283"
+     inkscape:cy="100"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata4596">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-53.63662,-54.14749)">
+    <g
+       id="g4250"
+       transform="translate(-54.133725,-270.90296)"
+       inkscape:export-filename="/home/hortont/seed/examples/lightsoff/8.png"
+       inkscape:export-xdpi="302.10001"
+       inkscape:export-ydpi="302.10001">
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path1872"
+         d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4148)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2779"
+         d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4144)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2781"
+         d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4140)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2789"
+         d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4136)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2791"
+         d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4132)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2793"
+         d="M 129.12278,427.76386 L 142.41001,440.81007 L 142.41001,479.40333 L 129.12278,492.71182 L 115.83554,479.40333 L 115.83554,440.81007 L 129.12278,427.76386 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4128)" />
+      <path
+         sodipodi:nodetypes="ccccccc"
+         id="path2795"
+         d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4124)" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+         id="path4152"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+         id="path4154"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+         id="path4156"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+         id="path4158"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+         id="path4160"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 129.12278,427.76386 L 142.41001,440.81007 L 142.41001,479.40333 L 129.12278,492.71182 L 115.83554,479.40333 L 115.83554,440.81007 L 129.12278,427.76386 z"
+         id="path4162"
+         sodipodi:nodetypes="ccccccc" />
+      <path
+         style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505"
+         d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+         id="path4164"
+         sodipodi:nodetypes="ccccccc" />
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/9.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/9.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="125"
+   height="200"
+   id="svg4591"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="9.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4593">
+    <filter
+       inkscape:collect="always"
+       id="filter4132"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4134" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4140"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4142" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4144"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121551"
+       height="1.362431">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4146" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4148"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4150" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4124"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4126" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4136"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4138" />
+    </filter>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4599" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.47"
+     inkscape:cx="26.720648"
+     inkscape:cy="100"
+     inkscape:document-units="px"
+     inkscape:current-layer="g4250"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata4596">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-53.63662,-54.14749)">
+    <g
+       id="g4250"
+       transform="translate(-16.633725,-270.90296)"
+       inkscape:export-filename="/home/hortont/seed/examples/lightsoff/8.png"
+       inkscape:export-xdpi="302.10001"
+       inkscape:export-ydpi="302.10001">
+      <g
+         id="g3800"
+         transform="translate(-37.5,0)">
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4148)"
+           d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+           id="path1872"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4144)"
+           d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+           id="path2779"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4140)"
+           d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+           id="path2781"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4136)"
+           d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+           id="path2789"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4132)"
+           d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+           id="path2791"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4124)"
+           d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+           id="path2795"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4152"
+           d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4154"
+           d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4156"
+           d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4158"
+           d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4160"
+           d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4164"
+           d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+           style="fill:#258aff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+      </g>
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/Makefile.am
==============================================================================
--- (empty file)
+++ trunk/lightsoff/Makefile.am	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,58 @@
+losvgdir = $(datadir)/pixmaps/lightsoff
+losvg_DATA = \
+	light-off.svg \
+	light-on.svg \
+	0.svg \
+	1.svg \
+	2.svg \
+	3.svg \
+	4.svg \
+	5.svg \
+	6.svg \
+	7.svg \
+	8.svg \
+	9.svg \
+	lcd-back.svg \
+	lcd-front.svg \
+	lcd-off.svg \
+	arrow-l.svg \
+	arrow-r.svg
+
+lojsdir = $(pkgdatadir)/lightsoff
+lojs_DATA = \
+	arrow.js \
+	board.js \
+	light.js \
+	main.js \
+	score.js
+
+bin_SCRIPTS = \
+	lightsoff
+
+EXTRA_DIST = \
+	board.js.in \
+	light.js.in \
+	main.js.in \
+	light-off.svg \
+	light-on.svg \
+	0.svg \
+	1.svg \
+	2.svg \
+	3.svg \
+	4.svg \
+	5.svg \
+	6.svg \
+	7.svg \
+	8.svg \
+	9.svg \
+	lcd-back.svg \
+	lcd-front.svg \
+	score.js.in \
+	lcd-off.svg \
+	arrow-l.svg \
+	arrow-r.svg \
+	lightsoff.in \
+	arrow.js.in
+
+
+

Added: trunk/lightsoff/arrow-l.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/arrow-l.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="49.999996"
+   height="49.999996"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="arrow-l.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/Users/hortont/Desktop/drawingON.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient3537">
+      <stop
+         id="stop3539"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3541"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3486">
+      <stop
+         id="stop3488"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3492"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3444">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3446" />
+      <stop
+         id="stop3452"
+         offset="0.5"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3448" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <filter
+       inkscape:collect="always"
+       id="filter3478">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.3633868"
+         id="feGaussianBlur3480" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3522">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="7.7237026"
+         id="feGaussianBlur3524" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3444"
+       id="linearGradient2440"
+       gradientUnits="userSpaceOnUse"
+       x1="523.37036"
+       y1="199.07346"
+       x2="523.37036"
+       y2="491.56064" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3486"
+       id="linearGradient2442"
+       gradientUnits="userSpaceOnUse"
+       x1="523.37036"
+       y1="199.07346"
+       x2="523.37036"
+       y2="491.56064" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.700001"
+     inkscape:cx="9.615384"
+     inkscape:cy="25.041579"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-353.37656,-318.61163)">
+    <rect
+       style="fill:#1ea3f9;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.50078309;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2650"
+       width="49.499214"
+       height="49.499214"
+       x="353.62695"
+       y="318.86203"
+       rx="6.7573571"
+       ry="6.7573571" />
+    <path
+       style="opacity:0.58536545;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 374.7991,332.20565 L 374.7991,338.1744 L 397.64285,338.1744 L 397.64285,348.3619 L 374.7991,348.3619 L 374.7991,354.33065 L 361.33035,343.26815 L 374.7991,332.20565 z"
+       id="rect3273" />
+    <rect
+       ry="39.992893"
+       rx="39.992893"
+       y="199.07346"
+       x="234.0726"
+       height="292.48718"
+       width="289.29773"
+       id="rect3442"
+       style="opacity:0.94527366;fill:url(#linearGradient2440);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.94291234;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3478)"
+       transform="matrix(0.1669277,0,0,0.1669277,315.15745,286.31091)" />
+    <rect
+       style="opacity:0.7761194;fill:url(#linearGradient2442);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.94291234;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3522)"
+       id="rect3482"
+       width="289.29773"
+       height="292.48718"
+       x="234.0726"
+       y="199.07346"
+       rx="19.512152"
+       ry="19.72727"
+       transform="matrix(0.1669277,0,0,-8.1894579e-2,315.15745,384.66903)" />
+  </g>
+</svg>

Added: trunk/lightsoff/arrow-r.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/arrow-r.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="49.999996"
+   height="49.999996"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="arrow.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/Users/hortont/Desktop/drawingON.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient3537">
+      <stop
+         id="stop3539"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3541"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3486">
+      <stop
+         id="stop3488"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3492"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3444">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3446" />
+      <stop
+         id="stop3452"
+         offset="0.5"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3448" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <filter
+       inkscape:collect="always"
+       id="filter3478">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.3633868"
+         id="feGaussianBlur3480" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3522">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="7.7237026"
+         id="feGaussianBlur3524" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3555">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.1159682"
+         id="feGaussianBlur3557" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3444"
+       id="linearGradient2440"
+       gradientUnits="userSpaceOnUse"
+       x1="523.37036"
+       y1="199.07346"
+       x2="523.37036"
+       y2="491.56064" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3486"
+       id="linearGradient2442"
+       gradientUnits="userSpaceOnUse"
+       x1="523.37036"
+       y1="199.07346"
+       x2="523.37036"
+       y2="491.56064" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3537"
+       id="linearGradient2444"
+       gradientUnits="userSpaceOnUse"
+       x1="230.45604"
+       y1="258.33267"
+       x2="526.98688"
+       y2="258.33267" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.700001"
+     inkscape:cx="9.615384"
+     inkscape:cy="25.041579"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-353.37656,-318.61163)">
+    <rect
+       style="fill:#1ea3f9;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.50078309;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2650"
+       width="49.499214"
+       height="49.499214"
+       x="353.62695"
+       y="318.86203"
+       rx="6.7573571"
+       ry="6.7573571" />
+    <path
+       style="opacity:0.58536549999999998;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 384.1741,332.20565 L 384.1741,338.1744 L 361.33035,338.1744 L 361.33035,348.3619 L 384.1741,348.3619 L 384.1741,354.33065 L 397.64285,343.26815 L 384.1741,332.20565 z"
+       id="rect3273" />
+    <rect
+       ry="39.992893"
+       rx="39.992893"
+       y="199.07346"
+       x="234.0726"
+       height="292.48718"
+       width="289.29773"
+       id="rect3442"
+       style="opacity:0.94527366;fill:url(#linearGradient2440);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.94291234;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3478)"
+       transform="matrix(0.1669277,0,0,0.1669277,315.15745,286.31091)" />
+    <rect
+       style="opacity:0.7761194;fill:url(#linearGradient2442);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.94291234;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3522)"
+       id="rect3482"
+       width="289.29773"
+       height="292.48718"
+       x="234.0726"
+       y="199.07346"
+       rx="19.512152"
+       ry="19.72727"
+       transform="matrix(0.1669277,0,0,-8.1894579e-2,315.15745,384.66903)" />
+  </g>
+</svg>

Added: trunk/lightsoff/arrow.js.in
==============================================================================
--- (empty file)
+++ trunk/lightsoff/arrow.js.in	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,38 @@
+Arrow = new GType({
+	parent: Clutter.Group.type,
+	name: "Arrow",
+	instance_init: function(klass)
+	{
+		// Private
+		var direction = 0;
+		
+		var toggle_arrow = function (actor, event)
+		{
+			if(animating_board)
+				return true;
+
+			if(score.set_value(score.get_value() + direction))
+				swap_animation(direction);
+	
+			return true;
+		}
+		
+		// Public
+		this.set_arrow_direction = function (dir)
+		{
+			direction = dir ? 1 : -1;
+			
+			var bkg = new Clutter.Texture.from_file("@prefix@"+"/share/pixmaps/lightsoff/arrow-" + 
+													(dir ? "r" : "l") + ".svg");
+			
+			bkg.filter_quality = Clutter.TextureQuality.High;
+			this.add_actor(bkg);
+			bkg.show();
+		}
+
+		// Implementation
+		this.reactive = true;
+		this.signal.button_press_event.connect(toggle_arrow);
+	}
+});
+

Added: trunk/lightsoff/board.js.in
==============================================================================
--- (empty file)
+++ trunk/lightsoff/board.js.in	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,224 @@
+var last_direction = 0;
+var last_sign = 0;
+
+function alpha_func(alpha)
+{
+	var timeline = alpha.get_timeline();
+	var frame = timeline.get_current_frame();
+	var n_frames = timeline.num_frames;
+	var fps = timeline.fps;
+	var duration = n_frames/fps;
+	var time = frame/fps;
+
+	if ((time/=duration) < (1/2.75))
+		return Clutter.ALPHA_MAX_ALPHA*(7.5625*time*time);
+	else if (time < (2/2.75))
+		return Clutter.ALPHA_MAX_ALPHA*(7.5625*(time-=(1.5/2.75))*time+.75);
+	else if (time < (2.5/2.75))
+		return Clutter.ALPHA_MAX_ALPHA*(7.5625*(time-=(2.25/2.75))*time+.9375);
+	else
+		return Clutter.ALPHA_MAX_ALPHA*(7.5625*(time-=(2.625/2.75))*time+.984375);
+}
+
+function delete_board(timeline, board)
+{
+	board.destroy();
+	
+	animating_board = false;
+	
+	return true;
+}
+
+function win_animation()
+{
+	var direction, sign;
+	
+	do
+	{
+		direction = Math.floor(2 * Math.random());
+		sign = Math.floor(2 * Math.random()) ? 1 : -1;
+	}
+	while(last_direction == direction && last_sign != sign);
+	
+	last_direction = direction;
+	last_sign = sign;
+
+	var new_board = new Board();
+	new_board.set_position(sign * direction * board_size, 
+						   sign * (!direction) * board_size);
+	new_board.show();
+	stage.add_actor(new_board);
+	new_board.lower_bottom();
+	
+	var fadeline = new Clutter.Timeline({num_frames:80});
+	var effect = new Clutter.EffectTemplate.c_new(fadeline, alpha_func);
+	
+	Clutter.effect_move(effect, new_board, 0, 0);
+	var remove_timeline = Clutter.effect_move(effect, board, 
+						-(sign)*(direction * board_size),
+						-(sign)*((!direction) * board_size));
+	
+	remove_timeline.signal.completed.connect(delete_board, board);
+	animating_board = true;
+	
+	board = new_board;
+}
+
+function swap_animation(direction)
+{
+	var new_board = new Board();
+	new_board.show();
+	stage.add_actor(new_board);
+	new_board.lower_bottom();
+	
+	new_board.set_opacity(0);
+	new_board.set_depth(direction * -250);
+	
+	var fadeline = new Clutter.Timeline({num_frames:40});
+	var effect = new Clutter.EffectTemplate.c_new(fadeline, Clutter.sine_inc_func);
+	
+	Clutter.effect_depth(effect, new_board, 0);
+	Clutter.effect_depth(effect, board, direction * 250);
+	Clutter.effect_fade(effect, new_board, 255);
+	var remove_timeline = Clutter.effect_fade(effect, board, 0);
+	
+	remove_timeline.signal.completed.connect(delete_board, board);	
+	animating_board = true;
+	
+	board = new_board;
+}
+
+function check_won (timeline, light)
+{
+	in_fade = false;
+	
+	if(light.get_parent().cleared() && !in_setup && !animating_board)
+	{
+		score.set_value(score.get_value() + 1);
+		win_animation();
+	}
+}
+
+function flip_region (act, evt, light)
+{
+	if(!in_setup && in_fade)
+		return true;
+	
+	var x = light.get_light_x();
+	var y = light.get_light_y();
+	
+	var fadeline = new Clutter.Timeline({num_frames: 20});
+	
+	in_fade = true;
+	
+	light.flip(fadeline);
+	
+	try
+	{
+		var lights = light.get_parent().get_lights();
+
+		if(x + 1 < tiles)
+			lights[x + 1][y].flip(fadeline);
+		if(x - 1 >= 0)
+			lights[x - 1][y].flip(fadeline);
+		if(y + 1 < tiles)
+			lights[x][y + 1].flip(fadeline);
+		if(y - 1 >= 0)
+			lights[x][y - 1].flip(fadeline);
+	}
+	catch(e)
+	{
+		// User clicked too fast!
+	}
+	
+	fadeline.start();
+	fadeline.signal.completed.connect(check_won, light);
+	
+	return true;
+}
+
+Board = new GType({
+	parent: Clutter.Group.type,
+	name: "Board",
+	instance_init: function(klass)
+	{
+		// Global
+		animating_board = false;
+		in_fade = false;
+		
+		// Private
+		var lights = new Array();
+		
+		// Public
+		this.get_lights = function ()
+		{
+			return lights;
+		}
+		
+		this.cleared = function ()
+		{
+			for(x in lights)
+				for(y in lights[x])
+					if(lights[x][y].get_state())
+						return false;
+			return true;
+		}
+		
+		this.randomize = function ()
+		{
+			in_setup = true;
+			
+			GLib.random_set_seed(score.get_value());
+			
+			do
+			{
+				var count = Math.floor(Math.log(score.get_value() *
+												score.get_value()) + 1);
+				var sym = Math.floor(3 * GLib.random_double());
+
+				for (q = 0; q < count; ++q)
+				{
+					i = Math.round((tiles - 1) * GLib.random_double());
+					j = Math.round((tiles - 1) * GLib.random_double());
+
+					flip_region(null, null, lights[i][j]);
+					
+					var x_sym_offset = Math.abs(i-(tiles-1));
+					var y_sym_offset = Math.abs(j-(tiles-1));
+
+					if(sym == 0)
+						flip_region(null, null, lights[x_sym_offset][j]);
+					else if(sym == 1)
+						flip_region(null, null,
+									lights[x_sym_offset][y_sym_offset]);
+					else
+						flip_region(null, null, lights[i][y_sym_offset]);
+				}
+			}
+			while(this.cleared());
+
+			in_setup = false;
+		}
+
+		// Implementation
+		for(var x = 0; x < tiles; x++)
+		{
+			lights[x] = new Array();
+			for(var y = 0; y < tiles; y++)
+			{
+				var offset = margin + tile_size/2;
+				lights[x][y] = new Light();
+				
+				lights[x][y].set_light_x(x);
+				lights[x][y].set_light_y(y);
+				
+				lights[x][y].set_position(x * (tile_size+margin) + offset,
+										  y * (tile_size+margin) + offset);
+				this.add_actor(lights[x][y]);
+			}
+		}
+		
+		this.randomize();
+	}
+});
+	

Added: trunk/lightsoff/lcd-back.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/lcd-back.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="251.11343"
+   height="85.04348"
+   id="svg3307"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="back.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs3309">
+    <linearGradient
+       id="linearGradient3169">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.024;"
+         offset="0"
+         id="stop3171" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.42399999;"
+         offset="1"
+         id="stop3173" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3155">
+      <stop
+         style="stop-color:#222222;stop-opacity:1;"
+         offset="0"
+         id="stop3157" />
+      <stop
+         id="stop3163"
+         offset="0.5"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#454545;stop-opacity:1;"
+         offset="1"
+         id="stop3159" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective3315" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3169"
+       id="linearGradient2412"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(60.312567,681.79066)"
+       x1="248.37836"
+       y1="159.71176"
+       x2="248.37836"
+       y2="110.72863" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3155"
+       id="linearGradient2415"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(60.31257,681.79067)"
+       x1="251.11343"
+       y1="85.043472"
+       x2="251.11343"
+       y2="-9.9403951e-06" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.3330629"
+     inkscape:cx="125"
+     inkscape:cy="41.943272"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata3312">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-60.31257,-681.79066)">
+    <path
+       style="fill:url(#linearGradient2415);fill-opacity:1;stroke:#5d5d5d;stroke-width:1.99999988000000006;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 70.1782,682.79066 L 301.56038,682.79066 C 306.47194,682.79066 310.42601,686.65876 310.42601,691.46355 L 310.42601,757.16125 C 310.42601,761.96603 306.47194,765.83414 301.56038,765.83414 L 70.1782,765.83414 C 65.266641,765.83414 61.31257,761.96603 61.31257,757.16125 L 61.31257,691.46355 C 61.31257,686.65876 65.266641,682.79066 70.1782,682.79066 z"
+       id="rect2540" />
+  </g>
+</svg>

Added: trunk/lightsoff/lcd-front.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/lcd-front.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="250.37199"
+   height="48.383003"
+   id="svg3343"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="front.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs3345">
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3169"
+       id="linearGradient2412"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(112.31402,469.99832)"
+       x1="245.37199"
+       y1="48.383003"
+       x2="245.37199"
+       y2="-5.6843419e-14" />
+    <linearGradient
+       id="linearGradient3169">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.024;"
+         offset="0"
+         id="stop3171" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.42399999;"
+         offset="1"
+         id="stop3173" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3169"
+       id="linearGradient2534"
+       gradientUnits="userSpaceOnUse"
+       x1="557.08765"
+       y1="115.03713"
+       x2="557.08765"
+       y2="5.6843419e-14"
+       gradientTransform="translate(96.45619,474.84362)" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective3351" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#000000"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.2017858"
+     inkscape:cx="203.23922"
+     inkscape:cy="51.468405"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33"
+     showguides="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid5070"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata3348">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-112.31402,-469.99832)">
+    <path
+       style="fill:url(#linearGradient2412);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 121.22444,469.99832 L 353.77562,469.99832 C 358.71201,469.99832 362.68602,473.74996 362.68602,478.41002 L 362.68602,502.98709 C 339.04606,519.09441 116.48074,527.50468 112.31402,502.98709 L 112.31402,478.41002 C 112.31402,473.74996 116.28808,469.99832 121.22444,469.99832 z"
+       id="path2532"
+       sodipodi:nodetypes="ccccccc"
+       inkscape:export-filename="/home/hortont/seed/examples/lightsoff/bkg_top.png"
+       inkscape:export-xdpi="48.143238"
+       inkscape:export-ydpi="48.143238" />
+  </g>
+</svg>

Added: trunk/lightsoff/lcd-off.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/lcd-off.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="125"
+   height="200"
+   id="svg3302"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="off.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs3304">
+    <filter
+       inkscape:collect="always"
+       id="filter4148"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4150" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4144"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121551"
+       height="1.362431">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4146" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4140"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4142" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4136"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4138" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4132"
+       x="-0.064156763"
+       width="1.1283135"
+       y="-0.18121545"
+       height="1.3624309">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4134" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4128"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4130" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4124"
+       x="-0.18129437"
+       width="1.3625886"
+       y="-0.075803652"
+       height="1.1516073">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0829568"
+         id="feGaussianBlur4126" />
+    </filter>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective3310" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.94"
+     inkscape:cx="57.312925"
+     inkscape:cy="100"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="817"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata3307">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g4574"
+       transform="translate(-708.57267,-494.53778)"
+       style="opacity:0.40243901">
+      <g
+         transform="translate(600.80233,169.48733)"
+         id="g4544">
+        <path
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4148)"
+           d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+           id="path4546"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4144)"
+           d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+           id="path4548"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4140)"
+           d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+           id="path4550"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4136)"
+           d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+           id="path4552"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4132)"
+           d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+           id="path4554"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4128)"
+           d="M 129.12278,427.76386 L 142.41001,440.81007 L 142.41001,479.40333 L 129.12278,492.71182 L 115.83554,479.40333 L 115.83554,440.81007 L 129.12278,427.76386 z"
+           id="path4556"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4124)"
+           d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+           id="path4558"
+           sodipodi:nodetypes="ccccccc" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4560"
+           d="M 208.67244,354.91471 L 195.63211,368.20795 L 145.0549,368.20795 L 131.75242,354.91471 L 145.0549,341.62147 L 195.63211,341.62147 L 208.67244,354.91471 z"
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4562"
+           d="M 208.67244,424.81141 L 195.63211,438.10465 L 145.0549,438.10465 L 131.75242,424.81141 L 145.0549,411.51818 L 195.63211,411.51818 L 208.67244,424.81141 z"
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4564"
+           d="M 129.12278,357.38908 L 142.41001,370.43528 L 142.41001,409.02855 L 129.12278,422.33704 L 115.83554,409.02855 L 115.83554,370.43528 L 129.12278,357.38908 z"
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4566"
+           d="M 211.41791,357.38908 L 224.70515,370.43528 L 224.70515,409.02855 L 211.41791,422.33704 L 198.13068,409.02855 L 198.13068,370.43528 L 211.41791,357.38908 z"
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4568"
+           d="M 208.67244,495.18619 L 195.63211,508.47943 L 145.0549,508.47943 L 131.75242,495.18619 L 145.0549,481.89295 L 195.63211,481.89295 L 208.67244,495.18619 z"
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4570"
+           d="M 129.12278,427.76386 L 142.41001,440.81007 L 142.41001,479.40333 L 129.12278,492.71182 L 115.83554,479.40333 L 115.83554,440.81007 L 129.12278,427.76386 z"
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+        <path
+           sodipodi:nodetypes="ccccccc"
+           id="path4572"
+           d="M 211.41791,427.76386 L 224.70515,440.81007 L 224.70515,479.40333 L 211.41791,492.71182 L 198.13068,479.40333 L 198.13068,440.81007 L 211.41791,427.76386 z"
+           style="fill:#505356;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46255505" />
+      </g>
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/light-off.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/light-off.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="49.999996"
+   height="49.999996"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="tim-off.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient3537">
+      <stop
+         id="stop3539"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3541"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3486">
+      <stop
+         id="stop3488"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3492"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3444">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3446" />
+      <stop
+         id="stop3452"
+         offset="0.5"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3448" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3444"
+       id="linearGradient3450"
+       x1="523.37036"
+       y1="199.07346"
+       x2="523.37036"
+       y2="491.56064"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       inkscape:collect="always"
+       id="filter3478">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.3633868"
+         id="feGaussianBlur3480" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3486"
+       id="linearGradient3484"
+       gradientUnits="userSpaceOnUse"
+       x1="523.37036"
+       y1="199.07346"
+       x2="523.37036"
+       y2="491.56064" />
+    <filter
+       inkscape:collect="always"
+       id="filter3522">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="7.7237026"
+         id="feGaussianBlur3524" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3537"
+       id="linearGradient3535"
+       x1="230.45604"
+       y1="258.33267"
+       x2="526.98688"
+       y2="258.33267"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       inkscape:collect="always"
+       id="filter3555">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.1159682"
+         id="feGaussianBlur3557" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3444"
+       id="linearGradient2463"
+       gradientUnits="userSpaceOnUse"
+       x1="523.37036"
+       y1="199.07346"
+       x2="523.37036"
+       y2="491.56064" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3486"
+       id="linearGradient2465"
+       gradientUnits="userSpaceOnUse"
+       x1="523.37036"
+       y1="199.07346"
+       x2="523.37036"
+       y2="491.56064" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3537"
+       id="linearGradient2467"
+       gradientUnits="userSpaceOnUse"
+       x1="230.45604"
+       y1="258.33267"
+       x2="526.98688"
+       y2="258.33267" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.700001"
+     inkscape:cx="9.615384"
+     inkscape:cy="24.999998"
+     inkscape:document-units="px"
+     inkscape:current-layer="g2456"
+     showgrid="false"
+     inkscape:window-width="1385"
+     inkscape:window-height="814"
+     inkscape:window-x="47"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-228.95604,-443.03212)">
+    <g
+       id="g2456"
+       transform="matrix(0.1669277,0,0,0.1669277,190.73693,410.7314)">
+      <rect
+         ry="20"
+         rx="20"
+         y="195.00127"
+         x="230.45604"
+         height="296.53085"
+         width="296.53085"
+         id="rect2650"
+         style="fill:#203746;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         style="opacity:0.43781098;fill:url(#linearGradient2463);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.94291234;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3478)"
+         id="rect3442"
+         width="289.29773"
+         height="292.48718"
+         x="234.0726"
+         y="199.07346"
+         rx="19.512152"
+         ry="19.72727" />
+      <rect
+         transform="matrix(1,0,0,-0.4905991,0,589.22589)"
+         ry="19.72727"
+         rx="19.512152"
+         y="199.07346"
+         x="234.0726"
+         height="292.48718"
+         width="289.29773"
+         id="rect3482"
+         style="opacity:0.43781098;fill:url(#linearGradient2465);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.94291234;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3522)" />
+      <path
+         sodipodi:nodetypes="cccccc"
+         id="rect3526"
+         d="M 250.45604,195.00127 L 506.98689,195.00127 C 518.06689,195.00127 526.98689,203.92127 526.98689,215.00127 L 526.80938,321.40374 C 327.27502,327.77728 230.45604,215.00127 230.45604,215.00127 C 230.45604,203.92127 239.37604,195.00127 250.45604,195.00127 z"
+         style="opacity:0.12601626;fill:url(#linearGradient2467);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;filter:url(#filter3555)" />
+      <rect
+         style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect3559"
+         width="296.53085"
+         height="296.53085"
+         x="230.45604"
+         y="195.00127"
+         rx="20"
+         ry="20" />
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/light-on.svg
==============================================================================
--- (empty file)
+++ trunk/lightsoff/light-on.svg	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="49.999996"
+   height="49.999996"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="tim-on.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/Users/hortont/Desktop/drawingON.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient3537">
+      <stop
+         id="stop3539"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3541"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3486">
+      <stop
+         id="stop3488"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3492"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3444">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3446" />
+      <stop
+         id="stop3452"
+         offset="0.5"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3448" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <filter
+       inkscape:collect="always"
+       id="filter3478">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.3633868"
+         id="feGaussianBlur3480" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3522">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="7.7237026"
+         id="feGaussianBlur3524" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3555">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.1159682"
+         id="feGaussianBlur3557" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3444"
+       id="linearGradient2440"
+       gradientUnits="userSpaceOnUse"
+       x1="523.37036"
+       y1="199.07346"
+       x2="523.37036"
+       y2="491.56064" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3486"
+       id="linearGradient2442"
+       gradientUnits="userSpaceOnUse"
+       x1="523.37036"
+       y1="199.07346"
+       x2="523.37036"
+       y2="491.56064" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3537"
+       id="linearGradient2444"
+       gradientUnits="userSpaceOnUse"
+       x1="230.45604"
+       y1="258.33267"
+       x2="526.98688"
+       y2="258.33267" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.700001"
+     inkscape:cx="24.999998"
+     inkscape:cy="24.999998"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1385"
+     inkscape:window-height="814"
+     inkscape:window-x="0"
+     inkscape:window-y="33" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-353.37656,-318.61163)">
+    <g
+       id="g2433"
+       transform="matrix(0.1669277,0,0,0.1669277,315.15745,286.31091)">
+      <rect
+         ry="20"
+         rx="20"
+         y="195.00127"
+         x="230.45604"
+         height="296.53085"
+         width="296.53085"
+         id="rect2650"
+         style="fill:#1ea3f9;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         style="opacity:0.94527366;fill:url(#linearGradient2440);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.94291234;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3478)"
+         id="rect3442"
+         width="289.29773"
+         height="292.48718"
+         x="234.0726"
+         y="199.07346"
+         rx="19.512152"
+         ry="19.72727" />
+      <rect
+         transform="matrix(1,0,0,-0.4905991,0,589.22589)"
+         ry="19.72727"
+         rx="19.512152"
+         y="199.07346"
+         x="234.0726"
+         height="292.48718"
+         width="289.29773"
+         id="rect3482"
+         style="opacity:0.7761194;fill:url(#linearGradient2442);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.94291234;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3522)" />
+      <path
+         sodipodi:nodetypes="cccccc"
+         id="rect3526"
+         d="M 250.45604,195.00127 L 506.98689,195.00127 C 518.06689,195.00127 526.98689,203.92127 526.98689,215.00127 L 526.80938,321.40374 C 327.27502,327.77728 230.45604,215.00127 230.45604,215.00127 C 230.45604,203.92127 239.37604,195.00127 250.45604,195.00127 z"
+         style="opacity:0.89054727;fill:url(#linearGradient2444);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;filter:url(#filter3555)" />
+      <rect
+         style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect3559"
+         width="296.53085"
+         height="296.53085"
+         x="230.45604"
+         y="195.00127"
+         rx="20"
+         ry="20" />
+    </g>
+  </g>
+</svg>

Added: trunk/lightsoff/light.js.in
==============================================================================
--- (empty file)
+++ trunk/lightsoff/light.js.in	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,93 @@
+var tile_svg_size = 100;
+
+var on_pixbuf = new GdkPixbuf.Pixbuf.from_file_at_size('@prefix@'+"/share/pixmaps/lightsoff/light-on.svg",
+													   tile_svg_size,
+													   tile_svg_size);
+var off_pixbuf = new GdkPixbuf.Pixbuf.from_file_at_size('@prefix@'+"/share/pixmaps/lightsoff/light-off.svg",
+														tile_svg_size,
+														tile_svg_size);
+
+var on_svg = GtkClutter.texture_new_from_pixbuf(on_pixbuf);
+var off_svg = GtkClutter.texture_new_from_pixbuf(off_pixbuf);
+
+on_svg.filter_quality = off_svg.filter_quality = Clutter.TextureQuality.High;
+
+Light = new GType({
+	parent: Clutter.Group.type,
+	name: "Light",
+	instance_init: function(klass)
+	{
+		// Private
+		var state = false;
+		var light_x, light_y;
+		
+		// Public
+		this.scale_x = this.scale_y = .9;
+		
+		this.on = new Clutter.CloneTexture({parent_texture: on_svg,
+											reactive: true,
+											opacity: 0});
+		this.off = new Clutter.CloneTexture({parent_texture: off_svg, 
+											 reactive: true});
+		
+		this.get_state = function ()
+		{
+			return state;
+		}
+		
+		this.flip = function (fadeline)
+		{
+			state = !state;
+			
+			var new_scale = state ? 1 : .9;
+			
+			if(in_setup)
+			{
+				this.on.opacity = state * 255;
+				this.scale_x = this.scale_y = new_scale;
+				
+				return;
+			}
+			
+			var effect = 
+  			     new Clutter.EffectTemplate.c_new(fadeline,
+												  Clutter.sine_inc_func);
+			
+			Clutter.effect_fade(effect, this.on, state * 255);
+			Clutter.effect_scale(effect, this, new_scale, new_scale);
+		}
+		
+		this.set_light_x = function (new_x)
+		{
+			light_x = new_x;
+		}
+		
+		this.set_light_y = function (new_y)
+		{
+			light_y = new_y;
+		}
+		
+		this.get_light_x = function ()
+		{
+			return light_x;
+		}
+		
+		this.get_light_y = function ()
+		{
+			return light_y;
+		}
+		
+		// Implementation
+		this.on.set_size(tile_size, tile_size);
+		this.off.set_size(tile_size, tile_size);
+		
+		this.set_anchor_point(tile_size / 2, tile_size / 2);
+
+		this.on.signal.button_press_event.connect(flip_region, this);
+		this.off.signal.button_press_event.connect(flip_region, this);
+		
+		this.add_actor(this.off);
+		this.add_actor(this.on);
+	}
+});
+

Added: trunk/lightsoff/lightsoff.in
==============================================================================
--- (empty file)
+++ trunk/lightsoff/lightsoff.in	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,2 @@
+#!/usr/local/bin/seed
+Seed.include('@prefix@'+"/share/gnome-games/lightsoff/main.js");

Added: trunk/lightsoff/main.js.in
==============================================================================
--- (empty file)
+++ trunk/lightsoff/main.js.in	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,61 @@
+#!/usr/bin/env seed
+
+// Configuration
+var tiles = 5;
+var tile_size = 75;
+
+Seed.import_namespace("Gtk");
+Seed.import_namespace("Clutter");
+Seed.import_namespace("GtkClutter");
+Seed.import_namespace("GdkPixbuf");
+Seed.import_namespace("GConf");
+Seed.import_namespace("GLib");
+
+Clutter.init(null, null);
+GConf.init(null, null);
+
+var margin = 5;
+var in_setup = false;
+var board_size = (tile_size + margin) * tiles + margin;
+
+Seed.include('@prefix@'+"/share/gnome-games/lightsoff/score.js");
+Seed.include('@prefix@'+"/share/gnome-games/lightsoff/light.js");
+Seed.include('@prefix@'+"/share/gnome-games/lightsoff/board.js");
+Seed.include('@prefix@'+"/share/gnome-games/lightsoff/arrow.js");
+
+var black = Clutter.Color._new();
+Clutter.color_parse("Black", black);
+
+var stage = new Clutter.Stage();
+stage.signal.hide.connect(function () { Clutter.main_quit(); });
+stage.color = black;
+
+score = new Score();
+board = new Board();
+rect = new Clutter.Rectangle({color:black});
+forward = new Arrow();
+back = new Arrow();
+
+score.set_position((board_size / 2) - (score.width / 2), board_size + margin);
+stage.set_size(board_size, board_size + score.height + margin * 3);
+
+rect.set_position(0, board_size);
+rect.set_size(stage.width, stage.height);
+
+back.set_arrow_direction(0);
+back.set_position(score.x - back.width - 2*margin,
+				  score.y + (.5 * score.height) - (.5 * back.height));
+
+forward.set_arrow_direction(1);
+forward.set_position(score.x + score.width + 2*margin,
+					 score.y + (.5 * score.height) - (.5 * forward.height));
+
+stage.add_actor(board);
+stage.add_actor(rect);
+stage.add_actor(score);
+stage.add_actor(forward);
+stage.add_actor(back);
+stage.show_all();
+
+Clutter.main();
+

Added: trunk/lightsoff/score.js.in
==============================================================================
--- (empty file)
+++ trunk/lightsoff/score.js.in	Tue Jan  6 00:42:47 2009
@@ -0,0 +1,113 @@
+var bkg_top = new Clutter.Texture.from_file('@prefix@'+"/share/pixmaps/lightsoff/lcd-front.svg");
+var bkg = new Clutter.Texture.from_file('@prefix@'+"/share/pixmaps/lightsoff/lcd-back.svg");
+
+bkg_top.filter_quality = bkg.filter_quality = Clutter.TextureQuality.High;
+
+var num_margin = 7;
+
+Score = new GType({
+	parent: Clutter.Group.type,
+	name: "Score",
+	instance_init: function(klass)
+	{
+		// Private
+		var value = 0;
+		var current_set = null;
+		
+		var num_width = bkg.height * 0.9 * 0.625;
+		var num_height = bkg.height * 0.9;
+		var num_offset = num_width;
+		
+		var num_textures = new Array();
+		
+		var off_svg = new Clutter.Texture.from_file('@prefix@'+"/share/pixmaps/lightsoff/lcd-off.svg");
+		off_svg.filter_quality = Clutter.TextureQuality.High;
+		
+		// Public
+		this.get_value = function ()
+		{
+			return value;
+		};
+		
+		this.set_value = function (val)
+		{
+			if(val < 1)
+				return false;
+			
+			value = val;
+			
+			try
+			{
+				gconf_client.set_int("/apps/lightsoff/score", value);
+			}
+			catch(e)
+			{
+				Seed.print("Couldn't save score to GConf.");
+			}
+			
+			var old_set = current_set;
+			
+			current_set = new Clutter.Group();
+
+			var val_s = Seed.sprintf("% 5d", val);
+		
+			for(var i = 0; i < val_s.length; i++)
+			{
+				var texture = num_textures[val_s[i]];
+		
+				if(val_s[i] == ' ')
+					texture = null;
+			
+				var num = new Clutter.CloneTexture({parent_texture:texture});
+				num.show();
+				num.set_position(num_margin + num_offset * i, 5);
+				num.set_size(num_width, num_height);
+				current_set.add_actor(num);
+			}
+			
+			this.add_actor(current_set);
+			current_set.show();
+			
+			if(old_set)
+				old_set.destroy();
+			
+			bkg_top.raise_top();
+			bkg_top.show();
+			
+			return true;
+		};
+		
+		// Implementation
+		this.add_actor(bkg);
+		bkg.show();
+		
+		for(var i = 0; i < 5; i++)
+		{
+			var off_i = new Clutter.CloneTexture({parent_texture:off_svg});
+			off_i.set_position(num_margin + num_offset * i, 5);
+			off_i.set_size(num_width, num_height);
+			this.add_actor(off_i);
+		}
+		
+		for(var i = 0; i <= 9; i++)
+		{
+			num_textures[i] = new Clutter.Texture.from_file('@prefix@'+"/share/pixmaps/lightsoff/"+i+".svg");
+			num_textures[i].filter_quality = Clutter.TextureQuality.High;
+		}
+		
+		bkg_top.set_position(1, 1);
+		this.add_actor(bkg_top);
+		
+		try
+		{
+			gconf_client = GConf.Client.get_default();
+			this.set_value(gconf_client.get_int("/apps/lightsoff/score"));
+		}
+		catch(e)
+		{
+			Seed.print("Couldn't load score from GConf.");
+			this.set_value(1);
+		}
+	}
+});
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]