<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:graphics="com.cynergysystems.graphics.*" xmlns="*" layout="absolute" creationComplete="onCreationComplete()" frameRate="1" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5" > <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.utils.ObjectUtil; import mx.core.UIComponent; import mx.controls.Alert; private var timer : Timer; private var timerInterval : Number = 300; private function onCreationComplete() : void { timer = new Timer(timerInterval); timer.addEventListener( TimerEvent.TIMER , onTimerEvent ); timer.start(); } public static function toByteArray( bd : BitmapData ) : ByteArray { var pixels : ByteArray = new ByteArray(); for( var i:uint=0; i<bd.width ; i++ ) { for( var j:uint=0; j<bd.height; j++ ) { pixels.writeUnsignedInt( bd.getPixel( i, j ) ); } } return pixels; } private function onTimerEvent( event : Event ):void { var so:SharedObject = SharedObject.getLocal("sharedDesktop", "/", false); var bd : BitmapData = getUIComponentBitmapData( sourceContainer ); so.data.width = bd.width; so.data.height = bd.height; so.data.bitmapByteArray = toByteArray( bd ); var flushStatus:String = null; try { flushStatus = so.flush(10000); } catch (error:Error) { trace("Error...Could not write SharedObject to disk"); } } private function getUIComponentBitmapData( target : UIComponent ) : BitmapData { var bd : BitmapData = new BitmapData( target.width, target.height ); var m : Matrix = new Matrix(); bd.draw( target, m ); return bd; } ]]> </mx:Script> <mx:XMLList id="treeData"> <node label="Mail Box"> <node label="Inbox"> <node label="Marketing"/> <node label="Product Management"/> <node label="Personal"/> </node> <node label="Outbox"> <node label="Professional"/> <node label="Personal"/> </node> <node label="Spam"/> <node label="Sent"/> </node> </mx:XMLList> <mx:Panel title="Broadcaster" id="sourceContainerPanel"> <mx:Canvas id="sourceContainer" width="250" height="300" > <mx:Tree id="myTree" width="100%" height="100%" labelField="@label" showRoot="false" dataProvider="{treeData}" /> </mx:Canvas> </mx:Panel> </mx:Application>