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

<channel>
	<title>nobigwords.ntxt.net &#187; flex</title>
	<atom:link href="http://nobigwords.ntxt.net/tag/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://nobigwords.ntxt.net</link>
	<description>not too big words not only about web</description>
	<lastBuildDate>Thu, 08 Dec 2011 23:35:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>playing AIR on Android</title>
		<link>http://nobigwords.ntxt.net/2010/08/19/playing-air-on-android/</link>
		<comments>http://nobigwords.ntxt.net/2010/08/19/playing-air-on-android/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 09:37:25 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[Adobe AIR for Android]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[HTC Desire]]></category>
		<category><![CDATA[programowanie]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=296</guid>
		<description><![CDATA[Keeping on with the simplest stuff and having innocent fun with touching a device :)]]></description>
			<content:encoded><![CDATA[<p>Keeping on with the simplest stuff and having innocent fun with touching a device :)</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/-jLmg-YsUno&#038;hl=pl&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-jLmg-YsUno&#038;hl=pl&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/08/19/playing-air-on-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multitouch in AIR 2.5 for Android</title>
		<link>http://nobigwords.ntxt.net/2010/08/16/multitouch-in-air-2-5-for-android/</link>
		<comments>http://nobigwords.ntxt.net/2010/08/16/multitouch-in-air-2-5-for-android/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 22:39:06 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[Adobe AIR for Android]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[HTC Desire]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=292</guid>
		<description><![CDATA[Quick and dirty test, which surprisingly says my Wacom/Win7 do not support multitouch, but the HTC Desire does. And that is where I meant it. This app shows red circles, each under its finger. In my case, maximum two at the same time. package &#123; import flash.display.Graphics; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; [...]]]></description>
			<content:encoded><![CDATA[<p>Quick and dirty test, which surprisingly says my Wacom/Win7 do not support multitouch, but the HTC Desire does. And that is where I meant it.<br />
This app shows red circles, each under its finger. In my case, maximum two at the same time.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Graphics</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">StageAlign</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">StageScaleMode</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">MouseEvent</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">TouchEvent</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #0066CC;">text</span>.<span style="color: #0066CC;">TextField</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">ui</span>.<span style="color: #006600;">Multitouch</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">ui</span>.<span style="color: #006600;">MultitouchInputMode</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">events</span>.<span style="color: #006600;">ResizeEvent</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Android <span style="color: #0066CC;">extends</span> Sprite
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> lx:<span style="color: #0066CC;">Number</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> ly:<span style="color: #0066CC;">Number</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> bg:Sprite;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> sprites:<span style="color: #0066CC;">Array</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> last:Sprite;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> tf:<span style="color: #0066CC;">TextField</span>;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Android<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			bg = <span style="color: #000000; font-weight: bold;">new</span> Sprite;
			addChild<span style="color: #66cc66;">&#40;</span>bg<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">stage</span>.<span style="color: #0066CC;">scaleMode</span> = StageScaleMode.<span style="color: #006600;">NO_SCALE</span>;
			<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">stage</span>.<span style="color: #0066CC;">align</span> = StageAlign.<span style="color: #006600;">TOP_LEFT</span>;			
			addEventListener<span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">RESIZE</span>, handleStageResize<span style="color: #66cc66;">&#41;</span>;
&nbsp;
&nbsp;
&nbsp;
			Multitouch.<span style="color: #006600;">inputMode</span> = MultitouchInputMode.<span style="color: #006600;">TOUCH_POINT</span>;
			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'multitouch support: '</span> + Multitouch.<span style="color: #006600;">supportsTouchEvents</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			bg.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>TouchEvent.<span style="color: #006600;">TOUCH_BEGIN</span>, handleTouchBegin<span style="color: #66cc66;">&#41;</span>;
			bg.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>TouchEvent.<span style="color: #006600;">TOUCH_END</span>, handleTouchEnd<span style="color: #66cc66;">&#41;</span>;
			bg.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>TouchEvent.<span style="color: #006600;">TOUCH_MOVE</span>, handleMove<span style="color: #66cc66;">&#41;</span>;
&nbsp;
&nbsp;
			lx = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">0.5</span>;
			ly = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageHeight</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">0.5</span>;
&nbsp;
			tf = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextField</span>;
			tf.<span style="color: #006600;">mouseEnabled</span> = <span style="color: #000000; font-weight: bold;">false</span>;
&nbsp;
			tf.<span style="color: #0066CC;">width</span> = <span style="color: #cc66cc;">400</span>;
			tf.<span style="color: #0066CC;">height</span> = <span style="color: #cc66cc;">200</span>;
			tf.<span style="color: #006600;">y</span> = ly;
&nbsp;
			addChild<span style="color: #66cc66;">&#40;</span>tf<span style="color: #66cc66;">&#41;</span>;
			tf.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">'multitouch support: '</span> + Multitouch.<span style="color: #006600;">supportsTouchEvents</span>;
&nbsp;
			layout<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleStageResize<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			layout<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;			
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> layout<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> g:Graphics = bg.<span style="color: #006600;">graphics</span>;
			g.<span style="color: #0066CC;">clear</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			g.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xAAAAA0,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
			g.<span style="color: #006600;">drawRect</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span>, <span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageHeight</span><span style="color: #66cc66;">&#41;</span>;
			g.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;			
&nbsp;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> getNewSprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:Sprite
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> s:Sprite = <span style="color: #000000; font-weight: bold;">new</span> Sprite;
			s.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xff3333,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
			s.<span style="color: #006600;">graphics</span>.<span style="color: #006600;">drawCircle</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">50</span><span style="color: #66cc66;">&#41;</span>;
			s.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			s.<span style="color: #006600;">mouseEnabled</span> = <span style="color: #000000; font-weight: bold;">false</span>;
&nbsp;
&nbsp;
			last = s;
			<span style="color: #b1b100;">return</span> s;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleClick<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'asdasd'</span><span style="color: #66cc66;">&#41;</span>;
			lx = <span style="color: #0066CC;">e</span>.<span style="color: #006600;">localX</span>;
			ly = <span style="color: #0066CC;">e</span>.<span style="color: #006600;">localY</span>;
			<span style="color: #808080; font-style: italic;">//layout();</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleTouchBegin<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:TouchEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			tf.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">'id '</span> + <span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span> + <span style="color: #ff0000;">' t: '</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span>;
			<span style="color: #000000; font-weight: bold;">var</span> s:Sprite;
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>sprites<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				s = sprites<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span><span style="color: #66cc66;">&#93;</span>;
			<span style="color: #66cc66;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #66cc66;">&#123;</span>
				s = getNewSprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
				sprites<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span><span style="color: #66cc66;">&#93;</span> = s;
			<span style="color: #66cc66;">&#125;</span> 
			s.<span style="color: #006600;">x</span> = <span style="color: #0066CC;">e</span>.<span style="color: #006600;">localX</span>;
			s.<span style="color: #006600;">y</span> = <span style="color: #0066CC;">e</span>.<span style="color: #006600;">localY</span>;
			bg.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>s<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleMove<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:TouchEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> s:Sprite = sprites<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span><span style="color: #66cc66;">&#93;</span>;
			tf.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">'id '</span> + <span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span> + <span style="color: #ff0000;">' t: '</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span>;
			s.<span style="color: #006600;">x</span> = <span style="color: #0066CC;">e</span>.<span style="color: #006600;">localX</span>;
			s.<span style="color: #006600;">y</span> = <span style="color: #0066CC;">e</span>.<span style="color: #006600;">localY</span>;
		<span style="color: #66cc66;">&#125;</span>				
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleTouchEnd<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:TouchEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> s:Sprite = sprites<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span><span style="color: #66cc66;">&#93;</span>;
			tf.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">'id '</span> + <span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span> + <span style="color: #ff0000;">' t: '</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span>;
		<span style="color: #66cc66;">&#125;</span>		
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/08/16/multitouch-in-air-2-5-for-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Air for my Desire</title>
		<link>http://nobigwords.ntxt.net/2010/08/15/air-for-my-desire/</link>
		<comments>http://nobigwords.ntxt.net/2010/08/15/air-for-my-desire/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 22:27:21 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Froyo]]></category>
		<category><![CDATA[HTC Desire]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[mobile applications]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[przykład]]></category>
		<category><![CDATA[przykładowa aplikacja]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=290</guid>
		<description><![CDATA[Now I&#8217;m proud. Setting up everything was quite a pain, and I still do not grasp the whole process. Nevertheless, the first interactive app, written in AS3, using Flash Builder, works fullscreen on my HTC Desire! The secret plan is to make an eye-and-ear-catching app that my 7-months baby girl could not turn off by [...]]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/gU1PcxBqC-M&#038;hl=pl&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/gU1PcxBqC-M&#038;hl=pl&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
Now I&#8217;m proud. Setting up everything was quite a pain, and I still do not grasp the whole process. Nevertheless, the first interactive app, written in AS3, using Flash Builder, works fullscreen on my HTC Desire! The secret plan is to make an eye-and-ear-catching app that my 7-months baby girl could not turn off by random hand events&#8230; For now, the code was that simple:</p>

<div class="wp_syntax"><div class="code"><pre class="as3" style="font-family:monospace;">package
{
	import flash.display.Graphics;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.events.TouchEvent;
&nbsp;
	import mx.events.ResizeEvent;
&nbsp;
	public class Android extends Sprite
	{
		private var lx:Number;
		private var ly:Number;
		private var bg:Sprite;
&nbsp;
		public function Android()
		{
			bg = new Sprite;
			addChild(bg);
&nbsp;
			this.stage.scaleMode = StageScaleMode.NO_SCALE;
			this.stage.align = StageAlign.TOP_LEFT;			
			addEventListener(Event.RESIZE, handleStageResize);
			bg.addEventListener(MouseEvent.CLICK, handleClick);
			bg.addEventListener(TouchEvent.TOUCH_TAP, handleTap);
&nbsp;
			lx = this.stage.stageWidth * 0.5;
			ly = this.stage.stageHeight * 0.5;
&nbsp;
			layout();
		}
&nbsp;
		private function handleStageResize(e:Event):void
		{
			layout();			
		}
&nbsp;
		private function layout():void
		{
			var g:Graphics = bg.graphics;
			g.clear();
&nbsp;
			g.beginFill(0x003333,1);
			g.drawRect(0,0,stage.stageWidth, stage.stageHeight);
			g.endFill();			
&nbsp;
			g.beginFill(0xff0000,1);
			g.drawRect(lx - 50, ly - 50, 100,100);
			g.endFill();
&nbsp;
			g.beginFill(0xffff00,1);
			g.drawRect(Math.random() * stage.stageWidth, Math.random() * stage.stageHeight, 5,5);
			g.endFill();			
		}
&nbsp;
		private function handleClick(e:MouseEvent):void
		{
			trace('asdasd');
			lx = e.localX;
			ly = e.localY;
			layout();
		}
&nbsp;
		private function handleTap(e:TouchEvent):void
		{
			trace('asdasd');
			lx = e.localX;
			ly = e.localY;
			layout();
		}		
	}
}</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/08/15/air-for-my-desire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Market Data Perspective</title>
		<link>http://nobigwords.ntxt.net/2010/07/29/market-data-perspective/</link>
		<comments>http://nobigwords.ntxt.net/2010/07/29/market-data-perspective/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 11:05:39 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[3d]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[ntxt.net]]></category>
		<category><![CDATA[rynek]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[ask]]></category>
		<category><![CDATA[backtesting]]></category>
		<category><![CDATA[bid]]></category>
		<category><![CDATA[charts]]></category>
		<category><![CDATA[data visualisation]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[information visualisation]]></category>
		<category><![CDATA[investing]]></category>
		<category><![CDATA[kdb+]]></category>
		<category><![CDATA[market data]]></category>
		<category><![CDATA[market replay]]></category>
		<category><![CDATA[nagler]]></category>
		<category><![CDATA[order book]]></category>
		<category><![CDATA[orders]]></category>
		<category><![CDATA[q]]></category>
		<category><![CDATA[q language]]></category>
		<category><![CDATA[strategy]]></category>
		<category><![CDATA[symagon]]></category>
		<category><![CDATA[transactions]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=279</guid>
		<description><![CDATA[Here is the first post in English, as its target is perhaps a bit wider than for my usual gibberish. The nine month now work for Symagon GmBH (subsidiary of Nagler &#038; Company) has its fruit. Or even a few. The first and what took the most effort is a Flex GUI for investment strategy [...]]]></description>
			<content:encoded><![CDATA[<p><i>Here is the first post in English, as its target is perhaps a bit wider than for my usual gibberish.</i></p>
<p>
The nine month now work for <a href="http://www.symagon.com/">Symagon GmBH</a> (subsidiary of Nagler &#038; Company) has its fruit. Or even a few. The first and what took the most effort is a Flex GUI for <strong>investment strategy backtesting</strong> and <strong>market data review</strong>. This was done with Rafał Sytek from Symagon. Backend is <a href="http://kx.com/Products/kdb+.php">kdb+, a vector-oriented,  fast database</a> which I know little about ;) and a little <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/">Java/Blaze DS</a> middleware. The second is a <strong>3D visualisation tool for <a href="http://en.wikipedia.org/wiki/Order_book">order book</a> series.</strong> The 3D tool is only a little &#8216;Flexish&#8217;. The main 3D component is a pure Actionscript thing, with layers, 3D-2D and back transformations, etc. And here is what I find cool enough to show off.
</p>
<p>
An order book is a snapshot of a market, with (almost) all buy and sell offers for a single financial instrument. I pictured a series of order books as a sloped river bank, with the transaction at water&#8217;s level. The ground above is a cumulated size of ask orders beginning from the transaction. The green part is going deeper as the bid orders cumulate. Time axis is horizontal, and Y-axis shows price levels. I believe this visualisation gives a lot more information in a simple manner. Now looking forward to the expert opinion&#8230; see what is coming.
</p>
<h3>Backtesting GUI</h3>
<p>
This was a good lesson. Series renderers, chart extensions, live scrolling, zooming, syncing between the charts show the real flex guts. Sometimes I felt like writing it from the scratch myself&#8230; It was not anything about Flex itself, rather my understanding the complexity of its components. As it turned out, it was usually better to study a bit more the originals rather than implementing one&#8217;s own solutions. Some of the comps developed at the beginning look completely naive and weird now. The motto of future Flex chart works is:</p>
<blockquote><p>ChartElement class is essential to almost all you.</p></blockquote>
<p>And the big application for testing investment strategies looks like this:</p>
]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/07/29/market-data-perspective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>set selectedItem w ComboBox Flexa</title>
		<link>http://nobigwords.ntxt.net/2008/08/04/set-selecteditem-w-combobox-flexa/</link>
		<comments>http://nobigwords.ntxt.net/2008/08/04/set-selecteditem-w-combobox-flexa/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 22:54:36 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[ComboBox]]></category>
		<category><![CDATA[enum]]></category>
		<category><![CDATA[formularz]]></category>
		<category><![CDATA[selectedItem]]></category>
		<category><![CDATA[set]]></category>
		<category><![CDATA[ustawianie wartości]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=29</guid>
		<description><![CDATA[Kiedy z bazy danych pobieramy hm, dane, a któraś z kolumn przybiera wartości z pewnego niewielkiego zbioru (jak np. dla typu ENUM w MySQL), to w formularzu edycji rekordu chcielibyśmy zwykle użyć komponentu ComboBox do edycji tej kolumny. Problem polega na tym, że ComboBox nie ma prostej metody do ustawiania zadanej wartości. Można owszem ustawić [...]]]></description>
			<content:encoded><![CDATA[<p>Kiedy z bazy danych pobieramy hm, dane, a któraś z kolumn przybiera wartości z pewnego niewielkiego zbioru (jak np. dla typu ENUM w MySQL), to w formularzu edycji rekordu chcielibyśmy zwykle użyć komponentu ComboBox do edycji tej kolumny. Problem polega na tym, że ComboBox nie ma prostej metody do ustawiania zadanej wartości. Można owszem ustawić <em>selectedItem</em>, ale tylko przekazując jeden z obiektów z <em>dataProvidera</em> Combo. Nie <em>taki sam </em>obiekt, ale <em>ten sam</em>. Tyle że wygodniej jest przekazać wartość, np. pobraną ze wspomnianej bazy. No i niech etykieta (<em>label</em>) Combo ustawi się sama. Oto rozszerzenie ComboBoksa, które robi co trzeba:</p>
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml"&gt;
    &lt;!--
    komponent SmartComboBox z automatycznym ustawianiem selectedIndex
    na podaną wartość
    licencja: do swobodnego wykorzystania
    --&gt;
    &lt;mx:Script&gt;
        &lt;![CDATA[
            protected var _myDP:Object;
            [Bindable]
            public function set value(v:*):void
            {
                var found:Boolean = false;
                for(var i:int = 0; (i &lt; dataProvider.length) &amp;&amp; !found; i++) {
                    if(v == _myDP[i].data) {
                        selectedIndex = i;
                        found = true;
                    }
                }
                if(!found) throw(new Error("invalid value " + v + " for SmartComboBox.",99));
            }
            [Bindable]
            override public function set dataProvider(v:Object):void
            {
                _myDP = v;
                super.dataProvider = v;
            }
        ]]&gt;
    &lt;/mx:Script&gt;
&lt;/mx:ComboBox&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2008/08/04/set-selecteditem-w-combobox-flexa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AMFPHP i błąd 403 &#8211; Forbidden</title>
		<link>http://nobigwords.ntxt.net/2008/07/30/amfphp-i-blad-403-permission-denied/</link>
		<comments>http://nobigwords.ntxt.net/2008/07/30/amfphp-i-blad-403-permission-denied/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 21:54:09 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[AMF]]></category>
		<category><![CDATA[AMFPHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[usługi]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=28</guid>
		<description><![CDATA[Długo szukałem rozwiązania problemu, jaki pojawił się po przeniesieniu aplikacji AMFPHP z Windows na Linuksa. Skrypt gateway.php wywoływany z &#8216;palca&#8217;, czyli z URLa http://serwer/gateway.php odpowiadał prawidłowo. Browser już gorzej &#8211; nie wyświetlał prawego panelu z listą metod, a FireBug poproszony o przedstawienie odpowiedzi serwera napisał o błędzie 403 &#8211; Forbidden. Ciekawe, że w Google nie [...]]]></description>
			<content:encoded><![CDATA[<p>Długo szukałem rozwiązania problemu, jaki pojawił się po przeniesieniu aplikacji <a title="AMFPHP - zdalne usługi w ActionScript" href="http://www.amfphp.org/" target="_blank">AMFPHP </a>z Windows na Linuksa. Skrypt gateway.php wywoływany z &#8216;palca&#8217;, czyli z URLa http://serwer/gateway.php odpowiadał prawidłowo. Browser już gorzej &#8211; nie wyświetlał prawego panelu z listą metod, a FireBug poproszony o przedstawienie odpowiedzi serwera napisał o błędzie <em>403 &#8211; Forbidden.</em> Ciekawe, że w Google nie znalazłem nic konkretnego, na jednym tylko forum wskazówkę, że chodzi o prawa dostępu. To akurat było łatwe do wydedukowania. Śledztwo wykazało winnego &#8211; w skrypcie /core/shared/util/MethodTable.php, w linii 164 wywoływana jest funkcja <em>touch($sourcePath) , </em>gdzie $sourcePath wskazuje na nazwę uruchamianej usługi. Wystarczy ustawić Apaczowi prawo do zapisu pliku usługi (np. /services/Usluga.php) i od razu jest lepiej.</p>
<p>Piszą o <a title="Wprowadzenie do Flash Remoting" href="http://www.flashzone.pl/item/2497/Wprowadzenie-do-Flash-Remoting-na-podstawie-AMFPHP/" target="_blank">AMFPHP na flashzone.pl</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2008/07/30/amfphp-i-blad-403-permission-denied/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>flextech: coraz więcej się dzieje</title>
		<link>http://nobigwords.ntxt.net/2008/03/04/flextech-coraz-wiecej-sie-dzieje/</link>
		<comments>http://nobigwords.ntxt.net/2008/03/04/flextech-coraz-wiecej-sie-dzieje/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 22:42:33 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[flex]]></category>
		<category><![CDATA[polskie]]></category>
		<category><![CDATA[polskojęzyczne]]></category>
		<category><![CDATA[portal]]></category>
		<category><![CDATA[portale]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/2008/03/04/flextech-coraz-wiecej-sie-dzieje/</guid>
		<description><![CDATA[Dziś znalazłem ciekawy portal, jeden z niewielu polskich o Fleksie. Kiedy będzie pierwsza książka?]]></description>
			<content:encoded><![CDATA[<p>Dziś znalazłem ciekawy <a href="http://blog.flextech.pl/" title="flextech, portal o adobe flex" target="_blank">portal</a>, jeden z niewielu polskich o Fleksie. Kiedy będzie pierwsza książka?</p>
]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2008/03/04/flextech-coraz-wiecej-sie-dzieje/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upload plików we Fleksie</title>
		<link>http://nobigwords.ntxt.net/2008/02/04/upload-plikow-we-fleksie/</link>
		<comments>http://nobigwords.ntxt.net/2008/02/04/upload-plikow-we-fleksie/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 11:43:18 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[flex]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[multi]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[upload]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=5</guid>
		<description><![CDATA[Prosta sprawa, ale postanowiłem zacząć od Google. Znalazłem fajny, gotowy komponent do uploadu całej listy plików, ale&#8230; trochę nie działał. Przestudiowałem dokumentację, potem kilka forów i wreszcie na CodingCowboys: jest. Okazało się, że Flex ma błąd w uploadzie i wysyła plik bez kończącego znacznika MIME. Aby to obejść wystarczy dodać plik .htaccess, a w nim [...]]]></description>
			<content:encoded><![CDATA[<p>Prosta sprawa, ale postanowiłem zacząć od Google. Znalazłem fajny, gotowy <a href="http://weblog.cahlan.com/2006/12/flex-upload-component.html" title="komponent Flex do uploadu" target="_blank">komponent do uploadu</a> całej listy plików, ale&#8230; trochę nie działał. Przestudiowałem dokumentację, potem kilka forów i wreszcie na CodingCowboys: jest. Okazało się, że Flex ma błąd w uploadzie i wysyła plik bez kończącego znacznika MIME. Aby to obejść wystarczy dodać plik .htaccess, a w nim dwie linijki (dla Apache/Linux):</p>
<p><code>SecFilterEngine Off<br />
SecFilterScanPOST Off</code></p>
<p>Działa. Załączam lekko skorygowane  pliki Flex i PHP. W aplikacji wstawiamy coś takiego:</p>
<p><code><br />
&lt;com:FileUpload<br />
width="100%" height="100%"<br />
uploadUrl="http://nucom.ntxt.net/upload.php"<br />
uploadComplete="Alert.show('File(s) have been uploaded.', 'Upload successful')"<br />
uploadIOError="Alert.show('IO Error in uploading file.', 'Error')"<br />
uploadSecurityError="Alert.show('Security Error in uploading file.', 'Error')"/&gt;<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2008/02/04/upload-plikow-we-fleksie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

