<?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, 21 Oct 2010 16:07:35 -0000</pubDate>
    <lastBuildDate>Mon, 07 Jun 2010 22:30:55 -0000</lastBuildDate>
    <webMaster>info@cyblogic.com</webMaster>
    <ttl>5</ttl>
    <item>
      <title>Pacu 1.2.3 - Lions eat no fish</title>
      <link>http://www.cyblogic.com/en/blog/posts/11-pacu-1-2-3-lions-eat-no-fish</link>
      <description>
        <![CDATA[<p>Biggest news first: <b>Pacu is still alive and it now shows haXe code tips</b>.</p>
<p><img src="http://www.cyblogic.com/data/attachments/original/haXe_Codetips.png" width="399" height="244"/></p>
<p>It was about 2.5 months ago that I planned to release a small bugfix release (keyboard fixes, etc.), but it couldn't come more different than planned... Running out of money, looking for a new day job (my wife got one first!), moving to a new city. But sometimes some distraction is the best thing that can happen to a software project. Being on the road a lot, I spend much reading on my <a href="http://en.wikipedia.org/wiki/File:ASUS_Eee_PC_900_0010.JPG">little netbook</a> and I got some critical ideas I was missing on before.<p/>
<p>The most critical idea: How to implement modularity and allow extensibility for users. I got a friendly pointer to <a href="http://code.google.com/p/zen-coding/">Zen coding</a> (thanks!) and I started crafting generic scripting interfaces to the dungeons of Pacu. The work so far culminated into <a href="http://github.com/unclefrank/libcodetips">libcodetips</a>. And what the hack are "codetips"? Well that term comes from haXe and it serves as the first application of Pacu's shiny new extensions interface. Codetips are basicly dumps of symbol information directly out of the compilation process giving a certain file path and byte position. You have to invoke the haxe compiler as always but give additionally the "--display" option. The details are described <a href="http://ncannasse.fr/blog/haxe_completion">here</a>.</p>
<p>The difficulty with codetips was, I couldn't do it like <a href="http://code.google.com/p/gedit-haxe-completion/">gedit</a>. Gedit is swapping files to provide haXe with the latest editing state, yet retain the old versions for files which are not saved yet. The problem with that: Pacu could have open 100 of files and then crash in the middle (e.g. out-of-memory, power failure) and you could sue me for destroying 50 of your files... (AFAIK there is no warranty disclaimer in German law). Anyway, doing it commercially I probably have to do it right. And therefore I got another critical idea: <a href="http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/UsingDynamicLibraries.html">Library interposition!</a></p>
<p>The runtime linkers of Linux and OS X differ considerably. OS X for instance encapsulates each library's symbols in its own namespace, while on Linux the symbol reside in a global namespace. I guess the Cocoa guys need this, because Objective-C still not supports namespaces. So the idea was to hijack the system traps of the haxe compiler which go through the system library using library interposition and thereby inject file states, without changing anything on disk. And yes, it should work on both OS X and Linux with the same code base. So being bored between refurbishing my old kitchen I actually tried it and surprise: It's much simpler than someone would expect. The main reason: OS X includes a fully compatible libdl in /usr/lib/libSystem.dylib! (That I figured after trying hundred platform specific ways... Simply take the Linux code, it's working? Ugh... Strange dream I thought.) To make the long story short: The devil lies in the devil, but I couldn't stop once I've started. The entire solution is now part of <a href="http://github.com/unclefrank/libcodetips">libcodetips</a>. Check it out, if you like to add haXe support to other products!</p>
<h2>New features</h2>
<p>
<ul>
<li>Terminal:
    <ul>
        <li>dropping of URI into</li>
        <li>improved highlighting of messages in classic theme</li>
        <li>configurable tab labels</li>
    </ul>
</li>
<li>Highlighting for:
    <ul>
        <li>Octave</li>
        <li>Neko</li>
        <li>Free Pascal</li>
    </ul>
</li>
<li>Command scripts:
    <ul>
        <li>nicer editor with highlighting</li>
        <li>new variable, gives byte position in file: $OFFSET</li>
    </ul>
</li>
<li>Mouse and keyboard:
    <ul>
        <li>configurable wheel speed (if it has a wheel)</li>
        <li>enhanced support of advanced touch devices</li>
        <li>cleanup of keyboard shortscuts</li>
    </ul>
</li>
</ul>
</p>
<h2>Platform support</h2>
<p>Support for Debian Lenny (5.0) and Ubuntu 8.x has beend <b>dropped</b>. Upgrade to Squeeze! The cats should run Pacu 1.2.3 smoothly with any combination of 10.5/10.6 on PPC, x86 or x86_64.
</p>
<h2>Download Links</h2>
<p>Mac OS X: <a href="http://www.cyblogic.com/en/products/download?filename=pacu/1.2/Pacu-1.2.3.dmg">Pacu-1.2.3.dmg</a></p>
<p>Linux: <a href="http://www.cyblogic.com/en/products/download?filename=pacu/1.2/Pacu-1.2.3.tar.bz2">Pacu-1.2.3.tar.bz2</a></p>
]]>
      </description>
      <pubDate>Thu, 21 Oct 2010 16:07:35 -0000</pubDate>
      <guid>http://www.cyblogic.com/en/blog/posts/11-pacu-1-2-3-lions-eat-no-fish</guid>
    </item>
    <item>
      <title>Showing elided text in a QLabel</title>
      <link>http://www.cyblogic.com/en/blog/posts/10-showing-elided-text-in-a-qlabel</link>
      <description>
        <![CDATA[Fasten your seat-belts! It can't be more "simple"...
<pre style="color:#000000;background-color:#f1f1f1;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:#000000;font-weight:normal;text-decoration:none;">TextElider</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:normal;text-decoration:none;">QObject</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:bold;text-decoration:none;">Q_OBJECT</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:normal;text-decoration:none;">    </span><span style="color:#000000;font-weight:normal;text-decoration:none;">TextElider</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">QWidget</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;">widget</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;">Qt</span><span style="color:#000000;font-weight:normal;text-decoration:none;">::</span><span style="color:#000000;font-weight:normal;text-decoration:none;">TextElideMode</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">mode</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;">Qt</span><span style="color:#000000;font-weight:normal;text-decoration:none;">::</span><span style="color:#000000;font-weight:normal;text-decoration:none;">ElideRight</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;">QObject</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">widget</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;">widget_</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">widget</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;">mode_</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">mode</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:#0000ff;font-weight:bold;text-decoration:none;">signals</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;">void</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">textChanged</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;">QString</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;">s</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:#0000ff;font-weight:bold;text-decoration:none;">slots</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;">void</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">setText</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;">QString</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;">s</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;">if</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;">widget_</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:#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;">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:#0000ff;font-weight:normal;text-decoration:none;">0</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;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">widget_</span><span style="color:#000000;font-weight:normal;text-decoration:none;">-&gt;</span><span style="color:#000000;font-weight:normal;text-decoration:none;">isVisible</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><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;">widget_</span><span style="color:#000000;font-weight:normal;text-decoration:none;">-&gt;</span><span style="color:#000000;font-weight:normal;text-decoration:none;">contentsRect</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;">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;">    </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;">else</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:#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;">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;">t</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;">r</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;">b</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;">widget_</span><span style="color:#000000;font-weight:normal;text-decoration:none;">-&gt;</span><span style="color:#000000;font-weight:normal;text-decoration:none;">getContentsMargins</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">&amp;</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;">&amp;</span><span style="color:#000000;font-weight:normal;text-decoration:none;">t</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;">&amp;</span><span style="color:#000000;font-weight:normal;text-decoration:none;">r</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;">&amp;</span><span style="color:#000000;font-weight:normal;text-decoration:none;">b</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;">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;">widget_</span><span style="color:#000000;font-weight:normal;text-decoration:none;">-&gt;</span><span style="color:#000000;font-weight:normal;text-decoration:none;">sizeHint</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;">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;"> </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;">r</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><span style="color:#0000ff;font-weight:bold;text-decoration:none;">emit</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">textChanged</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;">widget_</span><span style="color:#000000;font-weight:normal;text-decoration:none;">-&gt;</span><span style="color:#000000;font-weight:normal;text-decoration:none;">fontMetrics</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;">elidedText</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">s</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;">mode_</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;">)</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:bold;text-decoration:none;">private</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;">QPointer</span><span style="color:#000000;font-weight:normal;text-decoration:none;">&lt;</span><span style="color:#000000;font-weight:normal;text-decoration:none;">QWidget</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;">widget_</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;">Qt</span><span style="color:#000000;font-weight:normal;text-decoration:none;">::</span><span style="color:#000000;font-weight:normal;text-decoration:none;">TextElideMode</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">mode_</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;">TextElider</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;">elider</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;">new</span><span style="color:#000000;font-weight:normal;text-decoration:none;"> </span><span style="color:#000000;font-weight:normal;text-decoration:none;">TextElider</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">myLabel</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:bold;text-decoration:none;">connect</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">someSource</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:bold;text-decoration:none;">SIGNAL</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">textChanged</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;">QString</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;">)</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;">elider</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:bold;text-decoration:none;">SLOT</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">setText</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;">QString</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;">)</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:bold;text-decoration:none;">connect</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">elider</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:bold;text-decoration:none;">SIGNAL</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">textChanged</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;">QString</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;">)</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;">myLabel</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:bold;text-decoration:none;">SLOT</span><span style="color:#000000;font-weight:normal;text-decoration:none;">(</span><span style="color:#000000;font-weight:normal;text-decoration:none;">setText</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;">QString</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;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">)</span><span style="color:#000000;font-weight:normal;text-decoration:none;">;</span>

</pre>
 
Of course it bothers the question, why in hell is QLabel not doing it by default? Well of course, text eliding makes only sense for single-lined text and the scope of QLabel is wider.]]>
      </description>
      <pubDate>Thu, 14 Oct 2010 10:34:22 -0000</pubDate>
      <guid>http://www.cyblogic.com/en/blog/posts/10-showing-elided-text-in-a-qlabel</guid>
    </item>
    <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>
  </channel>
</rss>

