<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>vectomatic &#187; SVG</title>
	<atom:link href="http://www.vectomatic.org/category/svg/feed" rel="self" type="application/rss+xml" />
	<link>http://www.vectomatic.org</link>
	<description>standard dynamic 2D graphics in web browsers</description>
	<lastBuildDate>Thu, 19 Jan 2012 20:17:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Availability of lib-gwt-svg 0.5.4 and other announcements</title>
		<link>http://www.vectomatic.org/lib-gwt-svg/availability-of-lib-gwt-svg-0-5-4-and-other-announcements</link>
		<comments>http://www.vectomatic.org/lib-gwt-svg/availability-of-lib-gwt-svg-0-5-4-and-other-announcements#comments</comments>
		<pubDate>Wed, 02 Nov 2011 21:25:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[lib-gwt-svg]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=763</guid>
		<description><![CDATA[<p>I am releasing a new version of lib-gwt-svg. For a detailed list of changes, see the release notes. This new version is mostly a bug-fix and tuning release, which provides better support for IE9 and Opera. Among the notable features of the release are:</p> On IE9, the XPath APIs are now supported. This is made [...]]]></description>
			<content:encoded><![CDATA[<p>I am releasing a new version of lib-gwt-svg. For a detailed list of changes, see the <a href="./lib-gwt-svg/release-notes" title="lib-gwt-svg release notes">release notes</a>. This new version is mostly a bug-fix and tuning release, which provides better support for IE9 and Opera. Among the notable features of the release are:</p>
<ul>
<li>On IE9, the XPath APIs are now supported. This is made possible by embedding the <a href="http://mcc.id.au/xpathjs">xpath.js</a> library by Cameron McCormack, which provides the XPath support lacking in IE9 and IE10. Other browsers, which have native xpath support are unchanged and do embed xpath.js.</li>
<li>On IE9, stylesheets embedded in dynamically loaded SVGs are not ignored any more (found a workaround for this IE9 bug)</li>
<li>On Opera, xlink hrefs embedded stylesheets contained in dynamically loaded SVGs are not broken any more (found a workaround for this Opera bug)</li>
<li>On all platforms, OMSVGParser.parse will throw a ParserException in a consistent manner when fed input which is not well-formed or is not an SVG document</li>
</ul>
<p>I have created a new XPath sample in the <a href="../lib-gwt-svg/samples">lib-gwt-svg-samples</a> program. It lets you type xpath expressions which are evaluated on the fly, resulting in the proper nodes being selected in the SVG and XML view of a sample document.</p>
<p>I have updated all my <a href="../lib-gwt-svg-edu" title="SVG educational games">educational games</a> to use the latest version. The following matrix shows what works and what does not, per platform:</p>
<table border="0">
<tbody>
<tr>
<th></th>
<th>FF</th>
<th>Webkit (chrome)</th>
<th>Opera</th>
<th>IE</th>
</tr>
<tr>
<td>samples-shapes</td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
</tr>
<td>sample-events</td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
</tr>
<td>sample-parser</td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
</tr>
<td>sample-widgets</td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
</tr>
<td>sample-xpath</td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
</tr>
<td>sample-smil</td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ko.png" alt="ko" /> (No JS SMIL support)
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ko.png" alt="ko" /> (No SMIL support)</td>
</tr>
<td>games-chess</td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
</tr>
<td>games-dots</td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ko.png" alt="ko" /> (No JS filter support)
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ko.png" alt="ko" /> (No filter support. Coming in IE10)</td>
</tr>
<td>games-maze</td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
</tr>
<td>games-push</td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
</tr>
<td>games-puzzle</td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
<td><img src="../images/ok.png" alt="ok" /></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/lib-gwt-svg/availability-of-lib-gwt-svg-0-5-4-and-other-announcements/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVG paint and stroke</title>
		<link>http://www.vectomatic.org/lib-gwt-svg/svg-paint</link>
		<comments>http://www.vectomatic.org/lib-gwt-svg/svg-paint#comments</comments>
		<pubDate>Sat, 10 Sep 2011 08:58:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[lib-gwt-svg]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=693</guid>
		<description><![CDATA[<p>The SVG standard provides a complete API to deal with various forms of paint (rgb colors, named colors, linear gradients, patterns, &#8230;) and this API integrates tightly with the CSS APIs to provide programmatic access to the various characteristics of the paint. The dash-array CSS property can also be introspected with the same CSS APIs.</p> [...]]]></description>
			<content:encoded><![CDATA[<p>The SVG standard provides a <a title="SVG paint API" href="http://www.w3.org/TR/SVG11/painting.html#InterfaceSVGPaint">complete API</a> to deal with various forms of paint (rgb colors, named colors, linear gradients, patterns, &#8230;) and this API integrates tightly with the CSS APIs to provide programmatic access to the various characteristics of the paint. The <strong>dash-array</strong> CSS property can also be introspected with the same CSS APIs.</p>
<p>In real web development however, things are not as easy as they should, because almost all browsers fail to implement correctly if at all at least some part of the specification. This is why I had not tried to incorporate this part of the specification in lib-gwt-svg so far.</p>
<p>If things were perfect, all one would have to write to access a color or the <strong>dash-array</strong> attribute would be:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;<br />
&lt;circle id=&quot;c1&quot; style=&quot;fill:tomato;stroke:black;stroke-dasharray:2mm,1mm&quot; cx=&quot;10&quot; cy=&quot;10&quot; r=&quot;5&quot;/&gt;<br />
&lt;/svg&gt;</div></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">var circle = document.getElementById('c1');<br />
var paint = circle.style.getCSSPropertyValue('fill');<br />
var green = paint.rgbColor.green;<br />
var greenValue = green.getFloatValue(green.primitiveType);<br />
var dash1 = circle.style.getCSSPropertyValue('dash-array').item(0);<br />
var dash1Value = dash1.getFloatValue(dash1.primitiveType);</div></div>
<p>In the real world, the code above does not run well in most browsers:</p>
<table>
<thead>
<tr>
<th>Browser</th>
<th>Result</th>
</tr>
<tr>
<td>Firefox 4+</td>
<td>getCSSPropertyValue works only for computedStyle, not style</td>
</tr>
<tr>
<td>Chrome 14+</td>
<td>Works correctly</td>
</tr>
<tr>
<td>Opera 10+</td>
<td>Not supported (exception thrown)</td>
</tr>
<tr>
<td>IE9+</td>
<td>Not tested</td>
</tr>
</thead>
</table>
<p>In version 0.5.3 of lib-gwt-svg, I have developed a few classes to emulate most of the behavior of SVGPaint and CSSValue and map it to GWT. The implementation is based on parsing the css text value of the css properties to create a small graph of objects representing the color. The shortcoming of this approach is that this graph is an emulation: changing it will not affect the original CSS property. With this restriction in mind, it is now possible however to write applications which manipulate SVG paint and dash arrays, in a portable way. If browser implementations make enough progress, I plan to switch to the native implementation.</p>
<p>Here is sample code which uses it:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">OMSVGCircleElement circle = (OMSVGCircleElement)OMSVGParser.currentDocument().getElementById(&quot;c1&quot;);<br />
OMSVGPaint paint = (OMSVGPaint)circle.getStyle().getSVGPropertyCSS(SVGConstants.CSS_FILL_PROPERTY);<br />
OMRGBColor green = paint.getRgbColor().getGreen();<br />
float greenValue = green.getFloatValue(green.getPrimitiveType());<br />
OMCSSValueList dashArray = (OMCSSValueList)circle.getStyle().getSVGPropertyCSS(SVGConstants.CSS_STROKE_DASH_ARRAY_PROPERTY);<br />
OMCSSPrimitiveValue dash1 = (OMCSSPrimitiveValue)dashArray.getItem(0);<br />
float dash1Value = dash1.getFloatValue(dash1.getPrimitiveType());</div></div>
<p>To conclude this post, here is <a href="../mvn-sites/lib-gwt-svg/apidocs/org/vectomatic/dom/svg/OMSVGPaint.html" title="OMSVGPaint documentation">a pointer to the javadoc documentation</a> of this API.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/lib-gwt-svg/svg-paint/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Annoucement: lib-gwt-svg 0.5.1 availability and other miscellaneous changes</title>
		<link>http://www.vectomatic.org/lib-gwt-svg/annoucement-lib-gwt-svg-0-5-1-availability-and-other-miscellaneous-changes</link>
		<comments>http://www.vectomatic.org/lib-gwt-svg/annoucement-lib-gwt-svg-0-5-1-availability-and-other-miscellaneous-changes#comments</comments>
		<pubDate>Tue, 22 Feb 2011 08:30:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[lib-gwt-svg]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=627</guid>
		<description><![CDATA[<p>This post summarizes changes and new features to vectomatic and lib-gwt-svg.</p> <p>lib-gwt-svg A new version 0.5.1 is introduced, to provide formal support for GWT2.2.0. It is mainly a bug-fix and improvement release, but it contains a large number of fixes (see the release notes for details). It is available through the usual channels: maven central [...]]]></description>
			<content:encoded><![CDATA[<p>This post summarizes changes and new features to vectomatic and lib-gwt-svg.</p>
<p><em>lib-gwt-svg</em><br />
A new version 0.5.1 is introduced, to provide formal support for GWT2.2.0. It is mainly a bug-fix and improvement release, but it contains a large number of fixes (see the <a href="../lib-gwt-svg/release-notes">release notes</a> for details). It is available through the usual channels: <a href="http://repo1.maven.org/maven2/org/vectomatic/">maven central repository</a>, <a href="http://www.vectomatic.org/lib-gwt-svg">vectomatic website</a>, and <a href="http://code.google.com/p/vectomatic/">google-code project</a>.</p>
<p><em>lib-gwt-svg-samples</em><br />
The samples for lib-gwt-svg have been revamped too (version 0.5.2) to finish the work started on CSS and <a href="http://www.w3.org/TR/smil-animation/">SMIL animation</a>. The SMIL animation sample now works as expected (on FF4 and Opera). The widgets sample layout has been redesigned to demonstrate scalability of widgets.</p>
<p><em>lib-gwt-svg-edu</em><br />
Additional new GWT projects have been created to make the games available as <a href="http://widgets.opera.com/">Opera Widgets</a> and <a href="http://techbase.kde.org/Projects/Plasma/Plasmoids">KDE Plasmoids</a>. The Opera Widgets are already functional, the KDE plasmoids not yet. More work is still required though on the CSS front to make the game appearance and responsiveness adequate for use on mobile devices. Thus the widgets are not yet published on the Opera repository.</p>
<p><em>Repository structure</em><br />
The unified SVN repository structure which contains all vectomatic projects is going to be split in several parts. The reason is that it is becoming difficult to synchronize the release of all these projects into one big meta-release and that they will evolve better if they can have a lifecycle of their own. The plan is to have at least three repositories:</p>
<ul>
<li>a repository dedicated to the general purpose library <a href="../lib-gwt-svg">lib-gwt-svg</a> / <a href="../lib-gwt-svg/samples">lib-gwt-svg-samples</a></li>
<li>a repository dedicated to games (<a href="../lib-gwt-svg-edu">lib-gwt-svg-edu-*</a> / <a href="../lib-gwt-svg-chess">lib-gwt-svg-chess</a>)</li>
<li>a repository dedicated to a SVG editor application (<a href="../vectomatic2">vectomatic2</a>)</li>
</ul>
<p>The vectomatic2 development has already been extracted to a private svn repository and is receiving intensive care. A new project (with a new name) will be created and announced shortly to host it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/lib-gwt-svg/annoucement-lib-gwt-svg-0-5-1-availability-and-other-miscellaneous-changes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE9 and lib-gwt-svg</title>
		<link>http://www.vectomatic.org/lib-gwt-svg/ie9-and-lib-gwt-svg</link>
		<comments>http://www.vectomatic.org/lib-gwt-svg/ie9-and-lib-gwt-svg#comments</comments>
		<pubDate>Thu, 18 Nov 2010 21:49:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[lib-gwt-svg]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.vectomatic.org/?p=616</guid>
		<description><![CDATA[<p>A first (small) step has been made on the way towards running lib-gwt-svg apps into IE9. I have done some tests with the latest code available (called &#8220;platform preview 7&#8243;). The good news first: a few of the tabs in lib-gwt-svg-samples work, with the present unmodified code (version 0.5.0): shapes, events, features. This is encouraging [...]]]></description>
			<content:encoded><![CDATA[<p>A first (small) step has been made on the way towards running lib-gwt-svg apps into IE9. I have done some tests with the latest code available (called &#8220;platform preview 7&#8243;). The good news first: a few of the tabs in <a href="../gwt/lib-gwt-svg-samples/lib-gwt-svg-samples.html">lib-gwt-svg-samples</a> work, with the present unmodified code (version 0.5.0): shapes, events, features. This is encouraging because it means you can create SVG shapes and receive events. The bad news now: all the other apps are not working (yet).</p>
<p>How do I interpret these results ? It seems IE9 is a two headed beast, and these two heads do not talk to each other at all. Either you choose the new IE9 mode, by putting the HTML5 doctype header in your document; or you choose the compatibility mode. </p>
<p>In IE9 mode, you must do everything by the standards (CSS layout, HTML5, W3C DOM APIs). If you deviate a tiny bit or try to use the old IE way, it won&#8217;t work, contrary to other browsers which know how to handle legacy and degrade more gracefully. </p>
<p>In compatibility mode, you basically have that outdated and full of quirks and bugs browser, which knows nothing of the new features but has good compatibility with legacy MS apps.</p>
<p>So you cannot have your cake and eat it too. Currently this is not very good for the combination of GWT and lib-gwt-svg. GWT has not evolved yet, its widget library is designed for the old version of the browser, so GWT apps probably will work better in compatibility mode. However lib-gwt-svg is clearly designed to work in IE9 mode, because it requires SVG, only available in this mode. This is why (I think) so few apps currently work: as soon as you start doing GWT UI in IE9 mode, it breaks. Probably the GWT team will have to address IE9 in IE9 mode as a completely new user agent, which is a lot of work.  There are chances most apps will run unmodified once this done. To encourage google engineers, you can vote for <a href="http://code.google.com/p/google-web-toolkit/issues/detail?id=5125">issue 5125</a> to show your interest in the topic (click on the star next to the issue number).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/lib-gwt-svg/ie9-and-lib-gwt-svg/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More on CSS layout of SVG applications</title>
		<link>http://www.vectomatic.org/lib-gwt-svg/more-on-css-layout-of-svg-applications</link>
		<comments>http://www.vectomatic.org/lib-gwt-svg/more-on-css-layout-of-svg-applications#comments</comments>
		<pubDate>Wed, 10 Nov 2010 18:25:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[lib-gwt-svg]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=603</guid>
		<description><![CDATA[<p>lib-gwt-svg-samples and lib-gwt-svg-chess have been fully ported to GWT2.1 and I am releasing today these new versions. These applications were already working with GWT2.1 but they were still using deprecated classes for UI layout. They have been transposed to a 100% CSS-based, strict-mode layout, so the resizing should be faster and the layout more consistent [...]]]></description>
			<content:encoded><![CDATA[<p><a href="../gwt/lib-gwt-svg-samples/lib-gwt-svg-samples.html">lib-gwt-svg-samples</a> and <a href="../gwt/lib-gwt-svg-chess/lib-gwt-svg-chess.html">lib-gwt-svg-chess</a> have been fully ported to <a href="http://code.google.com/webtoolkit/doc/latest/ReleaseNotes.html">GWT2.1</a> and I am releasing today these new versions. These applications were already working with GWT2.1 but they were still using deprecated classes for UI layout. They have been transposed to a 100% CSS-based, strict-mode layout, so the resizing should be faster and the layout more consistent accross browsers (see my <a href="./on-svg-css-and-gwt">previous post</a> on CSS layout for SVG elements in GWT applications). I have also pushed the code of lib-gwt-svg-samples to the <a href="http://repo2.maven.org/maven2/org/vectomatic/">maven central repository</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/lib-gwt-svg/more-on-css-layout-of-svg-applications/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>lib-gwt-svg 0.5 is available</title>
		<link>http://www.vectomatic.org/lib-gwt-svg/lib-gwt-svg-0-5-is-available</link>
		<comments>http://www.vectomatic.org/lib-gwt-svg/lib-gwt-svg-0-5-is-available#comments</comments>
		<pubDate>Sat, 30 Oct 2010 15:29:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[lib-gwt-svg]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=583</guid>
		<description><![CDATA[<p>I am releasing today version 0.5 of lib-gwt-svg. The new version contains many new features.</p> The API has been migrated to include the lastest update from the SVG specification (SVG 1.1 second edition, W3C Working Draft 22 June 2010). See the release notes for details of the API changes. Documentation captured from the SVG specification [...]]]></description>
			<content:encoded><![CDATA[<p>I am releasing today version 0.5 of lib-gwt-svg. The new version contains many new features.</p>
<ul>
<li>The API has been migrated to include the lastest update from the SVG specification (<a href="http://www.w3.org/TR/SVG11/">SVG 1.1 second edition, W3C Working Draft 22 June 2010</a>). See the <a href="../lib-gwt-svg/release-notes">release notes</a> for details of the API changes.</li>
<li>Documentation captured from the SVG specification has been translated to javadoc and injected everywhere in the API. All the non-W3C APIs have been documented. Many links pointing to the W3C spec have been added also.</li>
<li>Exceptions declared in the specification have been mapped to java exceptions and the corresponding throws clauses have been added to the specification. The article on <a href="./lib-gwt-svg-goals-and-design">lib-gwt-svg design</a> has been updated to reflect the design decisions behind these changes.</li>
<li>Many new helper methods have been introduced (xpath utilities, DOM-level 2 related methods, graphical methods).</li>
<li>An SVG validator has been integrated. It is enabled by default and checks at build-time all the SVG passed as SVGResource, ExternalSVGResource and inlined in UiBinder templates. The SVG validator is based on the <a href="http://www.w3.org/TR/2002/WD-SVG11-20020108/SVG.xsd">experimental XML schema</a> provided at W3C with custom fixes and improvements. It is possible to disable validation with the proper annotation or UiBinder attribute.</li>
<li>The library is now based on the <a href="http://code.google.com/webtoolkit/doc/latest/ReleaseNotes.html">GWT 2.1 final</a> release.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/lib-gwt-svg/lib-gwt-svg-0-5-is-available/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>October 2010 svg news</title>
		<link>http://www.vectomatic.org/lib-gwt-svg/october-2010-svg-new</link>
		<comments>http://www.vectomatic.org/lib-gwt-svg/october-2010-svg-new#comments</comments>
		<pubDate>Sun, 03 Oct 2010 14:59:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[lib-gwt-svg]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=564</guid>
		<description><![CDATA[<p>Many exciting news to begin this month of October !</p> <p>First a new release of lib-gwt-svg (version 0.4.9). It fixes a few bugs, adds more classes to provide a a more complete DOM level 2 access, adds a few utility methods. It is based on GWT 2.1 M1. If you need it for other levels, [...]]]></description>
			<content:encoded><![CDATA[<p>Many exciting news to begin this month of October !</p>
<p>First a new release of <a href="../lib-gwt-svg">lib-gwt-svg</a> (version 0.4.9). It fixes a few bugs, adds more classes to provide a a more complete DOM level 2 access, adds a few utility methods. It is based on GWT 2.1 M1. If you need it for other levels, please contact me. More on this topic <a title="lib-gwt-release-notes" href="../lib-gwt-svg/release-notes">here</a>.</p>
<p>Second, I am really happy to announce the release of my first version of <a title="vectomatic2 homepage" href="../vectomatic2">vectomatic2</a>, an online svg viewer. Vectomatic2 is the reason I started lib-gwt-svg in the first place, as I needed a GWT toolkit to manipulate SVG. I plan to make vectomatic2 evolve into an SVG editor, so expect new release in this direction in the coming weeks / months. Vectomatic2 works on all SVG enabled browsers with GWT support (this means: IE9 not yet, but this will come soon hopefully). More on this topic <a title="vectomatic2 svg viewer" href="./vectomatic2-svg-viewer">here</a>.</p>
<p>Third, I am also releasing a new version of my <a title="svg educational games" href="../lib-gwt-svg-edu">SVG games</a>. I redesign them completely to make them more modular, so that I can add new games more easily. I have also solved my resizing issue and come up with <a title="svg and css tips" href="./on-svg-css-and-gwt">a good way to use SVG and CSS</a> to make SVG UI resizable. The maze game is now available for Chrome 7 users (and it is super fast !). I have not been able to port the other games yet as Chrome 7 has still too many SVG bugs (problems with transforms, and use elements with transform). But it will come eventually. More on this topic <a title="svg games reachitecture" href="./svg-games-rearchitecture">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/lib-gwt-svg/october-2010-svg-new/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vectomatic2 SVG viewer</title>
		<link>http://www.vectomatic.org/svg/vectomatic2-svg-viewer</link>
		<comments>http://www.vectomatic.org/svg/vectomatic2-svg-viewer#comments</comments>
		<pubDate>Tue, 28 Sep 2010 09:04:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=519</guid>
		<description><![CDATA[<p>I am very excited to announce the release of my dearest open-source pet project: vectomatic2. It is a rewrite of my earlier vectomatic project along new lines: SVG technology (based on lib-gwt-svg) and GXT UI.</p> <p>It has been tested on the following web browsers:</p> Browser Version Firefox 3.x or greater Opera 9.x or greater Chrome [...]]]></description>
			<content:encoded><![CDATA[<p>I am very excited to announce the release of my dearest open-source pet project: <a title="vectomatic2 homepage" href="../vectomatic/vectomatic2">vectomatic2</a>. It is a rewrite of my earlier <a href="../vectomatic2/vectomatic">vectomatic</a> project along new lines: SVG technology (based on <a title="lib-gwt-svg homepage" href="../lib-gwt-svg">lib-gwt-svg</a>) and <a title="GXT homepage" href="http://www.sencha.com/products/gwt/">GXT UI</a>.</p>
<p>It has been tested on the following web browsers:</p>
<table border="0">
<tbody>
<tr>
<th>Browser</th>
<th>Version</th>
</tr>
<tr>
<td>Firefox</td>
<td>3.x or greater</td>
</tr>
<tr>
<td>Opera</td>
<td>9.x or greater</td>
</tr>
<tr>
<td>Chrome</td>
<td>6.x or greater</td>
</tr>
<tr>
<td>Safari</td>
<td>5.x</td>
</tr>
</tbody>
</table>
<p>Currently the features are limited to those of a viewer:</p>
<ul>
<li>You can open arbitrary <a title="SVG specification" href="http://www.w3.org/TR/SVG11/">SVG</a> files. It is connected to the RSS feed of the great <a title="OpenClipart homepage" href="http://www.openclipart.org">OpenClipart</a> project so that you get a fresh supply of SVG to manipulate.</li>
<li>You can manage several documents at the same time (which will prove useful when the application will allow cut and paste between images).</li>
<li>You can easily scale are rotate the images (which will prove useful when you want to work on particular detail).</li>
</ul>
<p>The plan is to make the application evolve from an SVG viewer to an SVG editor.</p>
<p>If you use an old browser and cannot use it yet, you can watch this video demonstrating the program:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/uBge3bkHnO8?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/uBge3bkHnO8?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/svg/vectomatic2-svg-viewer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVG games rearchitecture</title>
		<link>http://www.vectomatic.org/lib-gwt-svg/svg-games-rearchitecture</link>
		<comments>http://www.vectomatic.org/lib-gwt-svg/svg-games-rearchitecture#comments</comments>
		<pubDate>Tue, 28 Sep 2010 08:55:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[lib-gwt-svg]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=514</guid>
		<description><![CDATA[<p>I have done a major re-architecture of lib-gwt-svg-edu, my educational game project. You can see the results here.</p> <p>The project had become too big to fit under the umbrella of a single maven project: it was slow to compile, the various games where tied to one another, and adding more games seemed problematic. So I [...]]]></description>
			<content:encoded><![CDATA[<p>I have done a major re-architecture of <a href="../lib-gwt-svg-edu">lib-gwt-svg-edu</a>, my educational game project. You can see the results <a title="New lib-gwt-svg-edu application" href="../gwt/lib-gwt-svg-edu/lib-gwt-svg-edu.html">here</a>.</p>
<p>The project had become too big to fit under the umbrella of a single maven project: it was slow to compile, the various games where tied to one another, and adding more games seemed problematic. So I bit the bullet and decided to re-architecture it. I split it into several independent project:</p>
<dl>
<dt><a title="mvn site for lib-gwt-svg-edu-commons" href="../mvn-sites/lib-gwt-svg-edu-commons/">lib-gwt-svg-edu-commons</a></dt>
<dd>This is a library to group miscellaneous classes which are reused in the games.</dd>
<dt><a title="mvn site for lib-gwt-svg-edu-dots" href="../mvn-sites/lib-gwt-svg-edu-dots/">lib-gwt-svg-edu-dots</a>, <a title="mvn site for lib-gwt-svg-edu-puzzle" href="../mvn-sites/lib-gwt-svg-edu-puzzle/">lib-gwt-svg-edu-puzzle</a>, <a title="mvn site for lib-gwt-svg-edu-push" href="../mvn-sites/lib-gwt-svg-edu-push/">lib-gwt-svg-edu-push</a>, <a title="mvn site for lib-gwt-svg-edu-maze" href="../mvn-sites/lib-gwt-svg-edu-maze/">lib-gwt-svg-edu-maze</a></dt>
<dd>These are the game projects per se. They can be run independently or as deferred GWT modules integrated under a root portal GWT application</dd>
<dt><a title="maven site for lib-gwt-svg-edu" href="../mvn-sites/lib-gwt-svg-edu/">lib-gwt-svg-edu</a></dt>
<dd>A desktop oriented portal application</dd>
</dl>
<p>Here are the benefits of the new architecture:</p>
<ul>
<li>It is much easier to add more games</li>
<li>You can work on just your game and focus on it without being bothered by the rest of the project. Notably this has enabled me to do some work on <a title="svg maze game" href="../gwt/lib-gwt-svg-edu-maze/lib-gwt-svg-edu-maze.html">lib-gwt-svg-edu-maze</a> and it now works beautifully on Chrome 7 too ! I hope I can port the other games soon, or at least file more Webkit bugs as I get better understanding of why they do not yet work on Webkit based browsers.</li>
<li>There is a potential to reuse the games in more environments. I plan to make <a title="plasmoid tutorial" href="http://techbase.kde.org/Development/Tutorials/Plasma">plasmoid</a> and <a title="Opera widgets" href="http://widgets.opera.com/">Opera widget</a> version of the games. I also would like to develop a new menu to target mobile devices.</li>
</ul>
<p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/NQTmJmpf3cM?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/NQTmJmpf3cM?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/lib-gwt-svg/svg-games-rearchitecture/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On SVG, CSS and GWT</title>
		<link>http://www.vectomatic.org/lib-gwt-svg/on-svg-css-and-gwt</link>
		<comments>http://www.vectomatic.org/lib-gwt-svg/on-svg-css-and-gwt#comments</comments>
		<pubDate>Tue, 28 Sep 2010 07:38:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[lib-gwt-svg]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=502</guid>
		<description><![CDATA[<p>My CSS-layout lightbulb has finally lit up !</p> <p>One of the most serious problems I had been facing with my SVG apps is that the layout and sizing of SVG elements was never right. The interactions of the SVG width and height attributes, the CSS width and height properties, and the rest of the HTML [...]]]></description>
			<content:encoded><![CDATA[<p>My CSS-layout lightbulb has finally lit up !</p>
<p>One of the most serious problems I had been facing with my SVG apps is that the layout and sizing of SVG elements was never right. The interactions of the SVG width and height attributes, the <a title="CSS2 specification" href="http://www.w3.org/TR/CSS2/">CSS</a> width and height properties, and the rest of the HTML elements baffled me. The behavior was erratic, never identical from one browser to the next, and I had resorted to extreme measures (add window resize handler to programmatically recompute the size of the various elements) to get a half-working and slow layout. Hopefully these days are behind me.</p>
<p>Here are the few rules I have been able to determine which really save the day:</p>
<ol>
<li> Do not layout your applications the old way, using invisible HTML tables. This is EVIL and will especially not work if you put SVG elements into table cells. This means you can throw away most of GWT classic layout pannelry: be gone, all <a title="ComplexPanel javadoc" href="http://google-web-toolkit.googlecode.com/svn/javadoc/2.0/com/google/gwt/user/client/ui/ComplexPanel.html">com.google.gwt.user.client.ui.ComplexPanel</a> subclasses ! Use simple <a title="FlowPanel javadoc" href="http://google-web-toolkit.googlecode.com/svn/javadoc/2.0/com/google/gwt/user/client/ui/FlowPanel.html">com.google.gwt.user.client.ui.FlowPanel</a> or <a title="AbsolutePanel javadoc" href="http://google-web-toolkit.googlecode.com/svn/javadoc/2.0/com/google/gwt/user/client/ui/AbsolutePanel.html">com.google.gwt.user.client.ui.AbsolutePanel </a>with the proper CSS styling.</li>
<li>Forget quirks mode and go to CSS strict mode. This means that all you applications should use a doctype declaration. HTML 5 seems to be the one to use (this will prepare your app for IE9 compatibility):
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #00bbdd;">&lt;!DOCTYPE html&gt;</span></div></div>
</li>
<li>Use CSS positionning attributes intensively: left, right, top, down, along with <a href="http://www.w3schools.com/Css/css_positioning.asp">absolute positionning</a> and percentages. This works beautifully and most importantly cross-browsers</li>
</ol>
<p>To see all these rules in action, you can look at the new version of <a href="../gwt/lib-gwt-svg-edu/lib-gwt-svg-edu.html">lib-gwt-svg-edu</a> games. Resizing is much faster, the application can scale to any device size. It also really makes sense now to use <a href="../mvn-sites/lib-gwt-svg/apidocs/org/vectomatic/dom/svg/ui/SVGPushButton.html" title="SVGPushButton javadoc">SVG push buttons</a> to control your app (instead of classic image-based buttons), as they will scale properly and be rendered at your device top-resolution</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/lib-gwt-svg/on-svg-css-and-gwt/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

