<?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</title>
	<atom:link href="http://www.vectomatic.org/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>Update of lib-gwt-file</title>
		<link>http://www.vectomatic.org/google-web-toolkit/update-of-lib-gwt-file</link>
		<comments>http://www.vectomatic.org/google-web-toolkit/update-of-lib-gwt-file#comments</comments>
		<pubDate>Fri, 02 Dec 2011 17:22:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=779</guid>
		<description><![CDATA[<p>I am releasing today a new version of lib-gwt-file, to try to keep up with the specification and recent evolution in the W3C draft specification. The highlight of this new version are as follows:</p> Migration of the interfaces to the lastest W3C file API draft (W3C Working Draft 20 October 2011), except for error management [...]]]></description>
			<content:encoded><![CDATA[<p>I am releasing today a new version of <a href="./lib-gwt-file" title="GWT File API">lib-gwt-file</a>, to try to keep up with the specification and recent evolution in the W3C draft specification. The highlight of this new version are as follows:</p>
<ul>
<li>
Migration of the interfaces to the lastest W3C file API draft (<a href="http://www.w3.org/TR/FileAPI/" title="W3C Working Draft 20 October 2011">W3C Working Draft 20 October 2011</a>), except for error management which still relies on <a href="http://www.w3.org/TR/2010/WD-FileAPI-20101026/#dfn-fileerror" title="FileError">FileError</a> (as the new error management classes do not seem to be implemented by webkit or FF yet)</li>
<li> Addition of <a href="./mvn-sites/lib-gwt-file/apidocs/index.html">javadoc</a> for most of the existing methods (the doc is a mix from MDN documentation, extracts from the spec and my own comments).</li>
<li>Support for typed arrays from the lastest Khronos Group specification (<a href="http://www.khronos.org/registry/typedarray/specs/latest/" title="typed arrays">Editor’s Draft 19 October 2011</a>)</li>
<li>
Fixed bug in DropPanel (incorrect firing of dragenter and dragleave if the DropPanel contains nested elements)</li>
</ul>
<p>I have also upgraded my sample program significantly, with a focus on two areas:</p>
<ul>
<li> Error management, which cannot be written in a totally cross-platform way yet, as FF needs to be treaded as a special case (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=701154" title="bug 701154">https://bugzilla.mozilla.org/show_bug.cgi?id=701154</a>). Expect more changes in this area as the spec has evolved a lot in this area, though browsers have not implemented it yet (and neither have I).</li>
<li>Memory management: it seems it is a bad idea to create a new FileReader for every file being read, as this create memory leaks. The sample using a queue base approach and reuses the same reader.</li>
</ul>
<p>You can find all the details about the new version in the <a href="./lib-gwt-file/release-notes" title="Release notes">release notes</a>.</p>
<p>The sample is available <a href="./gwt/lib-gwt-file-test/lib-gwt-file-test.html" title="GWT File API sample">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/google-web-toolkit/update-of-lib-gwt-file/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>Availability of lib-gwt-file 0.2</title>
		<link>http://www.vectomatic.org/google-web-toolkit/availability-of-lib-gwt-file-0-2</link>
		<comments>http://www.vectomatic.org/google-web-toolkit/availability-of-lib-gwt-file-0-2#comments</comments>
		<pubDate>Sat, 24 Sep 2011 19:26:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=738</guid>
		<description><![CDATA[<p>lib-gwt-file 0.2 is now available. It does not provide new functionality with regards to the previous release, but is a migration to GWT 2.4.0.</p> Changes in this release <p>As GWT 2.4.0 now provides native support for HTML 5 drag-and-drop, lib-gwt-file 0.2 uses these native event classes instead of its own, wherever possible. lib-gwt-file&#8217;s own drag-and-drop [...]]]></description>
			<content:encoded><![CDATA[<p>lib-gwt-file 0.2 is now available. It does not provide new functionality with regards to the previous release, but is a migration to GWT 2.4.0.</p>
<h2>Changes in this release</h2>
<p>As GWT 2.4.0 now provides native support for HTML 5 drag-and-drop, lib-gwt-file 0.2 uses these native event classes instead of its own, wherever possible. lib-gwt-file&#8217;s own drag-and-drop event classes are deprecated and will be removed in the next release of the library. Please see the <a href="../lib-gwt-file/release-notes" title="lib-gwt-file release notes">release notes</a> for the list of classes being deprecated.</p>
<h2>Migration guide</h2>
<p>To migrate to lib-gwt-file 0.2, replace the imports to all lib-gwt-file event classes related to drag-and-drop and replace them with GWT 2.4.0 equivent classes. This is fairly easy as all classes have the same name (you only need to change the package). There is one exception to this rule. GWT 2.4.0 DataTransfer class does not expose any file-related APIs, as GWT 2.4.0 does not yet support the W3C file API. I have thus provided an extended overlay class wrapper, <a href="../mvn-sites/lib-gwt-file/apidocs/org/vectomatic/dnd/DataTransferExt.html" title="DataTransferExt javadoc">DataTransferExt</a>, which adds the missing functionality. Thus, to use it, replace code like this:</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">FileList files <span style="color: #339933;">=</span> event.<span style="color: #006633;">getDataTransfer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getFiles</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>with:</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">FileList files <span style="color: #339933;">=</span> event.<span style="color: #006633;">getDataTransfer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #339933;">&lt;</span>DataTransferExt<span style="color: #339933;">&gt;</span>cast<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getFiles</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<h2>lib-gwt-file-test sample</h2>
<p>The <a href="../gwt/lib-gwt-file-test/lib-gwt-file-test.html" title="lib-gwt-file test">lib-gwt-file-test</a> has been migrated to the new API. Support has been added for PNG files, in order to demonstrate the readAsBinaryString method. However users should be aware that further changes in this area are very likely, as <a href="http://dev.w3.org/2006/webapi/FileAPI/" title="W3C Editor’s Draft 9 September 2011">September 2011 W3C draft</a> proposes new changes to the specification.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/google-web-toolkit/availability-of-lib-gwt-file-0-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Availability of lib-gwt-svg 0.5.3 and other announcements</title>
		<link>http://www.vectomatic.org/lib-gwt-svg/availability-of-lib-gwt-svg-0-5-3-and-other-announcements</link>
		<comments>http://www.vectomatic.org/lib-gwt-svg/availability-of-lib-gwt-svg-0-5-3-and-other-announcements#comments</comments>
		<pubDate>Sat, 10 Sep 2011 09:05:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[lib-gwt-svg]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=705</guid>
		<description><![CDATA[<p>Hi,</p> <p>Concomitantly to the release of GWT 2.4, I am releasing a new version of lib-gwt-svg (0.5.3). For a detailed list of changes, see the release notes. This new version, besides providing compatibility with GWT 2.4, provides improvements in two areas:</p> <p>It supports SVG paint (colors, named colors, gradients, patterns) and dash-arrays by providing parsers [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Concomitantly to the release of GWT 2.4, I am releasing a new version of lib-gwt-svg (0.5.3). 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, besides providing compatibility with GWT 2.4, provides improvements in two areas:</p>
<p>It supports SVG paint (colors, named colors, gradients, patterns) and dash-arrays by providing parsers for these data types. A <a href="./svg-paint" title="SVG paint and stroke with lib-gwt-svg">dedicated post</a> details these new capabilities.</p>
<p>It incorporates a patch <a href="https://groups.google.com/group/lib-gwt-svg/t/12dd003e87bda61c" title="creating svg element subclasses">proposed by Michael Allan of zelea.com</a> to let lib-gwt-svg support subclassing or wrapper types. You can now write constructs like:</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">public class MyCircle extends OMSVGCircleElement {<br />
}<br />
MyCircle c = new MyCircle();<br />
OMSVGSVGElement svg = new OMSVGSVGElement();<br />
svg.appendChild(c);</div></div>
<p>I am also releasing a new version of lib-gwt-svg-chess, which is based on the latest version (0.6) of the carballo chess engine. <a href="http://www.alonsoruibal.com/">Alberto Alonso Ruibal</a>, the author of this engine, has modified it to make it compatible with GWT. Thus, as of this release, I will no longer maintain and distribute my own GWT version of it (carballo-gwt) and use the official version directly.</p>
<p>In parallel, the IE9 compatibility picture continues to improve: my chess game now runs in IE9+, and three out of four of my educational games run in IE9+ (dots is still not working). The only two remaining hurdles are lack of SVG animation and lack of XPath support in IE9+.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/lib-gwt-svg/availability-of-lib-gwt-svg-0-5-3-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>lib-gwt-svg 0.5.2 is available with IE9 compatibility</title>
		<link>http://www.vectomatic.org/lib-gwt-svg/lib-gwt-svg-0-5-2-is-available-with-ie9-compatibility</link>
		<comments>http://www.vectomatic.org/lib-gwt-svg/lib-gwt-svg-0-5-2-is-available-with-ie9-compatibility#comments</comments>
		<pubDate>Fri, 06 May 2011 19:48:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[lib-gwt-svg]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=673</guid>
		<description><![CDATA[<p>With the release of GWT 2.3.0, IE9 is now part of the browsers officially supported by GWT. Since IE9 has SVG support, I have updated lib-gwt-svg to take advantage of it. The samples have been migrated and most of them work, except for the usual SMIL animation which is not supported by IE9.</p> <p>Actually the [...]]]></description>
			<content:encoded><![CDATA[<p>With the release of GWT 2.3.0, IE9 is now part of the browsers officially supported by GWT. Since IE9 has SVG support, I have updated lib-gwt-svg to take advantage of it. The <a href="../lib-gwt-svg/samples">samples</a> have been migrated and most of them work, except for the usual <a href="http://www.w3.org/TR/smil-animation/">SMIL animation</a> which is not supported by IE9.</p>
<p>Actually the port did not require a lot of work once GWT 2.3.0 was available. I have changed the way lib-gwt-svg integrates with UiBinder, because this integration was based on XPaths and it turns out IE9 does not support XPath (neither does the current IE10), so be carefull if you rely on the DOMHelper XPath methods for your app.</p>
<p>There are certainly still problems with lib-gwt-svg IE9 support. I have not been able to get my other, more advanced apps to run correctly (no chess, no educational games). I need to do some more debugging to figure out why (problems on my side or IE9 bugs). However, since the samples work now correctly, I considered this to be a worthy milestone and thought I would release it. Anyhow, support for GWT 2.3.0 was needed anyway.</p>
<p>Beyond IE9 support, there are a few extra goodies, such as an API to fetch external XML resources using IFrames and XmlHttpRequests, see the <a href="../lib-gwt-svg/release-notes">release notes</a> for details.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/lib-gwt-svg/lib-gwt-svg-0-5-2-is-available-with-ie9-compatibility/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A file API for GWT</title>
		<link>http://www.vectomatic.org/google-web-toolkit/a-file-api-for-gwt</link>
		<comments>http://www.vectomatic.org/google-web-toolkit/a-file-api-for-gwt#comments</comments>
		<pubDate>Tue, 29 Mar 2011 19:34:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=653</guid>
		<description><![CDATA[<p>This post presents lib-gwt-file, a library which encapsulates the W3C File API and the HTML5 drag-and-drop interfaces.</p> <p>Let me begin by explaining why I developed this library and how I expect it to evolve. I am currently developing an SVG editor based on GWT and lib-gwt-svg and to be truly useful, users need to be [...]]]></description>
			<content:encoded><![CDATA[<p>This post presents <a href="../lib-gwt-file">lib-gwt-file</a>, a library which encapsulates the W3C File API and the HTML5 drag-and-drop interfaces.</p>
<p>Let me begin by explaining why I developed this library and how I expect it to evolve. I am currently developing an SVG editor based on GWT and lib-gwt-svg and to be truly useful, users need to be able to update the drawings they have on their own computer. I came across a <a title="Using files from web applications" href="https://developer.mozilla.org/en/using_files_from_web_applications">mozilla article</a> presenting the file API support they have built into FF3.6 and FF4. This was exactly what I needed, except I needed it in GWT form. I read the specs (<a title="W3C file API" href="http://dev.w3.org/2006/webapi/FileAPI/">W3C file API</a> and <a title="Drag and drop" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html">HTML drag-and-drop</a>) and implemented what I needed to cover my needs. It then appeared to me that other developers would probably have this need too and that it would be mutually beneficial to share this code.</p>
<p>I do not expect this library to live a very long life. The specifications are still in draft stage, but the GWT team will probably implement it in a not too distant future (2012 ?) as the feature is general enough and important enough to make it into GWT; they are probably waiting for the spec to mature a bit and the other browser vendors (opera, microsoft) to implement it. Until they do, you can rely on lib-gwt-file to implement your local file open functionality. Migration to the official GWT API once it exists should not be too difficult.</p>
<p>At the moment the lib is not very well documented or tested (version 0.1), but I am using it and it works for me. You can look at the <a href="../lib-gwt-file">project page</a> for details. There is a <a href="../gwt/lib-gwt-file-test/lib-gwt-file-test.html">sample</a> with code source available. It runs in FF4 and Chromium. Note that the code is compatible with GWT UiBinder: it declares new event classes and you can use the standard UiBinder event hookup facility to automatically register for these events (this is what the sample does).</p>
<p>&nbsp;</p>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 272px; width: 1px; height: 1px; overflow: hidden;">documented</div>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/google-web-toolkit/a-file-api-for-gwt/feed</wfw:commentRss>
		<slash:comments>3</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>Performance improvements of GWT2.1 for long-based computations</title>
		<link>http://www.vectomatic.org/lib-gwt-svg/performance-improvements-of-gwt2-1-for-long-based-computations</link>
		<comments>http://www.vectomatic.org/lib-gwt-svg/performance-improvements-of-gwt2-1-for-long-based-computations#comments</comments>
		<pubDate>Wed, 10 Nov 2010 18:33:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[lib-gwt-svg]]></category>

		<guid isPermaLink="false">http://localhost/vectomatic/?p=605</guid>
		<description><![CDATA[<p>The port of lib-gwt-svg-chess to GWT 2.1 has highlighted an interesting fact. The application makes heavy use of java longs, notably in the attack tables of the carballo chess engines. At the time the code was written, the time to initialize the attack tables turned out to be so long (around two and a half [...]]]></description>
			<content:encoded><![CDATA[<p>The port of <a href="../lib-gwt-svg-chess">lib-gwt-svg-chess</a> to GWT 2.1 has highlighted an interesting fact. The application makes heavy use of java longs, notably in the attack tables of the carballo chess engines. At the time the code was written, the time to initialize the attack tables turned out to be so long (around two and a half minutes) that I had to pre-compute them, causing a big one-time penalty in the application download size (it was a 5MB download, somewhat mitigated by the use of HTTP deflate header, see my <a href="./a-chess-engine-in-javascript-performance-issues">previous post</a> of the topic). Since then, GWT 2.1 has introduced a revamped emulation of java longs, and browsers javascript engines are now much faster. I have been able to get rid of the pre-computed tables and compute them on the fly. The execution time for this part of the code is now:</p>
<table border="0">
<tbody>
<tr>
<th>Browser</th>
<th>Ellapsed time</th>
</tr>
<tr>
<td>Firefox 3.6</td>
<td>23s</td>
</tr>
<tr>
<td>Opera 10.63</td>
<td>14s</td>
</tr>
<tr>
<td>Chrome 7</td>
<td>0.5s</td>
</tr>
<tr>
<td>Firefox 4.0b7</td>
<td>3s</td>
</tr>
</tbody>
</table>
<p>This certainly beats downloading 4MB of attack tables. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectomatic.org/lib-gwt-svg/performance-improvements-of-gwt2-1-for-long-based-computations/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

