<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Cyblogic Blog</title>
    <link>http://www.cyblogic.com/en/blog/posts.rss</link>
    <description></description>
    <language></language>
    <pubDate>Thu, 01 Jul 2010 19:12:51 -0000</pubDate>
    <lastBuildDate>Thu, 11 Mar 2010 18:41:46 -0000</lastBuildDate>
    <webMaster>info@cyblogic.com</webMaster>
    <ttl>5</ttl>
    <item>
      <title>Pacu 1.2.2 - Stable like a beech tree (bugfix release)</title>
      <link>http://www.cyblogic.com/en/blog/posts/9-pacu-1-2-2-stable-like-a-beech-tree-bugfix-release</link>
      <description>
        <![CDATA[<p>After 3 weeks of bug fixing, I'm happy to announce the immediate availability of Pacu 1.2.2. The most crucial bugfix closes crashes on haXe files. Furthermore syntax highlighting got improved for all languages, mostly affecting Ruby and haXe (see also the notes below on Textmate themes). On OS X you can now use the Finder to open files. Pacu delivers for most of the supported file types icons and needed Launch Service integration.
</p>
<h3>Changelog Summary</h3>
<ul style="margin-bottom: 10px;">
<li>improved detection of haXe compiler messages</li>
<li>improved conversion of the Textmate themes included in Pacu</li>
<li>newly supported language: Cucumber</li>
<li>new keyboard sugar: allow moving tabs by keyboard shortcuts</li>
<li>new feature: allow to open files by default application form the context menu of the file browser</li>
<li>fixed: haXe code browsing was killing Pacu</li>
<li>fixed: mouse cursor difficult to see on dark background</li>
</ul>
<h3>OS X Specific Changes</h3>
<ul style="margin-bottom:10px;">
<li>new feature: better integration with launch services</li>
<li>fixed: make sub-dialogs in the preference dialog show correctly</li>
<li>fixed: showing keyboard shortcuts correctly in the menus</li>
</ul>
<h3>Textmate Theme Converter</h3>
<p>
 If you have Textmate themes you would like to use, take a look at <a href="http://www.cyblogic.com/en/charcoal/theme/converter">our theme converter</a>. Simply paste the tmTheme file into the form and save the resulting mytheme.js in /Where/Is/Pacu/shared/charcoal/themes (Linux) or
/Applications/Pacu.app/Contents/Resources/charcoal/themes (Mac). Restart Pacu and enjoy!
</p>
<h3>Future Outlook: Pacu 1.3</h3>
<p>
The next version of Pacu will focus on productivity features: snippets, auto-completion and code insight.
Before that there is a version 1.2.3 planned adding highlighting and code browsing for more languages.
</p>
<h3>Curious: Pacu is Green</h3>
<a href="http://www.cyblogic.com/frank/urkunde.jpg"  style="float:left;"><img src="http://www.cyblogic.com/frank/urkunde_klein.jpg" width="123" height="174" style="margin-right: 10px; margin-top: 10px;" /></a>
<p>
My electrical utility provider informed me, that I saved CO2 emissions equivalent to the CO2 absorption of 52 trees. Thereby I can claim Pacu is build in an environmentally sustained way. Incidentally I know, that it also killed some birds. Beware the magnificent <a href="http://www.luftbild-uckermark.de/service/land1.html">100m wind turbines</a>. They develop killing speeds at the edges of their rotor blades! So if you like trees, or hate birdies, buy Pacu!-)
</p>
<br class="left" />
]]>
      </description>
      <pubDate>Thu, 01 Jul 2010 19:12:51 -0000</pubDate>
      <guid>http://www.cyblogic.com/en/blog/posts/9-pacu-1-2-2-stable-like-a-beech-tree-bugfix-release</guid>
    </item>
    <item>
      <title>Getting started with haXe/Flash</title>
      <link>http://www.cyblogic.com/en/blog/posts/8-getting-started-with-haxe-flash</link>
      <description>
        <![CDATA[<p>
If you never heard about <a href="http://www.haxe.org/">haXe</a> before, you definitely missed the interception of one of the most powerful  programming languages to date. It compiles extremely fast, it is light-weight, it focuses on generating safe and correct code. It has very accurate error reporting. It is neither strict nor duck typed, but instead delivers the best of both. It gives you back the feeling of the <span style="background-color:#0000FF;color:#FFFF00;font-weight: bold;font-family: monospace;">Turbo</span>, which was lost long ago. It makes you consider writing code for fun!
</p>
<p>
Is it only about Flash? No, of course not. And yes, there are alternative implementations of the Flash APIs. For instance look at <a href="http://gamehaxe.com/category/hxcpp/">neash</a> or <a href="http://lightspark.sf.net/">lightspark</a>.
</p>
<a href="http://www.cyblogic.com/frank/ltree.html" target="_blank"><img src="http://www.cyblogic.com/frank/ltree.png" width="300" height="399" style="float:left;" /></a>
<p>
Ok, here it comes: My first baby steps in Flash coding. The first demo taught me how to use the <a href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/display/Graphics.html">flash.display.Graphics</a> API and the basics of <a href="http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/">display lists</a> (n-ary trees actually). Can you get a L-System tree generator in 23 lines of code?
</p>
<p>
The build options for the haxe compiler (compile.hxml) are as follows:
<pre style="background-color:#EFEFEF;">-swf9 ltree.swf
-main TreeSprite
-swf-header 300:400:10:FFFFFF
</pre>
Click on the image to see how to embed the flash code into your web site.
</p>
<br class="left" />
<pre style="color:#000000;background-color:#EFEFEF;font-weight:normal;text-decoration:none;"><span style="color:#000000;font-weight:bold;text-decoration:none;">class</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000080;font-weight:normal;text-decoration:none;">TreeSprite</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:bold;text-decoration:none;">extends</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">flash</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">display</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">Sprite</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> {</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:bold;text-decoration:none;">static</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:bold;text-decoration:none;">function</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000080;font-weight:normal;text-decoration:none;">main</span><span style="color:#000000;font-weight:normal;text-decoration:none;">() {</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:bold;text-decoration:none;">var</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000080;font-weight:normal;text-decoration:none;">stage</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">flash</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">Lib</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">current</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">stage</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">flash</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">Lib</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">current</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">addChild</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:bold;text-decoration:none;">new</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">TreeSprite</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">stage</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">stageWidth</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">stage</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">stageHeight</span><span style="color:#000000;font-weight:normal;text-decoration:none;">))</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">}</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:bold;text-decoration:none;">public</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:bold;text-decoration:none;">function</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#800000;font-weight:normal;text-decoration:none;">new</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">w</span><span style="color:#000000;font-weight:normal;text-decoration:none;">: </span><span style="color:#800000;font-weight:normal;text-decoration:none;">Int</span><span style="color:#000000;font-weight:normal;text-decoration:none;">, </span><span style="color:#000000;font-weight:normal;text-decoration:none;">h</span><span style="color:#000000;font-weight:normal;text-decoration:none;">: </span><span style="color:#800000;font-weight:normal;text-decoration:none;">Int</span><span style="color:#000000;font-weight:normal;text-decoration:none;">) {</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:bold;text-decoration:none;">super</span><span style="color:#000000;font-weight:normal;text-decoration:none;">()</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">graphics</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">lineStyle</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">2</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">0x008000</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">treeGen</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">w</span><span style="color:#000000;font-weight:normal;text-decoration:none;">/</span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">2</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">h</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">100</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">-</span><span style="color:#000000;font-weight:normal;text-decoration:none;">Math</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">PI</span><span style="color:#000000;font-weight:normal;text-decoration:none;">/</span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">2</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">5</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">3</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">}</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:bold;text-decoration:none;">private</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:bold;text-decoration:none;">function</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000080;font-weight:normal;text-decoration:none;">treeGen</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">ux</span><span style="color:#000000;font-weight:normal;text-decoration:none;">: </span><span style="color:#800000;font-weight:normal;text-decoration:none;">Float</span><span style="color:#000000;font-weight:normal;text-decoration:none;">, </span><span style="color:#000000;font-weight:normal;text-decoration:none;">uy</span><span style="color:#000000;font-weight:normal;text-decoration:none;">: </span><span style="color:#800000;font-weight:normal;text-decoration:none;">Float</span><span style="color:#000000;font-weight:normal;text-decoration:none;">, </span><span style="color:#000000;font-weight:normal;text-decoration:none;">l</span><span style="color:#000000;font-weight:normal;text-decoration:none;">: </span><span style="color:#800000;font-weight:normal;text-decoration:none;">Float</span><span style="color:#000000;font-weight:normal;text-decoration:none;">, </span><span style="color:#000000;font-weight:normal;text-decoration:none;">phi</span><span style="color:#000000;font-weight:normal;text-decoration:none;">: </span><span style="color:#800000;font-weight:normal;text-decoration:none;">Float</span><span style="color:#000000;font-weight:normal;text-decoration:none;">, </span><span style="color:#000000;font-weight:normal;text-decoration:none;">n1</span><span style="color:#000000;font-weight:normal;text-decoration:none;">: </span><span style="color:#800000;font-weight:normal;text-decoration:none;">Int</span><span style="color:#000000;font-weight:normal;text-decoration:none;">, </span><span style="color:#000000;font-weight:normal;text-decoration:none;">n2</span><span style="color:#000000;font-weight:normal;text-decoration:none;">: </span><span style="color:#800000;font-weight:normal;text-decoration:none;">Int</span><span style="color:#000000;font-weight:normal;text-decoration:none;">) {</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:bold;text-decoration:none;">var</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000080;font-weight:normal;text-decoration:none;">vx</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">ux</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">+</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">l</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">*</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">Math</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">cos</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">phi</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:bold;text-decoration:none;">var</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000080;font-weight:normal;text-decoration:none;">vy</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">uy</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">+</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">l</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">*</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">Math</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">sin</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">phi</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">graphics</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">moveTo</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">ux</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">uy</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">graphics</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">lineTo</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">vx</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">vy</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:bold;text-decoration:none;">if</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> (</span><span style="color:#000000;font-weight:normal;text-decoration:none;">n1</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">!=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">1</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">treeGen</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">vx</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">vy</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#ff00ff;font-weight:normal;text-decoration:none;">0.8</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">*</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">l</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">phi</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">-</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">Math</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">PI</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">/</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">45</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">n1</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">-</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">1</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">n2</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:bold;text-decoration:none;">if</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> (</span><span style="color:#000000;font-weight:normal;text-decoration:none;">n2</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">!=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">1</span><span style="color:#000000;font-weight:normal;text-decoration:none;">) {</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">treeGen</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">vx</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">vy</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#ff00ff;font-weight:normal;text-decoration:none;">0.4</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">*</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">l</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">phi</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">-</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">Math</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">PI</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">/</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">4</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">5</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">n2</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">-</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">1</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">treeGen</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">vx</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">vy</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#ff00ff;font-weight:normal;text-decoration:none;">0.4</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">*</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">l</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">phi</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">+</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">Math</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">PI</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">/</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">4</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">5</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">n2</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">-</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#0000ff;font-weight:normal;text-decoration:none;">1</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">}</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">}</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">}</span>
</pre>
]]>
      </description>
      <pubDate>Thu, 01 Jul 2010 00:53:46 -0000</pubDate>
      <guid>http://www.cyblogic.com/en/blog/posts/8-getting-started-with-haxe-flash</guid>
    </item>
    <item>
      <title>Pacu 1.2-1</title>
      <link>http://www.cyblogic.com/en/blog/posts/7-pacu-1-2-1</link>
      <description>
        <![CDATA[Lots of useful bugfixes. Catch it from the downloads section.]]>
      </description>
      <pubDate>Mon, 07 Jun 2010 22:30:54 -0000</pubDate>
      <guid>http://www.cyblogic.com/en/blog/posts/7-pacu-1-2-1</guid>
    </item>
    <item>
      <title>Pacu 1.2 - haXified and cocoanized</title>
      <link>http://www.cyblogic.com/en/blog/posts/6-pacu-1-2-haxified-and-cocoanized</link>
      <description>
        <![CDATA[<p>I'm happy to announce the immediate availability of <a href="http://www.cyblogic.com/en/products/1-pacu">Pacu 1.2</a>. This version is mainly a bug fix and feature consolidation release. Besides lots of bug fixes, it brings two major improvements: Wider language support for syntax highlighting and a more native build for OS X. The <a href="http://github.com/unclewerner/charcoal">Charcoal</a> highlighting engine was extended to read case-insensitive grammars and adds supports for the following languages: Actionscript 3, haXe, CSS2, Tex/LaTex and SQL. For the <a href="http://haxe.org/">haXe language</a> there is a special feature included: Code Browsing. To open up the code browser goto the "View" menu. If you are a haXe user, try it out and let me know if you like it!</p>
<p>On the platform support side, Pacu now ships with a "fat" version of the latest <a href="http://qt.nokia.com/">Qt 4.7-beta/Cocoa</a> for Mac. It took me a whopping one-and-a-half weeks to port Pacu to this new version of Qt and thereby enable Cocoa, 64bit and PPC support. On the other hand I must think: How long would it haven taken to port such an application from Objective-C/Cocoa to Linux? (Ahh, right, you weren't supposed to leave the <a href="http://www.geek.com/wp-content/uploads/2010/04/apple_restricted.jpg">walled garden</a>.) Qt still rocks, even if I miss the visionary drive it once had. And yes you read right, PowerPC support, although I don't own one myself. If you are a PowerPC user, let me know how it works out for you.</p>
]]>
      </description>
      <pubDate>Thu, 27 May 2010 21:00:55 -0000</pubDate>
      <guid>http://www.cyblogic.com/en/blog/posts/6-pacu-1-2-haxified-and-cocoanized</guid>
    </item>
    <item>
      <title>Using Cairo/Pango with Qt (on Linux/X11)</title>
      <link>http://www.cyblogic.com/en/blog/posts/5-using-cairo-pango-with-qt-on-linux-x11</link>
      <description>
        <![CDATA[<p>Can I render widgets with Cairo in Qt? I'm probably not the first one asking this question. Cairo gained much momentum in the last few years. It now delivers well maintained graphics backends for xlib/xrender, Quartz and even the win32 legacy. I will show for short on how to use Cairo on a QPixmap on Linux/Xorg. In principle it should be the same easy on the other platforms.</p>

<p>Linker flags for your qmake *.pro file:
<pre style="background-color:#EFEFEF;">
unix:INCLUDEPATH += /usr/include/glib-2.0 /usr/lib/glib-2.0/include /usr/include/cairo /usr/include/pango-1.0
unix:LIBS += -L/usr/lib -lcairomm-1.0 -lcairo -lpangocairo-1.0
</pre>
</p>

<p>Qt/C++ code to obtaining a Cairo surface to draw onto:</p>
<pre style="color:#000000;background-color:#EFEFEF;font-weight:normal;text-decoration:none;">
<span style="color:#000000;font-weight:normal;text-decoration:none;">buf_</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">QPixmap</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">width</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">height</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">buf_</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">fill</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">Qt</span><span style="color:#000000;font-weight:normal;text-decoration:none;">::</span><span style="color:#000000;font-weight:normal;text-decoration:none;">white</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>

<span style="color:#800000;font-weight:normal;text-decoration:none;">const</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">QX11Info</span><span style="color:#000000;font-weight:normal;text-decoration:none;">&amp;</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">info</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">buf_</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">x11Info</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">Display</span><span style="color:#000000;font-weight:normal;text-decoration:none;">*</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">display</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">info</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">display</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">Drawable</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">drawable</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">buf_</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">handle</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">Screen</span><span style="color:#000000;font-weight:normal;text-decoration:none;">*</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">screen</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">XScreenOfDisplay</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">display</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">info</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">screen</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">Visual</span><span style="color:#000000;font-weight:normal;text-decoration:none;">*</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">visual</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:bold;text-decoration:none;">reinterpret_cast</span><span style="color:#000000;font-weight:normal;text-decoration:none;">&lt;</span><span style="color:#000000;font-weight:normal;text-decoration:none;">visual</span><span style="color:#000000;font-weight:normal;text-decoration:none;">&gt;</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">info</span><span style="color:#000000;font-weight:normal;text-decoration:none;">.</span><span style="color:#000000;font-weight:normal;text-decoration:none;">visual</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">XRenderPictFormat</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">*</span><span style="color:#000000;font-weight:normal;text-decoration:none;">format</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">XRenderFindVisualFormat</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">display</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">visual</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>

<span style="color:#000000;font-weight:normal;text-decoration:none;">surface_</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">cairo_xlib_surface_create_with_xrender_format</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">display</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">drawable</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">screen</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">format</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">width</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">,</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">height</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
<span style="color:#000000;font-weight:normal;text-decoration:none;">cr_</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">=</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">cairo_create</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">surface_</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>
</pre>
<p>Where surface_ is of type  cairo_surface_t* and cr_ of type cairo_t*.</p>
<p>To short of an explanation? Check out the entire example project from <a href="http://www.cyblogic.de/~frank/download/cairoDemo.tar.gz">here</a>. Run the usual "qmake && make" on it to get it compile. It simply renders the contents of the file provided as first command line argument onto a Cairo surface. 
</p>
]]>
      </description>
      <pubDate>Thu, 11 Mar 2010 18:41:46 -0000</pubDate>
      <guid>http://www.cyblogic.com/en/blog/posts/5-using-cairo-pango-with-qt-on-linux-x11</guid>
    </item>
  </channel>
</rss>
