[gnome-games/gsoc-seed-games] Update Lights Off to use Clutter 0.9
- From: Tim Horton <hortont src gnome org>
- To: svn-commits-list gnome org
- Subject: [gnome-games/gsoc-seed-games] Update Lights Off to use Clutter 0.9
- Date: Wed, 3 Jun 2009 22:49:42 -0400 (EDT)
commit 1837f4a920622e922e887976a119c3b5f2cc0993
Author: Tim Horton <hortont424 gmail com>
Date: Wed Jun 3 21:59:06 2009 -0400
Update Lights Off to use Clutter 0.9
In addition, Lights Off is now themeable, draws some parts with Cairo,
has a preferences window, and a (unimplemented) menu. There are some
animation problems at the moment, which may be due to a Clutter bug.
---
configure.in | 17 +-
lightsoff/0.svg | 209 ------------------
lightsoff/1.svg | 177 ---------------
lightsoff/2.svg | 187 ----------------
lightsoff/3.svg | 207 ------------------
lightsoff/4.svg | 165 --------------
lightsoff/5.svg | 187 ----------------
lightsoff/6.svg | 209 ------------------
lightsoff/7.svg | 187 ----------------
lightsoff/8.svg | 227 -------------------
lightsoff/9.svg | 209 ------------------
lightsoff/Arrow.js.in | 31 +++
lightsoff/Board.js.in | 209 ++++++++++++++++++
lightsoff/Game.js.in | 171 +++++++++++++++
lightsoff/LED.js.in | 211 ++++++++++++++++++
lightsoff/Light.js.in | 74 +++++++
lightsoff/Makefile.am | 60 ++----
lightsoff/Settings.js.in | 107 +++++++++
lightsoff/arrow.js.in | 42 ----
lightsoff/board.js.in | 230 --------------------
lightsoff/lcd-off.svg | 228 -------------------
lightsoff/light-off.svg | 228 -------------------
lightsoff/light-on.svg | 204 -----------------
lightsoff/light.js.in | 93 --------
lightsoff/lightsoff.in | 7 +-
lightsoff/main-window.ui | 90 ++++++++
lightsoff/main.js.in | 82 +++-----
lightsoff/score.js.in | 113 ----------
lightsoff/settings.ui | 137 ++++++++++++
lightsoff/themes/Makefile.am | 1 +
lightsoff/themes/tango/Makefile.am | 18 ++
lightsoff/themes/tango/arrow.svg | 66 ++++++
.../{lcd-back.svg => themes/tango/backing.svg} | 48 +++-
.../{lcd-back.svg => themes/tango/led-back.svg} | 12 +-
.../{lcd-front.svg => themes/tango/led-front.svg} | 14 +-
lightsoff/{arrow.svg => themes/tango/off.svg} | 85 +++----
lightsoff/{arrow.svg => themes/tango/on.svg} | 85 +++----
lightsoff/themes/tango/theme.js | 23 ++
lightsoff/themes/tango/theme.js.in | 23 ++
lightsoff/themes/up/Makefile.am | 18 ++
lightsoff/themes/up/arrow.svg | 66 ++++++
lightsoff/{lcd-back.svg => themes/up/backing.svg} | 48 +++-
lightsoff/{lcd-back.svg => themes/up/led-back.svg} | 12 +-
.../{lcd-front.svg => themes/up/led-front.svg} | 14 +-
lightsoff/themes/up/off.svg | 164 ++++++++++++++
lightsoff/themes/up/on.svg | 198 +++++++++++++++++
lightsoff/themes/up/theme.js.in | 23 ++
47 files changed, 1864 insertions(+), 3352 deletions(-)
diff --git a/configure.in b/configure.in
index 6601401..e9009d0 100644
--- a/configure.in
+++ b/configure.in
@@ -1084,13 +1084,20 @@ 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
lightsoff/lightsoff.desktop.in
+lightsoff/Arrow.js
+lightsoff/Board.js
+lightsoff/Light.js
+lightsoff/main.js
+lightsoff/Game.js
+lightsoff/LED.js
+lightsoff/Settings.js
+lightsoff/themes/Makefile
+lightsoff/themes/tango/Makefile
+lightsoff/themes/tango/theme.js
+lightsoff/themes/up/Makefile
+lightsoff/themes/up/theme.js
tests/Makefile
tests/libgames-support/Makefile
shave
diff --git a/lightsoff/0.svg b/lightsoff/0.svg
deleted file mode 100644
index ba0cc3a..0000000
--- a/lightsoff/0.svg
+++ /dev/null
@@ -1,209 +0,0 @@
-<?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>
diff --git a/lightsoff/1.svg b/lightsoff/1.svg
deleted file mode 100644
index 5d0c60d..0000000
--- a/lightsoff/1.svg
+++ /dev/null
@@ -1,177 +0,0 @@
-<?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>
diff --git a/lightsoff/2.svg b/lightsoff/2.svg
deleted file mode 100644
index 959e7ed..0000000
--- a/lightsoff/2.svg
+++ /dev/null
@@ -1,187 +0,0 @@
-<?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>
diff --git a/lightsoff/3.svg b/lightsoff/3.svg
deleted file mode 100644
index e096e88..0000000
--- a/lightsoff/3.svg
+++ /dev/null
@@ -1,207 +0,0 @@
-<?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>
diff --git a/lightsoff/4.svg b/lightsoff/4.svg
deleted file mode 100644
index 84318a3..0000000
--- a/lightsoff/4.svg
+++ /dev/null
@@ -1,165 +0,0 @@
-<?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>
diff --git a/lightsoff/5.svg b/lightsoff/5.svg
deleted file mode 100644
index fdd17b1..0000000
--- a/lightsoff/5.svg
+++ /dev/null
@@ -1,187 +0,0 @@
-<?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>
diff --git a/lightsoff/6.svg b/lightsoff/6.svg
deleted file mode 100644
index db49c19..0000000
--- a/lightsoff/6.svg
+++ /dev/null
@@ -1,209 +0,0 @@
-<?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>
diff --git a/lightsoff/7.svg b/lightsoff/7.svg
deleted file mode 100644
index 72e9e0f..0000000
--- a/lightsoff/7.svg
+++ /dev/null
@@ -1,187 +0,0 @@
-<?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>
diff --git a/lightsoff/8.svg b/lightsoff/8.svg
deleted file mode 100644
index bfc90ca..0000000
--- a/lightsoff/8.svg
+++ /dev/null
@@ -1,227 +0,0 @@
-<?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>
diff --git a/lightsoff/9.svg b/lightsoff/9.svg
deleted file mode 100644
index 935a0dd..0000000
--- a/lightsoff/9.svg
+++ /dev/null
@@ -1,209 +0,0 @@
-<?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>
diff --git a/lightsoff/Arrow.js.in b/lightsoff/Arrow.js.in
new file mode 100644
index 0000000..bb91565
--- /dev/null
+++ b/lightsoff/Arrow.js.in
@@ -0,0 +1,31 @@
+file_prefix = '@prefix@' + "/share/gnome-games/lightsoff/";
+imports.searchPath.unshift(file_prefix);
+
+Settings = imports.Settings;
+Clutter = imports.gi.Clutter;
+
+ArrowView = new GType({
+ parent: Clutter.Group.type,
+ name: "ArrowView",
+ init: function()
+ {
+ // Private
+
+ var direction = 0;
+ var arrow = new Clutter.Clone({source: Settings.theme.arrow});
+
+ // Public
+
+ this.flip_arrow = function()
+ {
+ this.rotation_angle_z = 180;
+ direction = 1;
+ }
+
+ // Implementation
+
+ this.anchor_gravity = Clutter.Gravity.CENTER;
+ this.add_actor(arrow);
+ this.reactive = true;
+ }
+});
diff --git a/lightsoff/Board.js.in b/lightsoff/Board.js.in
new file mode 100644
index 0000000..55d10dc
--- /dev/null
+++ b/lightsoff/Board.js.in
@@ -0,0 +1,209 @@
+file_prefix = '@prefix@' + "/share/gnome-games/lightsoff/";
+imports.searchPath.unshift(file_prefix);
+
+Settings = imports.Settings;
+GLib = imports.gi.GLib;
+Clutter = imports.gi.Clutter;
+Light = imports.Light;
+
+var tiles = 5; // fix this
+
+BoardView = new GType({
+ parent: Clutter.Group.type,
+ name: "BoardView",
+ signals: [{name: "game_won"}],
+ init: function()
+ {
+ // Private
+ var self = this;
+ var playable = true;
+ var lights = [];
+
+ // Create a two-dimensional array of 'tiles*tiles' lights,
+ // connect to their clicked signals, and display them.
+ var create_lights = function()
+ {
+ for(var x = 0; x < tiles; x++)
+ {
+ lights[x] = [];
+
+ for(var y = 0; y < tiles; y++)
+ {
+ var l = new Light.LightView();
+ l.set_position((x + 0.5) * l.width, (y + 0.5) * l.height);
+ l.signal.button_release_event.connect(light_clicked, {"x":x, "y":y});
+
+ lights[x][y] = l;
+ self.add_actor(l);
+
+ GLib.main_context_iteration(null, false);
+ }
+ }
+ }
+
+ // Toggle a light and those in each cardinal direction around it.
+ var light_toggle = function(x, y)
+ {
+ if(!playable)
+ return;
+
+ var timeline = new Clutter.Timeline({duration: 300});
+ timeline.signal.completed.connect(check_won);
+
+ if(x + 1 < tiles)
+ lights[x + 1][y].toggle(timeline);
+ if(x - 1 >= 0)
+ lights[x - 1][y].toggle(timeline);
+ if(y + 1 < tiles)
+ lights[x][y + 1].toggle(timeline);
+ if(y - 1 >= 0)
+ lights[x][y - 1].toggle(timeline);
+
+ lights[x][y].toggle(timeline);
+
+ timeline.start();
+ }
+
+ // Check if the game was won; if so, emit the game_won signal
+ // in order to notify the Game controller.
+
+ var check_won = function()
+ {
+ if(cleared())
+ self.signal.game_won.emit();
+ }
+
+ // Callback for button_release_event from each light; user_data
+ // is an object containing the coordinates of the clicked light.
+ var light_clicked = function(light, event, coords)
+ {
+ light_toggle(coords.x, coords.y);
+
+ return false;
+ }
+
+ // Returns whether or not the board is entirely 'off' (i.e. game is won)
+ var cleared = function()
+ {
+ for(var x = 0; x < tiles; x++)
+ for(var y = 0; y < tiles; y++)
+ if(lights[x][y].get_state())
+ return false;
+
+ return true;
+ }
+
+ // Public
+
+ // Pseudorandomly generates and sets the state of each light based on
+ // a level number; hopefully this is stable between machines, but that
+ // depends on GLib's PRNG stability. Also, provides some semblance of
+ // symmetry for some levels.
+ this.load_level = function(level)
+ {
+ GLib.random_set_seed(level);
+
+ do
+ {
+ // log(level^2) gives a reasonable progression of difficulty
+ var count = Math.floor(Math.log(level * level) + 1);
+ var sym = Math.floor(3 * GLib.random_double());
+
+ for (var q = 0; q < count; ++q)
+ {
+ i = Math.round((tiles - 1) * GLib.random_double());
+ j = Math.round((tiles - 1) * GLib.random_double());
+
+ light_toggle(i, j);
+
+ // Ensure some level of "symmetry"
+ var x_sym = Math.abs(i - (tiles - 1));
+ var y_sym = Math.abs(j - (tiles - 1));
+
+ if(sym == 0)
+ light_toggle(x_sym, j);
+ else if(sym == 1)
+ light_toggle(x_sym, y_sym);
+ else
+ light_toggle(i, y_sym);
+ }
+ }
+ while(cleared());
+ }
+
+ this.set_playable = function(p)
+ {
+ playable = p;
+ }
+
+ this.fade_out = function(timeline)
+ {
+ self.animate_with_timeline(Clutter.AnimationMode.EASE_OUT_SINE,
+ timeline,
+ {
+ opacity: 0
+ });
+ }
+
+ this.fade_in = function(timeline)
+ {
+ self.animate_with_timeline(Clutter.AnimationMode.EASE_OUT_SINE,
+ timeline,
+ {
+ opacity: 255
+ });
+ }
+
+ this.animate_out = function(direction, sign, timeline)
+ {
+ self.animate_with_timeline(Clutter.AnimationMode.EASE_OUT_BOUNCE,
+ timeline,
+ {
+ x: sign * direction * self.width,
+ y: sign * !direction * self.height
+ });
+ }
+
+ this.animate_in = function(direction, sign, timeline)
+ {
+ self.x = (-sign) * direction * self.width;
+ self.y = (-sign) * !direction * self.height;
+
+ self.animate_with_timeline(Clutter.AnimationMode.EASE_OUT_BOUNCE,
+ timeline,
+ {
+ x: 0,
+ y: 0
+ });
+ }
+
+ this.swap_in = function(direction, timeline)
+ {
+ self.animate_with_timeline(Clutter.AnimationMode.EASE_IN_SINE,
+ timeline,
+ {
+ depth: 0,
+ x: 0,
+ y: 0,
+ opacity: 255
+ });
+ }
+
+ this.swap_out = function(direction, timeline)
+ {
+ self.animate_with_timeline(Clutter.AnimationMode.EASE_IN_SINE,
+ timeline,
+ {
+ depth: 250 * direction,
+ x: 0,
+ y: 0,
+ opacity: 0
+ });
+ }
+
+ // Implementation
+
+ create_lights();
+ }
+});
+
diff --git a/lightsoff/Game.js.in b/lightsoff/Game.js.in
new file mode 100644
index 0000000..0301851
--- /dev/null
+++ b/lightsoff/Game.js.in
@@ -0,0 +1,171 @@
+file_prefix = '@prefix@' + "/share/gnome-games/lightsoff/";
+imports.searchPath.unshift(file_prefix);
+
+Settings = imports.Settings;
+GLib = imports.gi.GLib;
+Clutter = imports.gi.Clutter;
+LED = imports.LED;
+Board = imports.Board;
+Arrow = imports.Arrow;
+
+var last_direction, last_sign;
+
+GameView = new GType({
+ parent: Clutter.Group.type,
+ name: "GameView",
+ init: function()
+ {
+ // Private
+ var self = this;
+ var current_level = 1;
+ var score_view = new LED.LEDView();
+ var board_view = new Board.BoardView();
+ var backing_view = new Clutter.Clone({source:Settings.theme.backing});
+ var left_arrow = new Arrow.ArrowView();
+ var right_arrow = new Arrow.ArrowView();
+ var new_board_view = null;
+ var timeline;
+
+ // Set up a new board.
+ var create_next_board = function()
+ {
+ new_board_view = new Board.BoardView();
+ new_board_view.load_level(current_level);
+ new_board_view.signal.game_won.connect(game_won);
+ new_board_view.hide();
+ new_board_view.set_playable(false);
+ self.add_actor(new_board_view);
+ new_board_view.lower_bottom();
+
+ }
+
+ // The boards have finished transitioning; delete the old one!
+ var board_transition_complete = function()
+ {
+ self.remove_actor(board_view);
+ board_view = new_board_view;
+ board_view.set_playable(true);
+ timeline = 0;
+
+ create_next_board();
+ }
+
+ // The player won the game; create a new board, update the level count,
+ // and transition between the two boards in a random direction.
+ var game_won = function()
+ {
+ if(timeline && timeline.is_playing())
+ return false;
+
+ var direction, sign;
+ score_view.set_value(++current_level);
+
+ // Make sure the board transition is different than the previous.
+ 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;
+
+ timeline = new Clutter.Timeline({duration: 1500});
+
+ new_board_view.show();
+ new_board_view.animate_in(direction, sign, timeline);
+ board_view.animate_out(direction, sign, timeline);
+ timeline.signal.completed.connect(board_transition_complete);
+
+ return false;
+ }
+
+ var swap_board = function(arrow, event, context)
+ {
+ if(timeline && timeline.is_playing())
+ return false;
+
+ current_level += context.direction;
+
+ if(current_level <= 0)
+ {
+ current_level = 1;
+ return false;
+ }
+
+ score_view.set_value(current_level);
+
+ timeline = new Clutter.Timeline({duration: 500});
+
+ new_board_view.depth = context.direction * -250;
+ new_board_view.opacity = 0;
+ new_board_view.show();
+
+ new_board_view.swap_in(context.direction, timeline);
+ board_view.swap_out(context.direction, timeline);
+ timeline.signal.completed.connect(board_transition_complete);
+
+ timeline.start();
+
+ return false;
+ }
+
+ var theme_changed = function()
+ {
+ timeline = new Clutter.Timeline({duration: 1500});
+
+ create_next_board();
+ new_board_view.opacity = 0;
+ new_board_view.show();
+
+ board_view.fade_out(timeline);
+ new_board_view.fade_in(timeline);
+ new_board_view.raise_top();
+
+ timeline.signal.completed.connect(board_transition_complete);
+ timeline.start();
+ }
+
+ // Public
+
+ // Implementation
+
+ // TODO: wrong::
+
+ current_level = Settings.score;
+ Seed.print(current_level);
+
+ // Set up and show the initial board
+ board_view.signal.game_won.connect(game_won);
+ board_view.load_level(current_level);
+ this.add_actor(board_view);
+ create_next_board();
+
+ backing_view.set_position(0, board_view.height);
+ this.add_actor(backing_view);
+
+ score_view.set_anchor_point(score_view.width / 2, 0);
+ score_view.set_position(board_view.width / 2, board_view.height + 18);
+ this.add_actor(score_view);
+
+ left_arrow.set_position((score_view.x - score_view.anchor_x) / 2,
+ score_view.y + (score_view.height / 2));
+ this.add_actor(left_arrow);
+
+ right_arrow.flip_arrow();
+ right_arrow.set_position(board_view.width - left_arrow.x,
+ score_view.y + (score_view.height / 2));
+ this.add_actor(right_arrow);
+
+ left_arrow.signal.button_release_event.connect(swap_board, {direction: -1});
+ right_arrow.signal.button_release_event.connect(swap_board, {direction: 1});
+
+ score_view.set_width(5);
+ score_view.set_value(current_level);
+
+ this.set_size(board_view.width, score_view.y + score_view.height);
+
+ Settings.Watcher.signal.theme_changed.connect(theme_changed);
+ }
+});
diff --git a/lightsoff/LED.js.in b/lightsoff/LED.js.in
new file mode 100644
index 0000000..9256192
--- /dev/null
+++ b/lightsoff/LED.js.in
@@ -0,0 +1,211 @@
+file_prefix = '@prefix@' + "/share/gnome-games/lightsoff/";
+imports.searchPath.unshift(file_prefix);
+
+Settings = imports.Settings;
+cairo = imports.cairo;
+Clutter = imports.gi.Clutter;
+
+const HORIZONTAL = 0;
+const VERTICAL = 1;
+
+LEDDigit = new GType({
+ parent: Clutter.Group.type,
+ name: "LEDDigit",
+ init: function()
+ {
+ // Private
+
+ var a, b, c, d, e, f, g;
+ var scale = 23;
+ var thickness = scale / 3;
+ var pointy = thickness / 2;
+ var margin = Math.floor(Math.log(scale));
+ var segments = [];
+ var s;
+
+ // The state of each segment for each representable digit.
+ var segment_states = { 0: [ 1, 1, 1, 1, 1, 0, 1],
+ 1: [ 0, 0, 0, 0, 1, 0, 1],
+ 2: [ 1, 0, 1, 1, 0, 1, 1],
+ 3: [ 1, 0, 0, 1, 1, 1, 1],
+ 4: [ 0, 1, 0, 0, 1, 1, 1],
+ 5: [ 1, 1, 0, 1, 1, 1, 0],
+ 6: [ 1, 1, 1, 1, 1, 1, 0],
+ 7: [ 1, 0, 0, 0, 1, 0, 1],
+ 8: [ 1, 1, 1, 1, 1, 1, 1],
+ 9: [ 1, 1, 0, 1, 1, 1, 1]};
+ var segment_directions = { 0: HORIZONTAL,
+ 1: VERTICAL,
+ 2: VERTICAL,
+ 3: HORIZONTAL,
+ 4: VERTICAL,
+ 5: HORIZONTAL,
+ 6: VERTICAL };
+
+ // Draw a single section, in either direction, at the given position
+ var create_segment = function(num, x, y, alpha)
+ {
+ var texture = segments[num];
+
+ var context = texture.create();
+ var cr = new cairo.Context.steal(context);
+
+ cr.set_source_rgba(1, 1, 1, 0);
+ cr.paint();
+
+ if(alpha)
+ cr.set_source_rgba(0.145, 0.541, 1, 1);
+ else
+ cr.set_source_rgba(0.2, 0.2, 0.2, 1);
+
+ cr.new_path();
+
+ if(segment_directions[num] == VERTICAL)
+ {
+ cr.move_to(thickness / 2, 0);
+ cr.line_to(0, pointy);
+ cr.line_to(0, scale - pointy);
+ cr.line_to(thickness / 2, scale);
+ cr.line_to(thickness, scale - pointy);
+ cr.line_to(thickness, pointy);
+ }
+ else if(segment_directions[num] == HORIZONTAL)
+ {
+ cr.move_to(0, thickness / 2);
+ cr.line_to(pointy, 0);
+ cr.line_to(scale - pointy, 0);
+ cr.line_to(scale, thickness / 2);
+ cr.line_to(scale - pointy, thickness);
+ cr.line_to(pointy, thickness);
+ }
+
+ cr.close_path();
+ cr.fill();
+ cr.destroy();
+
+ texture.set_position(x, y);
+
+ return texture;
+ }
+
+ // Creates and arranges segments of the LEDDigit, lit based on the
+ // represented digit.
+ var draw_leds = function(group)
+ {
+ var side = pointy + margin;
+
+ for(var i = 0; i < 7; i++)
+ {
+ segments[i] = new Clutter.CairoTexture();
+
+ if(segment_directions[i] == VERTICAL)
+ segments[i].set_surface_size(thickness, scale);
+ else if(segment_directions[i] == HORIZONTAL)
+ segments[i].set_surface_size(scale, thickness);
+
+ group.add_actor(segments[i]);
+ }
+
+ create_segment(0, side, 0, s[0]);
+ create_segment(1, 0, side, s[1]);
+ create_segment(2, 0, side + scale + (margin*2), s[2]);
+ create_segment(3, side, (2*scale) + (4*margin), s[3]);
+ create_segment(4, scale + (2*margin),
+ side + scale + (margin*2), s[4]);
+ create_segment(5, side, scale + (2*margin), s[5]);
+ create_segment(6, scale + (2*margin), side, s[6]);
+ }
+
+ // Public
+
+ this.set_value = function(val)
+ {
+ s = segment_states[val];
+ draw_leds(this);
+ }
+
+ // Implementation
+
+ this.set_value(0);
+ }
+});
+
+LEDView = new GType({
+ parent: Clutter.Group.type,
+ name: "LEDView",
+ init: function()
+ {
+ // Private
+
+ var value = 0;
+ var width = 0;
+ var margin = 5;
+ var digits = [];
+ var back, front;
+ var inner_x_margin = 10;
+ var inner_y_margin = -2;
+
+ back = new Clutter.Clone({source: Settings.theme.led_back});
+ //front = new Clutter.Clone({source: Settings.theme.led_front});
+
+ // Public
+
+ // Creates, arranges, and shows LEDDigits to fill the given width.
+ this.set_width = function(wid)
+ {
+ width = wid;
+
+ this.remove_all();
+ digits = [];
+
+ this.add_actor(back);
+ //this.add_actor(front);
+
+ for(var i = 0; i < width; i++)
+ {
+ digits[i] = new LEDDigit();
+ digits[i].set_anchor_point(0, digits[i].height / 2);
+ digits[i].x = (i * (digits[i].width + margin)) + inner_x_margin;
+ digits[i].y = (back.height / 2) + inner_y_margin;
+ this.add_actor(digits[i]);
+ }
+
+ back.lower_bottom();
+ //this.raise_child(front, null);
+ }
+
+ // Set the value represented by the LEDView, and update its
+ // child LEDDigits. Currently ignores digits past the width of the view.
+ this.set_value = function(val)
+ {
+ var d_val = value = val;
+
+ for(var i = width - 1; i >= 0; i--)
+ {
+ digits[i].set_value(Math.floor(d_val % 10));
+ d_val /= 10;
+ }
+
+ // TODO: this is a /really/ bad place to do this...
+ try
+ {
+ Settings.gconf_client.set_int("/apps/lightsoff/score", value);
+ }
+ catch(e)
+ {
+ Seed.print("Couldn't save score to GConf.");
+ }
+ }
+
+ this.get_value = function()
+ {
+ return value;
+ }
+
+ // Implementation
+
+ this.add_actor(back);
+ //this.add_actor(front);
+ }
+});
+
diff --git a/lightsoff/Light.js.in b/lightsoff/Light.js.in
new file mode 100644
index 0000000..3d8267a
--- /dev/null
+++ b/lightsoff/Light.js.in
@@ -0,0 +1,74 @@
+file_prefix = '@prefix@' + "/share/gnome-games/lightsoff/";
+imports.searchPath.unshift(file_prefix);
+
+Settings = imports.Settings;
+Clutter = imports.gi.Clutter;
+
+LightView = new GType({
+ parent: Clutter.Group.type,
+ name: "LightView",
+ init: function()
+ {
+ // Private
+ var self = this; // Robb promises something better
+ var on = new Clutter.Clone({source: Settings.theme.light[1],
+ anchor_gravity: Clutter.Gravity.CENTER});
+ var off = new Clutter.Clone({source: Settings.theme.light[0],
+ anchor_gravity: Clutter.Gravity.CENTER});
+ var state = false;
+
+ // Public
+
+ // Animates to the requested lit state with the given timeline.
+ this.set_state = function(new_state, timeline)
+ {
+ state = new_state;
+
+ // Animate the opacity of the 'off' tile to match the state.
+ off.animate_with_timeline(Clutter.AnimationMode.EASE_OUT_SINE, timeline,
+ {
+ opacity: (state ? 0 : 255)
+ });
+
+ on.animate_with_timeline(Clutter.AnimationMode.EASE_OUT_SINE, timeline,
+ {
+ opacity: (state ? 255 : 0)
+ });
+
+ // Animate the tile to be smaller when in the 'off' state.
+ self.animate_with_timeline(Clutter.AnimationMode.EASE_OUT_SINE, timeline,
+ {
+ scale_x: (state ? 1 : 0.9),
+ scale_y: (state ? 1 : 0.9)
+ });
+ }
+
+ this.get_state = function()
+ {
+ return state;
+ }
+
+ this.toggle = function(timeline)
+ {
+ self.set_state(!self.get_state(), timeline);
+ }
+
+ // Implementation
+
+ this.add_actor(on);
+ this.add_actor(off);
+
+ this.set_scale(0.9, 0.9);
+ this.reactive = true;
+ this.anchor_gravity = Clutter.Gravity.CENTER;
+
+ // Add a 2 px margin around the tile image, center tiles within it.
+ this.width += 4;
+ this.height += 4;
+
+ on.set_position(this.width / 2, this.height / 2);
+ off.set_position(this.width / 2, this.height / 2);
+
+ on.opacity = 0;
+ }
+});
diff --git a/lightsoff/Makefile.am b/lightsoff/Makefile.am
index 43eee6e..732835c 100644
--- a/lightsoff/Makefile.am
+++ b/lightsoff/Makefile.am
@@ -1,29 +1,16 @@
-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.svg
+SUBDIRS = themes
lojsdir = $(pkgdatadir)/lightsoff
lojs_DATA = \
- arrow.js \
- board.js \
- light.js \
+ Arrow.js \
+ Board.js \
+ Light.js \
main.js \
- score.js
+ Game.js \
+ LED.js \
+ Settings.js \
+ settings.ui \
+ main-window.ui
bin_SCRIPTS = \
lightsoff
@@ -36,25 +23,12 @@ desktop_DATA = $(desktop_in_files:.desktop.in.in=.desktop)
CLEANFILES = $(lojs_DATA) $(desktop_DATA)
EXTRA_DIST = \
- board.js.in \
- light.js.in \
+ Arrow.js.in \
+ 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.svg \
- lightsoff.in \
- arrow.js.in
+ Game.js.in \
+ LED.js.in \
+ Settings.js.in \
+ settings.ui \
+ main-window.ui
diff --git a/lightsoff/Settings.js.in b/lightsoff/Settings.js.in
new file mode 100644
index 0000000..a79536c
--- /dev/null
+++ b/lightsoff/Settings.js.in
@@ -0,0 +1,107 @@
+file_prefix = '@prefix@' + "/share/gnome-games/lightsoff/";
+imports.searchPath.unshift(file_prefix);
+
+Gtk = imports.gi.Gtk;
+Gio = imports.gi.Gio;
+GtkBuilder = imports.gtkbuilder;
+main = imports.main;
+GConf = imports.gi.GConf;
+
+GConf.init(Seed.argv);
+
+// Defaults
+var theme, score;
+
+try
+{
+ gconf_client = GConf.Client.get_default();
+ score = gconf_client.get_int("/apps/lightsoff/score");
+ theme = imports.themes[gconf_client.get_string("/apps/lightsoff/theme")].theme;
+}
+catch(e)
+{
+ Seed.print("Couldn't load settings from GConf.");
+ theme = imports.themes["tango"].theme;
+ score = 1;
+}
+
+// Settings Event Handler
+
+SettingsWatcher = new GType({
+ parent: Gtk.Button.type, // Can I make something inherit directly from GObject?!
+ name: "SettingsWatcher",
+ signals: [{name: "theme_changed"}],
+ init: function()
+ {
+
+ }
+});
+
+var Watcher = new SettingsWatcher();
+
+// Settings UI
+
+handlers = {
+ select_theme: function(selector, ud)
+ {
+ theme = imports.themes[selector.get_active_text()].theme;
+
+ try
+ {
+ gconf_client.set_string("/apps/lightsoff/theme", selector.get_active_text());
+ }
+ catch(e)
+ {
+ Seed.print("Couldn't save settings to GConf.");
+ }
+
+ Watcher.signal.theme_changed.emit();
+ },
+ close_settings: function()
+ {
+ //settings_dialog.hide_all();
+ }
+};
+
+// Settings UI Helper Functions
+
+function show_settings()
+{
+ b = new Gtk.Builder();
+ b.add_from_file(file_prefix+"/settings.ui");
+ b.connect_signals(handlers);
+
+ populate_theme_selector(b.get_object("theme-selector"));
+
+ settings_dialog = b.get_object("dialog1");
+ settings_dialog.set_transient_for(main.window);
+
+ var result = settings_dialog.run();
+
+ settings_dialog.destroy();
+}
+
+function populate_theme_selector(selector)
+{
+ // Since we're using GtkBuilder, we can't make a Gtk.ComboBox.text. Instead,
+ // we'll construct the cell renderer here, once, and use that.
+ var cell = new Gtk.CellRendererText();
+ selector.pack_start(cell, true);
+ selector.add_attribute(cell, "text", 0);
+
+ file = Gio.file_new_for_path(file_prefix+"/themes");
+ enumerator = file.enumerate_children("standard::name");
+
+ var i = 0;
+
+ while((child = enumerator.next_file()))
+ {
+ var fname = child.get_name();
+ selector.append_text(fname);
+
+ if(fname == theme.name)
+ selector.set_active(i);
+
+ i++;
+ }
+}
diff --git a/lightsoff/arrow.js.in b/lightsoff/arrow.js.in
deleted file mode 100644
index 765a03b..0000000
--- a/lightsoff/arrow.js.in
+++ /dev/null
@@ -1,42 +0,0 @@
-Arrow = new GType({
- parent: Clutter.Group.type,
- name: "Arrow",
- init: function(klass)
- {
- // Private
- var direction = -1;
-
- 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.flip = function ()
- {
- bkg.rotation_angle_z = 180;
- direction = 1;
- }
-
- // Implementation
- var bkg = new Clutter.Texture.from_file("@prefix@"+"/share/pixmaps/lightsoff/arrow.svg");
-
- bkg.filter_quality = Clutter.TextureQuality.HIGH;
- this.add_actor(bkg);
- bkg.show();
-
- bkg.set_anchor_point_from_gravity(Clutter.Gravity.CENTER);
- bkg.x += bkg.width/2;
- bkg.y += bkg.height/2;
-
- this.reactive = true;
- this.signal.button_press_event.connect(toggle_arrow);
- }
-});
-
diff --git a/lightsoff/board.js.in b/lightsoff/board.js.in
deleted file mode 100644
index fe0023b..0000000
--- a/lightsoff/board.js.in
+++ /dev/null
@@ -1,230 +0,0 @@
-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())
- return;
-
- 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",
- 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;
-
- if(score.get_value() == 0)
- score.set_value(1);
-
- 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();
- }
-});
-
diff --git a/lightsoff/lcd-off.svg b/lightsoff/lcd-off.svg
deleted file mode 100644
index 42212cc..0000000
--- a/lightsoff/lcd-off.svg
+++ /dev/null
@@ -1,228 +0,0 @@
-<?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>
diff --git a/lightsoff/light-off.svg b/lightsoff/light-off.svg
deleted file mode 100644
index 939c589..0000000
--- a/lightsoff/light-off.svg
+++ /dev/null
@@ -1,228 +0,0 @@
-<?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>
diff --git a/lightsoff/light-on.svg b/lightsoff/light-on.svg
deleted file mode 100644
index ca6ede3..0000000
--- a/lightsoff/light-on.svg
+++ /dev/null
@@ -1,204 +0,0 @@
-<?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>
diff --git a/lightsoff/light.js.in b/lightsoff/light.js.in
deleted file mode 100644
index c110b81..0000000
--- a/lightsoff/light.js.in
+++ /dev/null
@@ -1,93 +0,0 @@
-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",
- 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);
- }
-});
-
diff --git a/lightsoff/lightsoff.in b/lightsoff/lightsoff.in
index 429d900..9c3ff1a 100644
--- a/lightsoff/lightsoff.in
+++ b/lightsoff/lightsoff.in
@@ -1,2 +1,7 @@
#!/usr/bin/env seed
-Seed.include('@prefix@'+"/share/gnome-games/lightsoff/main.js");
+
+file_prefix = '@prefix@' + "/share/gnome-games/lightsoff/";
+imports.searchPath.unshift(file_prefix);
+
+main = imports.main;
+
diff --git a/lightsoff/main-window.ui b/lightsoff/main-window.ui
new file mode 100644
index 0000000..391c391
--- /dev/null
+++ b/lightsoff/main-window.ui
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<interface>
+ <requires lib="gtk+" version="2.14"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkWindow" id="window1">
+ <property name="title" translatable="yes">Lights Off</property>
+ <child>
+ <object class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkMenuBar" id="menubar2">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkMenuItem" id="menuitem5">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Game</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menu4">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem11">
+ <property name="label">gtk-new</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem12">
+ <signal name="activate" handler="show_settings"/>
+ <property name="label">gtk-preferences</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem15">
+ <property name="label">gtk-quit</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="menuitem7">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_View</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="menuitem8">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Help</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menu6">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem20">
+ <property name="label">gtk-about</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/lightsoff/main.js.in b/lightsoff/main.js.in
index 0389f4d..1e5734c 100755
--- a/lightsoff/main.js.in
+++ b/lightsoff/main.js.in
@@ -1,67 +1,43 @@
#!/usr/bin/env seed
-// Configuration
-var tiles = 5;
-var tile_size = 75;
+file_prefix = '@prefix@' + "/share/gnome-games/lightsoff/";
+imports.searchPath.unshift(file_prefix);
-imports.gi.versions.Clutter = "0.8";
-imports.gi.versions.GtkClutter = "0.8";
-
-Gtk = imports.gi.Gtk;
-Clutter = imports.gi.Clutter;
GtkClutter = imports.gi.GtkClutter;
-GdkPixbuf = imports.gi.GdkPixbuf;
-GConf = imports.gi.GConf;
-GLib = imports.gi.GLib;
-Pango = imports.gi.Pango;
-GObject = imports.gi.GObject;
-
-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");
+Clutter = imports.gi.Clutter;
+Gtk = imports.gi.Gtk;
+GtkBuilder = imports.gtkbuilder;
-var black = new Clutter.Color();
-Clutter.color_parse("Black", black);
+GtkClutter.init(Seed.argv);
-var stage = new Clutter.Stage();
-// Needs to be translatable. I haven't figured this out yet.
-stage.title = "Lights Off";
-stage.signal.hide.connect(function () { Clutter.main_quit(); });
-stage.color = black;
+Game = imports.Game;
+Settings = imports.Settings;
-score = new Score();
-board = new Board();
-rect = new Clutter.Rectangle({color:black});
-forward = new Arrow();
-back = new Arrow();
+handlers = {
+ show_settings: function(selector, ud)
+ {
+ Settings.show_settings();
+ }
+};
-score.set_position((board_size / 2) - (score.width / 2), board_size + margin);
-stage.set_size(board_size, board_size + score.height + margin * 3);
+b = new Gtk.Builder();
+b.add_from_file(file_prefix + "/main-window.ui");
+b.connect_signals(handlers);
-rect.set_position(0, board_size);
-rect.set_size(stage.width, stage.height);
+var window = b.get_object("window1");
+var clutter_embed = new GtkClutter.Embed();
+window.signal.hide.connect(Gtk.main_quit);
+b.get_object("vbox1").pack_start(clutter_embed, true, true);
-back.set_position(score.x - back.width - 2*margin,
- score.y + (.5 * score.height) - (.5 * back.height));
+var stage = clutter_embed.get_stage();
+stage.color = {alpha:255};
-forward.flip();
-forward.set_position(score.x + score.width + 2*margin,
- score.y + (.5 * score.height) - (.5 * forward.height));
+var game = new Game.GameView();
+stage.add_actor(game);
+stage.set_size(game.width, game.height);
+clutter_embed.set_size_request(stage.width, stage.height);
-stage.add_actor(board);
-stage.add_actor(rect);
-stage.add_actor(score);
-stage.add_actor(forward);
-stage.add_actor(back);
stage.show_all();
+window.show_all();
-Clutter.main();
-
+Gtk.main();
diff --git a/lightsoff/score.js.in b/lightsoff/score.js.in
deleted file mode 100644
index 9cb30ae..0000000
--- a/lightsoff/score.js.in
+++ /dev/null
@@ -1,113 +0,0 @@
-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",
- 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);
- }
- }
-});
-
diff --git a/lightsoff/settings.ui b/lightsoff/settings.ui
new file mode 100644
index 0000000..19c9437
--- /dev/null
+++ b/lightsoff/settings.ui
@@ -0,0 +1,137 @@
+<?xml version="1.0"?>
+<interface>
+ <requires lib="gtk+" version="2.16"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkDialog" id="dialog1">
+ <property name="title" translatable="yes">Lights Off</property>
+ <property name="border_width">5</property>
+ <property name="type_hint">normal</property>
+ <property name="has_separator">False</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox1">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkFrame" id="frame3">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment3">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox3">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkHBox" id="hbox1">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="label6">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Theme:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="theme-selector">
+ <property name="visible">True</property>
+ <property name="model">liststore1</property>
+ <signal name="changed" handler="select_theme"/>
+ </object>
+ <packing>
+ <property name="padding">8</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="use-gnome-theme-checkbox">
+ <property name="label" translatable="yes">Use colors from GNOME theme</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="padding">8</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="ypad">5</property>
+ <property name="label" translatable="yes"><b>Look &amp; Feel</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="close-button">
+ <property name="label" translatable="yes">gtk-close</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="0">close-button</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkListStore" id="liststore1">
+ <columns>
+ <!-- column-name str -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
+</interface>
diff --git a/lightsoff/themes/Makefile.am b/lightsoff/themes/Makefile.am
new file mode 100644
index 0000000..4280921
--- /dev/null
+++ b/lightsoff/themes/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = tango up
diff --git a/lightsoff/themes/tango/Makefile.am b/lightsoff/themes/tango/Makefile.am
new file mode 100644
index 0000000..6b7e3fc
--- /dev/null
+++ b/lightsoff/themes/tango/Makefile.am
@@ -0,0 +1,18 @@
+themedir = $(pkgdatadir)/lightsoff/themes/tango
+theme_DATA = \
+ arrow.svg \
+ backing.svg \
+ led-back.svg \
+ led-front.svg \
+ off.svg \
+ on.svg \
+ theme.js
+
+EXTRA_DIST = \
+ arrow.svg \
+ backing.svg \
+ led-back.svg \
+ led-front.svg \
+ off.svg \
+ on.svg \
+ theme.js.in
diff --git a/lightsoff/themes/tango/arrow.svg b/lightsoff/themes/tango/arrow.svg
new file mode 100644
index 0000000..7fdb4e8
--- /dev/null
+++ b/lightsoff/themes/tango/arrow.svg
@@ -0,0 +1,66 @@
+<?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="32"
+ height="52"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ version="1.0"
+ sodipodi:docname="arrow.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs4">
+ <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" />
+ </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="10.162162"
+ inkscape:cx="13.809616"
+ inkscape:cy="16.285027"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false" />
+ <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(-346.35856,-494.3177)">
+ <path
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ d="M 375.29882,542.10353 L 372.884,544.62335 L 349.89076,521.36761 C 349.26081,520.6677 349.26081,519.96775 349.89076,519.26778 L 372.884,496.01205 L 375.29882,498.53186 L 353.77546,520.26521 L 375.29882,542.10353"
+ id="text2388" />
+ </g>
+</svg>
diff --git a/lightsoff/lcd-back.svg b/lightsoff/themes/tango/backing.svg
similarity index 71%
copy from lightsoff/lcd-back.svg
copy to lightsoff/themes/tango/backing.svg
index dd03b54..31502ba 100644
--- a/lightsoff/lcd-back.svg
+++ b/lightsoff/themes/tango/backing.svg
@@ -9,17 +9,28 @@
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"
+ width="404.02039"
+ height="204.0204"
id="svg3307"
sodipodi:version="0.32"
inkscape:version="0.46"
version="1.0"
- sodipodi:docname="back.svg"
+ sodipodi:docname="backing.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3309">
<linearGradient
+ id="linearGradient3163">
+ <stop
+ style="stop-color:#515151;stop-opacity:1;"
+ offset="0"
+ id="stop3165" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop3167" />
+ </linearGradient>
+ <linearGradient
id="linearGradient3169">
<stop
style="stop-color:#ffffff;stop-opacity:0.024;"
@@ -67,11 +78,21 @@
xlink:href="#linearGradient3155"
id="linearGradient2415"
gradientUnits="userSpaceOnUse"
- gradientTransform="translate(60.31257,681.79067)"
+ gradientTransform="matrix(0.8770413,0,0,1.0015122,60.372741,681.7264)"
x1="251.11343"
y1="85.043472"
x2="251.11343"
y2="-9.9403951e-06" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3163"
+ id="linearGradient3170"
+ x1="351.0405"
+ y1="638.59863"
+ x2="351.0405"
+ y2="838.59863"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1392903,0,0,0.7531363,-19.604093,156.03603)" />
</defs>
<sodipodi:namedview
id="base"
@@ -83,9 +104,9 @@
objecttolerance="10"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="1.3330629"
- inkscape:cx="125"
- inkscape:cy="41.943272"
+ inkscape:zoom="2.0914786"
+ inkscape:cx="36.744844"
+ inkscape:cy="44.634521"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
@@ -108,10 +129,13 @@
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" />
+ transform="translate(50.969685,-636.58844)">
+ <rect
+ style="fill:url(#linearGradient3170);fill-opacity:1;fill-rule:evenodd;stroke:#9a9a9a;stroke-width:1.84583461;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect2389"
+ width="454.60007"
+ height="149.88948"
+ x="-74.825134"
+ y="637.35669" />
</g>
</svg>
diff --git a/lightsoff/lcd-back.svg b/lightsoff/themes/tango/led-back.svg
similarity index 83%
copy from lightsoff/lcd-back.svg
copy to lightsoff/themes/tango/led-back.svg
index dd03b54..efcb0a8 100644
--- a/lightsoff/lcd-back.svg
+++ b/lightsoff/themes/tango/led-back.svg
@@ -9,13 +9,13 @@
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"
+ width="220.35721"
+ height="85.043488"
id="svg3307"
sodipodi:version="0.32"
inkscape:version="0.46"
version="1.0"
- sodipodi:docname="back.svg"
+ sodipodi:docname="led-back.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3309">
@@ -67,7 +67,7 @@
xlink:href="#linearGradient3155"
id="linearGradient2415"
gradientUnits="userSpaceOnUse"
- gradientTransform="translate(60.31257,681.79067)"
+ gradientTransform="matrix(0.8770413,0,0,1.0015122,60.372741,681.7264)"
x1="251.11343"
y1="85.043472"
x2="251.11343"
@@ -110,8 +110,8 @@
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"
+ style="fill:url(#linearGradient2415);fill-opacity:1;stroke:#5d5d5d;stroke-width:1.87442517;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 69.025306,682.72787 L 271.95704,682.72787 C 276.26468,682.72787 279.73256,686.60182 279.73256,691.41388 L 279.73256,757.21092 C 279.73256,762.02297 276.26468,765.89693 271.95704,765.89693 L 69.025306,765.89693 C 64.717666,765.89693 61.249783,762.02297 61.249783,757.21092 L 61.249783,691.41388 C 61.249783,686.60182 64.717666,682.72787 69.025306,682.72787 z"
id="rect2540" />
</g>
</svg>
diff --git a/lightsoff/lcd-front.svg b/lightsoff/themes/tango/led-front.svg
similarity index 86%
copy from lightsoff/lcd-front.svg
copy to lightsoff/themes/tango/led-front.svg
index 74f70a6..9fbddcc 100644
--- a/lightsoff/lcd-front.svg
+++ b/lightsoff/themes/tango/led-front.svg
@@ -9,13 +9,13 @@
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"
+ width="219.58447"
+ height="44.222527"
id="svg3343"
sodipodi:version="0.32"
inkscape:version="0.46"
version="1.0"
- sodipodi:docname="front.svg"
+ sodipodi:docname="led-front.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3345">
@@ -24,7 +24,7 @@
xlink:href="#linearGradient3169"
id="linearGradient2412"
gradientUnits="userSpaceOnUse"
- gradientTransform="translate(112.31402,469.99832)"
+ gradientTransform="matrix(0.8770329,0,0,0.9140096,112.31402,469.99832)"
x1="245.37199"
y1="48.383003"
x2="245.37199"
@@ -36,7 +36,7 @@
offset="0"
id="stop3171" />
<stop
- style="stop-color:#ffffff;stop-opacity:0.42399999;"
+ style="stop-color:#ffffff;stop-opacity:0.35833332;"
offset="1"
id="stop3173" />
</linearGradient>
@@ -69,7 +69,7 @@
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="1.2017858"
- inkscape:cx="203.23922"
+ inkscape:cx="58.870731"
inkscape:cy="51.468405"
inkscape:document-units="px"
inkscape:current-layer="layer1"
@@ -103,7 +103,7 @@
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"
+ d="M 120.12875,469.99832 L 324.08379,469.99832 C 328.41317,469.99832 331.8985,473.42735 331.8985,477.68669 L 331.8985,500.15037 C 311.16548,514.87262 115.96837,522.55968 112.31402,500.15037 L 112.31402,477.68669 C 112.31402,473.42735 115.7994,469.99832 120.12875,469.99832 z"
id="path2532"
sodipodi:nodetypes="ccccccc"
inkscape:export-filename="/home/hortont/seed/examples/lightsoff/bkg_top.png"
diff --git a/lightsoff/arrow.svg b/lightsoff/themes/tango/off.svg
similarity index 50%
copy from lightsoff/arrow.svg
copy to lightsoff/themes/tango/off.svg
index 41afa34..1da3049 100644
--- a/lightsoff/arrow.svg
+++ b/lightsoff/themes/tango/off.svg
@@ -6,57 +6,29 @@
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"
+ width="75"
+ height="75"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.46"
- sodipodi:docname="arrow-l.svg"
+ sodipodi:docname="grey.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">
+ id="linearGradient3179">
<stop
- id="stop3539"
+ style="stop-color:#0c0c0c;stop-opacity:0.96078432;"
offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
+ id="stop3181" />
<stop
- id="stop3541"
+ style="stop-color:#222222;stop-opacity:0.96078432;"
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" />
+ id="stop3183" />
</linearGradient>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
@@ -65,25 +37,35 @@
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective10" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3179"
+ id="linearGradient3193"
+ x1="164.71428"
+ y1="344.79077"
+ x2="315.28571"
+ y2="344.79077"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.4848198,0,0,0.4848197,85.857573,101.05795)" />
</defs>
<sodipodi:namedview
id="base"
- pagecolor="#000000"
+ pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
gridtolerance="10000"
guidetolerance="10"
objecttolerance="10"
- inkscape:pageopacity="0"
+ inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="11.760001"
- inkscape:cx="24.999998"
- inkscape:cy="24.999998"
+ inkscape:zoom="10.026667"
+ inkscape:cx="24.983378"
+ inkscape:cy="37.5"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
- inkscape:window-width="1432"
- inkscape:window-height="817"
+ inkscape:window-width="1440"
+ inkscape:window-height="842"
inkscape:window-x="0"
inkscape:window-y="0" />
<metadata
@@ -101,10 +83,15 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
- transform="translate(-353.37656,-318.61163)">
- <path
- style="opacity:0.5;fill:#f5f5f5;fill-opacity:0.5098038;stroke:#f5f5f5;stroke-width:2.18480301;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.90196078"
- d="M 372.51146,327.46981 L 372.51146,336.1791 L 401.09405,336.1791 L 401.09405,351.04416 L 372.51146,351.04416 L 372.51146,359.75345 L 355.65907,343.61163 L 372.51146,327.46981 z"
- id="rect3273" />
+ transform="translate(-164.71428,-194.21933)">
+ <rect
+ style="opacity:1;fill:url(#linearGradient3193);fill-opacity:1;stroke:#666666;stroke-width:0.96963954;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3157"
+ width="72.030357"
+ height="72.030357"
+ x="166.1991"
+ y="195.70415"
+ rx="4.8481979"
+ ry="4.8481975" />
</g>
</svg>
diff --git a/lightsoff/arrow.svg b/lightsoff/themes/tango/on.svg
similarity index 50%
rename from lightsoff/arrow.svg
rename to lightsoff/themes/tango/on.svg
index 41afa34..a7723a4 100644
--- a/lightsoff/arrow.svg
+++ b/lightsoff/themes/tango/on.svg
@@ -6,57 +6,29 @@
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"
+ width="75"
+ height="75"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.46"
- sodipodi:docname="arrow-l.svg"
+ sodipodi:docname="blue.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">
+ id="linearGradient3179">
<stop
- id="stop3539"
+ style="stop-color:#35669b;stop-opacity:0.96078432;"
offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
+ id="stop3181" />
<stop
- id="stop3541"
+ style="stop-color:#5e92c8;stop-opacity:0.96078432;"
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" />
+ id="stop3183" />
</linearGradient>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
@@ -65,25 +37,35 @@
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective10" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3179"
+ id="linearGradient3193"
+ x1="164.71428"
+ y1="344.79077"
+ x2="315.28571"
+ y2="344.79077"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.4848198,0,0,0.4848197,85.857573,101.05795)" />
</defs>
<sodipodi:namedview
id="base"
- pagecolor="#000000"
+ pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
gridtolerance="10000"
guidetolerance="10"
objecttolerance="10"
- inkscape:pageopacity="0"
+ inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="11.760001"
- inkscape:cx="24.999998"
- inkscape:cy="24.999998"
+ inkscape:zoom="4.0711576"
+ inkscape:cx="13.632487"
+ inkscape:cy="80.411519"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
- inkscape:window-width="1432"
- inkscape:window-height="817"
+ inkscape:window-width="1440"
+ inkscape:window-height="842"
inkscape:window-x="0"
inkscape:window-y="0" />
<metadata
@@ -101,10 +83,15 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
- transform="translate(-353.37656,-318.61163)">
- <path
- style="opacity:0.5;fill:#f5f5f5;fill-opacity:0.5098038;stroke:#f5f5f5;stroke-width:2.18480301;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.90196078"
- d="M 372.51146,327.46981 L 372.51146,336.1791 L 401.09405,336.1791 L 401.09405,351.04416 L 372.51146,351.04416 L 372.51146,359.75345 L 355.65907,343.61163 L 372.51146,327.46981 z"
- id="rect3273" />
+ transform="translate(-164.71428,-194.21933)">
+ <rect
+ style="opacity:1;fill:url(#linearGradient3193);fill-opacity:1;stroke:#729fcf;stroke-width:0.96963954;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3157"
+ width="72.030357"
+ height="72.030357"
+ x="166.1991"
+ y="195.70415"
+ rx="4.8481979"
+ ry="4.8481975" />
</g>
</svg>
diff --git a/lightsoff/themes/tango/theme.js b/lightsoff/themes/tango/theme.js
new file mode 100644
index 0000000..2dd139b
--- /dev/null
+++ b/lightsoff/themes/tango/theme.js
@@ -0,0 +1,23 @@
+file_prefix = '/usr/local' + "/share/gnome-games/lightsoff/";
+
+Clutter = imports.gi.Clutter;
+
+var name = "tango";
+
+var light = [ load_svg("off.svg"), load_svg("on.svg") ];
+var arrow = load_svg("arrow.svg");
+var backing = load_svg("backing.svg");
+var led_back = load_svg("led-back.svg");
+var led_front = load_svg("led-front.svg");
+
+// helper functions should be put somewhere global
+
+function load_svg(file)
+{
+ // TODO: either imports should set the cwd (and this can go away),
+ // or we need some quick way to compose paths. Really, we need that anyway.
+
+ var tx = new Clutter.Texture({filename: file_prefix + "themes/" + name + "/" + file});
+ tx.filter_quality = Clutter.TextureQuality.HIGH;
+ return tx;
+}
diff --git a/lightsoff/themes/tango/theme.js.in b/lightsoff/themes/tango/theme.js.in
new file mode 100644
index 0000000..2dd139b
--- /dev/null
+++ b/lightsoff/themes/tango/theme.js.in
@@ -0,0 +1,23 @@
+file_prefix = '/usr/local' + "/share/gnome-games/lightsoff/";
+
+Clutter = imports.gi.Clutter;
+
+var name = "tango";
+
+var light = [ load_svg("off.svg"), load_svg("on.svg") ];
+var arrow = load_svg("arrow.svg");
+var backing = load_svg("backing.svg");
+var led_back = load_svg("led-back.svg");
+var led_front = load_svg("led-front.svg");
+
+// helper functions should be put somewhere global
+
+function load_svg(file)
+{
+ // TODO: either imports should set the cwd (and this can go away),
+ // or we need some quick way to compose paths. Really, we need that anyway.
+
+ var tx = new Clutter.Texture({filename: file_prefix + "themes/" + name + "/" + file});
+ tx.filter_quality = Clutter.TextureQuality.HIGH;
+ return tx;
+}
diff --git a/lightsoff/themes/up/Makefile.am b/lightsoff/themes/up/Makefile.am
new file mode 100644
index 0000000..48ae2c2
--- /dev/null
+++ b/lightsoff/themes/up/Makefile.am
@@ -0,0 +1,18 @@
+themedir = $(pkgdatadir)/lightsoff/themes/up
+theme_DATA = \
+ arrow.svg \
+ backing.svg \
+ led-back.svg \
+ led-front.svg \
+ off.svg \
+ on.svg \
+ theme.js
+
+EXTRA_DIST = \
+ arrow.svg \
+ backing.svg \
+ led-back.svg \
+ led-front.svg \
+ off.svg \
+ on.svg \
+ theme.js.in
diff --git a/lightsoff/themes/up/arrow.svg b/lightsoff/themes/up/arrow.svg
new file mode 100644
index 0000000..7fdb4e8
--- /dev/null
+++ b/lightsoff/themes/up/arrow.svg
@@ -0,0 +1,66 @@
+<?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="32"
+ height="52"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ version="1.0"
+ sodipodi:docname="arrow.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs4">
+ <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" />
+ </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="10.162162"
+ inkscape:cx="13.809616"
+ inkscape:cy="16.285027"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false" />
+ <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(-346.35856,-494.3177)">
+ <path
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ d="M 375.29882,542.10353 L 372.884,544.62335 L 349.89076,521.36761 C 349.26081,520.6677 349.26081,519.96775 349.89076,519.26778 L 372.884,496.01205 L 375.29882,498.53186 L 353.77546,520.26521 L 375.29882,542.10353"
+ id="text2388" />
+ </g>
+</svg>
diff --git a/lightsoff/lcd-back.svg b/lightsoff/themes/up/backing.svg
similarity index 71%
copy from lightsoff/lcd-back.svg
copy to lightsoff/themes/up/backing.svg
index dd03b54..31502ba 100644
--- a/lightsoff/lcd-back.svg
+++ b/lightsoff/themes/up/backing.svg
@@ -9,17 +9,28 @@
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"
+ width="404.02039"
+ height="204.0204"
id="svg3307"
sodipodi:version="0.32"
inkscape:version="0.46"
version="1.0"
- sodipodi:docname="back.svg"
+ sodipodi:docname="backing.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3309">
<linearGradient
+ id="linearGradient3163">
+ <stop
+ style="stop-color:#515151;stop-opacity:1;"
+ offset="0"
+ id="stop3165" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop3167" />
+ </linearGradient>
+ <linearGradient
id="linearGradient3169">
<stop
style="stop-color:#ffffff;stop-opacity:0.024;"
@@ -67,11 +78,21 @@
xlink:href="#linearGradient3155"
id="linearGradient2415"
gradientUnits="userSpaceOnUse"
- gradientTransform="translate(60.31257,681.79067)"
+ gradientTransform="matrix(0.8770413,0,0,1.0015122,60.372741,681.7264)"
x1="251.11343"
y1="85.043472"
x2="251.11343"
y2="-9.9403951e-06" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3163"
+ id="linearGradient3170"
+ x1="351.0405"
+ y1="638.59863"
+ x2="351.0405"
+ y2="838.59863"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1392903,0,0,0.7531363,-19.604093,156.03603)" />
</defs>
<sodipodi:namedview
id="base"
@@ -83,9 +104,9 @@
objecttolerance="10"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="1.3330629"
- inkscape:cx="125"
- inkscape:cy="41.943272"
+ inkscape:zoom="2.0914786"
+ inkscape:cx="36.744844"
+ inkscape:cy="44.634521"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
@@ -108,10 +129,13 @@
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" />
+ transform="translate(50.969685,-636.58844)">
+ <rect
+ style="fill:url(#linearGradient3170);fill-opacity:1;fill-rule:evenodd;stroke:#9a9a9a;stroke-width:1.84583461;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect2389"
+ width="454.60007"
+ height="149.88948"
+ x="-74.825134"
+ y="637.35669" />
</g>
</svg>
diff --git a/lightsoff/lcd-back.svg b/lightsoff/themes/up/led-back.svg
similarity index 83%
rename from lightsoff/lcd-back.svg
rename to lightsoff/themes/up/led-back.svg
index dd03b54..efcb0a8 100644
--- a/lightsoff/lcd-back.svg
+++ b/lightsoff/themes/up/led-back.svg
@@ -9,13 +9,13 @@
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"
+ width="220.35721"
+ height="85.043488"
id="svg3307"
sodipodi:version="0.32"
inkscape:version="0.46"
version="1.0"
- sodipodi:docname="back.svg"
+ sodipodi:docname="led-back.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3309">
@@ -67,7 +67,7 @@
xlink:href="#linearGradient3155"
id="linearGradient2415"
gradientUnits="userSpaceOnUse"
- gradientTransform="translate(60.31257,681.79067)"
+ gradientTransform="matrix(0.8770413,0,0,1.0015122,60.372741,681.7264)"
x1="251.11343"
y1="85.043472"
x2="251.11343"
@@ -110,8 +110,8 @@
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"
+ style="fill:url(#linearGradient2415);fill-opacity:1;stroke:#5d5d5d;stroke-width:1.87442517;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 69.025306,682.72787 L 271.95704,682.72787 C 276.26468,682.72787 279.73256,686.60182 279.73256,691.41388 L 279.73256,757.21092 C 279.73256,762.02297 276.26468,765.89693 271.95704,765.89693 L 69.025306,765.89693 C 64.717666,765.89693 61.249783,762.02297 61.249783,757.21092 L 61.249783,691.41388 C 61.249783,686.60182 64.717666,682.72787 69.025306,682.72787 z"
id="rect2540" />
</g>
</svg>
diff --git a/lightsoff/lcd-front.svg b/lightsoff/themes/up/led-front.svg
similarity index 86%
rename from lightsoff/lcd-front.svg
rename to lightsoff/themes/up/led-front.svg
index 74f70a6..9fbddcc 100644
--- a/lightsoff/lcd-front.svg
+++ b/lightsoff/themes/up/led-front.svg
@@ -9,13 +9,13 @@
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"
+ width="219.58447"
+ height="44.222527"
id="svg3343"
sodipodi:version="0.32"
inkscape:version="0.46"
version="1.0"
- sodipodi:docname="front.svg"
+ sodipodi:docname="led-front.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3345">
@@ -24,7 +24,7 @@
xlink:href="#linearGradient3169"
id="linearGradient2412"
gradientUnits="userSpaceOnUse"
- gradientTransform="translate(112.31402,469.99832)"
+ gradientTransform="matrix(0.8770329,0,0,0.9140096,112.31402,469.99832)"
x1="245.37199"
y1="48.383003"
x2="245.37199"
@@ -36,7 +36,7 @@
offset="0"
id="stop3171" />
<stop
- style="stop-color:#ffffff;stop-opacity:0.42399999;"
+ style="stop-color:#ffffff;stop-opacity:0.35833332;"
offset="1"
id="stop3173" />
</linearGradient>
@@ -69,7 +69,7 @@
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="1.2017858"
- inkscape:cx="203.23922"
+ inkscape:cx="58.870731"
inkscape:cy="51.468405"
inkscape:document-units="px"
inkscape:current-layer="layer1"
@@ -103,7 +103,7 @@
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"
+ d="M 120.12875,469.99832 L 324.08379,469.99832 C 328.41317,469.99832 331.8985,473.42735 331.8985,477.68669 L 331.8985,500.15037 C 311.16548,514.87262 115.96837,522.55968 112.31402,500.15037 L 112.31402,477.68669 C 112.31402,473.42735 115.7994,469.99832 120.12875,469.99832 z"
id="path2532"
sodipodi:nodetypes="ccccccc"
inkscape:export-filename="/home/hortont/seed/examples/lightsoff/bkg_top.png"
diff --git a/lightsoff/themes/up/off.svg b/lightsoff/themes/up/off.svg
new file mode 100644
index 0000000..3cdd8a2
--- /dev/null
+++ b/lightsoff/themes/up/off.svg
@@ -0,0 +1,164 @@
+<?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="75"
+ height="75"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="grey.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs4">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient10190">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop10192" />
+ <stop
+ style="stop-color:#5b8fc7;stop-opacity:0;"
+ offset="1"
+ id="stop10194" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10182">
+ <stop
+ style="stop-color:#2e3436;stop-opacity:1"
+ offset="0"
+ id="stop10184" />
+ <stop
+ style="stop-color:#555753;stop-opacity:1"
+ offset="1"
+ id="stop10186" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10146">
+ <stop
+ id="stop10148"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:0.11489362" />
+ <stop
+ id="stop10152"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10182"
+ id="linearGradient10142"
+ x1="178.71428"
+ y1="199.21933"
+ x2="218.71428"
+ y2="267.21933"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10190"
+ id="linearGradient10207"
+ x1="188.71428"
+ y1="233.21933"
+ x2="204.71428"
+ y2="185.21933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0142532,0,0,1.0147091,-2.882195,-3.3928733)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10146"
+ id="linearGradient10217"
+ x1="229.46428"
+ y1="279.46933"
+ x2="164.96428"
+ y2="185.21933"
+ gradientUnits="userSpaceOnUse" />
+ </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="4"
+ inkscape:cx="-14.74225"
+ inkscape:cy="37.898498"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="842"
+ inkscape:window-x="0"
+ inkscape:window-y="179">
+ <inkscape:grid
+ type="xygrid"
+ id="grid9326" />
+ </sodipodi:namedview>
+ <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" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Ulisse Perusin <ulisail yahoo it></dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:title>Grey Tile</dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-164.71428,-194.21933)">
+ <rect
+ ry="4.8481975"
+ rx="4.8481979"
+ y="195.70415"
+ x="166.1991"
+ height="72.030357"
+ width="72.030357"
+ id="rect10098"
+ style="opacity:1;fill:url(#linearGradient10142);fill-opacity:1;stroke:none;stroke-width:0.96963953999999997;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.12;fill:url(#linearGradient10207);fill-opacity:1;stroke:none;stroke-width:0.96963953999999997;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 172.63158,197.21933 L 231.79698,197.21933 C 234.52117,197.21933 236.71428,199.41343 236.71428,202.13884 L 236.71428,212.62481 C 232.67057,229.56208 171.75877,229.27231 167.71428,212.62481 L 167.71428,202.13884 C 167.71428,199.41343 169.90739,197.21933 172.63158,197.21933 z"
+ id="rect10198"
+ sodipodi:nodetypes="ccccccc" />
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#2e3436;stroke-width:0.96963953999999997;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3157"
+ width="72.030357"
+ height="72.030357"
+ x="166.1991"
+ y="195.70415"
+ rx="4.8481979"
+ ry="4.8481975" />
+ <rect
+ ry="4.7135825"
+ rx="4.713583"
+ y="196.70415"
+ x="167.1991"
+ height="70.030365"
+ width="70.030365"
+ id="rect10209"
+ style="opacity:0.3;fill:none;fill-opacity:1;stroke:url(#linearGradient10217);stroke-width:0.96963960000000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+</svg>
diff --git a/lightsoff/themes/up/on.svg b/lightsoff/themes/up/on.svg
new file mode 100644
index 0000000..549518a
--- /dev/null
+++ b/lightsoff/themes/up/on.svg
@@ -0,0 +1,198 @@
+<?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="75"
+ height="75"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="blue.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs4">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient10190">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop10192" />
+ <stop
+ style="stop-color:#5b8fc7;stop-opacity:0;"
+ offset="1"
+ id="stop10194" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10182">
+ <stop
+ style="stop-color:#204a87;stop-opacity:1"
+ offset="0"
+ id="stop10184" />
+ <stop
+ style="stop-color:#5b8fc7;stop-opacity:1"
+ offset="1"
+ id="stop10186" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient10174">
+ <stop
+ style="stop-color:#6da9ff;stop-opacity:1;"
+ offset="0"
+ id="stop10176" />
+ <stop
+ style="stop-color:#6da9ff;stop-opacity:0;"
+ offset="1"
+ id="stop10178" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10146">
+ <stop
+ id="stop10148"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:0.11489362" />
+ <stop
+ id="stop10152"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10182"
+ id="linearGradient10142"
+ x1="178.71428"
+ y1="199.21933"
+ x2="218.71428"
+ y2="267.21933"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10174"
+ id="radialGradient10180"
+ cx="202.71428"
+ cy="231.21933"
+ fx="202.09354"
+ fy="251.56584"
+ r="36.015179"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2605304,-1.7746105e-2,1.3882838e-2,0.9861173,-56.023225,6.807352)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10190"
+ id="linearGradient10207"
+ x1="188.71428"
+ y1="233.21933"
+ x2="204.71428"
+ y2="185.21933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0142532,0,0,1.0147091,-2.882195,-3.3928733)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10146"
+ id="linearGradient10217"
+ x1="229.46428"
+ y1="279.46933"
+ x2="164.96428"
+ y2="185.21933"
+ gradientUnits="userSpaceOnUse" />
+ </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="4"
+ inkscape:cx="-14.74225"
+ inkscape:cy="37.898498"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="842"
+ inkscape:window-x="0"
+ inkscape:window-y="24">
+ <inkscape:grid
+ type="xygrid"
+ id="grid9326" />
+ </sodipodi:namedview>
+ <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:license
+ rdf:resource="" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Ulisse Perusin <ulisail yahoo it></dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:title>Blue Tile</dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-164.71428,-194.21933)">
+ <rect
+ ry="4.8481975"
+ rx="4.8481979"
+ y="195.70415"
+ x="166.1991"
+ height="72.030357"
+ width="72.030357"
+ id="rect10098"
+ style="opacity:1;fill:url(#linearGradient10142);fill-opacity:1;stroke:none;stroke-width:0.96963953999999997;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="opacity:0.82978722999999999;fill:url(#radialGradient10180);fill-opacity:1;stroke:none;stroke-width:0.96963953999999997;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect10154"
+ width="72.030357"
+ height="72.030357"
+ x="166.1991"
+ y="195.70415"
+ rx="4.8481979"
+ ry="4.8481975" />
+ <path
+ style="opacity:0.25;fill:url(#linearGradient10207);fill-opacity:1;stroke:none;stroke-width:0.96963954;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 172.63158,197.21933 L 231.79698,197.21933 C 234.52117,197.21933 236.71428,199.41343 236.71428,202.13884 L 236.71428,212.62481 C 232.67057,229.56208 171.75877,229.27231 167.71428,212.62481 L 167.71428,202.13884 C 167.71428,199.41343 169.90739,197.21933 172.63158,197.21933 z"
+ id="rect10198"
+ sodipodi:nodetypes="ccccccc" />
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#204a87;stroke-width:0.96963953999999997;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3157"
+ width="72.030357"
+ height="72.030357"
+ x="166.1991"
+ y="195.70415"
+ rx="4.8481979"
+ ry="4.8481975" />
+ <rect
+ ry="4.7135825"
+ rx="4.713583"
+ y="196.70415"
+ x="167.1991"
+ height="70.030365"
+ width="70.030365"
+ id="rect10209"
+ style="opacity:0.3;fill:none;fill-opacity:1;stroke:url(#linearGradient10217);stroke-width:0.96963960000000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+</svg>
diff --git a/lightsoff/themes/up/theme.js.in b/lightsoff/themes/up/theme.js.in
new file mode 100644
index 0000000..d895bd3
--- /dev/null
+++ b/lightsoff/themes/up/theme.js.in
@@ -0,0 +1,23 @@
+file_prefix = '/usr/local' + "/share/gnome-games/lightsoff/";
+
+Clutter = imports.gi.Clutter;
+
+var name = "up";
+
+var light = [ load_svg("off.svg"), load_svg("on.svg") ];
+var arrow = load_svg("arrow.svg");
+var backing = load_svg("backing.svg");
+var led_back = load_svg("led-back.svg");
+var led_front = load_svg("led-front.svg");
+
+// helper functions should be put somewhere global
+
+function load_svg(file)
+{
+ // TODO: either imports should set the cwd (and this can go away),
+ // or we need some quick way to compose paths. Really, we need that anyway.
+
+ var tx = new Clutter.Texture({filename: file_prefix + "themes/" + name + "/" + file});
+ tx.filter_quality = Clutter.TextureQuality.HIGH;
+ return tx;
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]