<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-309348077693848256</id><updated>2011-07-28T19:28:48.008-07:00</updated><title type='text'>sumant's blog</title><subtitle type='html'>In this blog, I am trying to share my experience with others. Specially, trying to provide solution to the problems, which I faced and the beginners are facing.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://suumant.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/309348077693848256/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://suumant.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>SUMANT</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-309348077693848256.post-162779377027665872</id><published>2009-10-02T12:22:00.000-07:00</published><updated>2009-10-02T12:35:35.904-07:00</updated><title type='text'>Showing Youtube Video in Fullscreen mode using Flex</title><content type='html'>Sometimes, we are getting problem in showing our flex application in fullscreen mode. Normally, we can show our standalone flash swfs in fullscreen mode using fscommand. But, when we are loading flex applications in browser, we need to remember few settings. Here, I am giving one example showing how to embed Youtube Video in Flex and use fullscreen button of Youtube video player to show our flex application in fullscreen mode.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;To download the source code &lt;a href="http://newsletter.dexterdesigns.co.in/sumant/blog/YoutubeVideoTest.zip"&gt;click here&lt;/a&gt;.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;Flex Code:&lt;/b&gt;&lt;/P&gt;&lt;div style="height:300px; width:90%; background-color:#CCCCCC; padding:10px; overflow:auto" &gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"&amp;gt;&lt;br /&gt;&amp;lt;mx:Script&amp;gt;&lt;br /&gt;&amp;lt;![CDATA[&lt;br /&gt;&lt;br /&gt;/****************&lt;br /&gt;* &lt;br /&gt;* @method    init()&lt;br /&gt;* @description  called on creationComplete&lt;br /&gt;* &lt;br /&gt;*****************/&lt;br /&gt;private function init():void&lt;br /&gt;{&lt;br /&gt;swfLoader.source = "http://www.youtube.com/v/zlfKdbWwruY&amp;hl=en&amp;fs=1";&lt;br /&gt;}&lt;br /&gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/mx:Script&amp;gt;&lt;br /&gt;&amp;lt;mx:SWFLoader id="swfLoader"/&amp;gt;&lt;br /&gt;&amp;lt;/mx:Application&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Also you need few changes in &lt;b&gt;&lt;i&gt;index.template.html&lt;/i&gt;&lt;/b&gt; file in &lt;b&gt;&lt;i&gt;html-template&lt;/i&gt;&lt;/b&gt; folder of your flex project. You need to set &lt;b&gt;&lt;i&gt;allowFullScreen&lt;/i&gt;&lt;/b&gt; property as &lt;b&gt;&lt;i&gt;true&lt;/i&gt;&lt;/b&gt; in four places:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;In javascript function of your html page: &lt;/b&gt;&lt;/P&gt;&lt;div style="height:300px; width:90%; background-color:#CCCCCC; padding:10px; overflow:auto" &gt;AC_FL_RunContent(&lt;br /&gt;"src", "playerProductInstall",&lt;br /&gt;"FlashVars", "MMredirectURL="+MMredirectURL+'&amp;MMplayerType='+MMPlayerType+'&amp;MMdoctitle='+MMdoctitle+"",&lt;br /&gt;"width", "${width}",&lt;br /&gt;"height", "${height}",&lt;br /&gt;"align", "middle",&lt;br /&gt;"id", "${application}",&lt;br /&gt;"quality", "high",&lt;br /&gt;"bgcolor", "${bgcolor}",&lt;br /&gt;"name", "${application}",&lt;br /&gt;"allowScriptAccess","sameDomain",&lt;br /&gt;&lt;b&gt;&lt;i&gt;"allowFullScreen","true",&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;"type", "application/x-shockwave-flash",&lt;br /&gt;"pluginspage", "http://www.adobe.com/go/getflashplayer"&lt;br /&gt;);&lt;br /&gt;} else if (hasRequestedVersion) {&lt;br /&gt;// if we've detected an acceptable version&lt;br /&gt;// embed the Flash Content SWF when all tests are passed&lt;br /&gt;AC_FL_RunContent(&lt;br /&gt;"src", "${swf}",&lt;br /&gt;"width", "${width}",&lt;br /&gt;"height", "${height}",&lt;br /&gt;"align", "middle",&lt;br /&gt;"id", "${application}",&lt;br /&gt;"quality", "high",&lt;br /&gt;"bgcolor", "${bgcolor}",&lt;br /&gt;"name", "${application}",&lt;br /&gt;"allowScriptAccess","sameDomain",&lt;br /&gt;&lt;b&gt;&lt;i&gt;"allowFullScreen","true",&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;"type", "application/x-shockwave-flash",&lt;br /&gt;"pluginspage", "http://www.adobe.com/go/getflashplayer"&lt;br /&gt;);&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;And two parameters of the object tag of HTML Page:&lt;/b&gt;&lt;/P&gt;&lt;div style="height:300px; width:90%; background-color:#CCCCCC; padding:10px; overflow:auto" &gt;&amp;lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"&lt;br /&gt;id="${application}" width="${width}" height="${height}"&lt;br /&gt;codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"&amp;gt;    &amp;lt;param name="movie" value="${swf}.swf" /&amp;gt;&lt;br /&gt;&amp;lt;param name="quality" value="high" /&amp;gt;&lt;br /&gt;&amp;lt;param name="bgcolor" value="${bgcolor}" /&amp;gt;&lt;br /&gt;&amp;lt;param name="allowScriptAccess" value="sameDomain" /&amp;gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&amp;lt;param name="allowFullScreen" value="true" /&amp;gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&amp;lt;embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"&lt;br /&gt;width="${width}" height="${height}" name="${application}" align="middle"&lt;br /&gt;play="true"&lt;br /&gt;loop="false"&lt;br /&gt;quality="high"&lt;br /&gt;allowScriptAccess="sameDomain"&lt;br /&gt;&lt;b&gt;&lt;i&gt;allowFullScreen="true"&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;type="application/x-shockwave-flash"&lt;br /&gt;pluginspage="http://www.adobe.com/go/getflashplayer"&amp;gt;    &lt;br /&gt;&amp;lt;/embed&amp;gt;  &lt;br /&gt;&amp;lt;/object&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/309348077693848256-162779377027665872?l=suumant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://suumant.blogspot.com/feeds/162779377027665872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://suumant.blogspot.com/2009/10/youtube-video-and-flex.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/309348077693848256/posts/default/162779377027665872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/309348077693848256/posts/default/162779377027665872'/><link rel='alternate' type='text/html' href='http://suumant.blogspot.com/2009/10/youtube-video-and-flex.html' title='Showing Youtube Video in Fullscreen mode using Flex'/><author><name>SUMANT</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-309348077693848256.post-647497683628822287</id><published>2009-09-05T08:02:00.000-07:00</published><updated>2009-09-17T11:17:27.249-07:00</updated><title type='text'>Custom Transformer for Flash/Flex</title><content type='html'>Hi Guys,&lt;br /&gt;&lt;br /&gt;I prepared a CustomTransformer Class using AS3.0 which can be used anywhere by creating an instance of the Class. This is mainly with drag and resize functionality. Resizing can be done by four corners and middle of the four sides of the selected object.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;parameters&lt;/b&gt;: root for flash/Application for Flex application. Or any other workarea.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;method&lt;/b&gt;&lt;br /&gt;&lt;i&gt;setTarget(targetObject)&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;setTarget method will set the selected object as a target object of the transformer. parameter targetObject will be any displayObject on the workarea.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;In Use:&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="455" height="330"&gt;   &lt;param name="movie" value="http://newsletter.dexterdesigns.co.in/sumant/blog/transformer.swf" /&gt;&lt;param name="quality" value="high" /&gt;&lt;embed src="http://newsletter.dexterdesigns.co.in/sumant/blog/transformer.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="455" height="330"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Code is here:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="height:300px; width:90%; background-color:#CCCCCC; padding:10px; overflow:auto;" &gt;&lt;br /&gt;package  {&lt;br /&gt; import flash.display.MovieClip;&lt;br /&gt; import flash.display.Sprite;&lt;br /&gt; import flash.events.Event;&lt;br /&gt; import flash.events.MouseEvent;&lt;br /&gt; import flash.text.TextField;&lt;br /&gt;&lt;br /&gt; public class CustomTransformer extends Sprite{&lt;br /&gt;  &lt;br /&gt;  public var targetObj:* = null;&lt;br /&gt;  &lt;br /&gt;  private var isDragging:Boolean = false;&lt;br /&gt;  &lt;br /&gt;  private var isResizing:Boolean = false;&lt;br /&gt;  &lt;br /&gt;  private var isLeftTopResizing:Boolean = false;&lt;br /&gt;  private var isLeftMiddleResizing:Boolean = false;&lt;br /&gt;  private var isLeftBottomResizing:Boolean = false;&lt;br /&gt;  private var isMiddleTopResizing:Boolean = false;&lt;br /&gt;  private var isMiddleBottomResizing:Boolean = false;&lt;br /&gt;  private var isRightTopResizing:Boolean = false;&lt;br /&gt;  private var isRightMiddleResizing:Boolean = false;&lt;br /&gt;  private var isRightBottomResizing:Boolean = false;&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  private var tf:TextField;&lt;br /&gt;  &lt;br /&gt;  private var topLeftXPos:Number;&lt;br /&gt;  private var topLeftYPos:Number;&lt;br /&gt;  private var bottomRightXPos:Number;&lt;br /&gt;  private var bottomRightYPos:Number;&lt;br /&gt;  &lt;br /&gt;  public static var ROOT:MovieClip;&lt;br /&gt;  &lt;br /&gt;  public function CustomTransformer(_r:MovieClip):void {&lt;br /&gt;   ROOT = _r;&lt;br /&gt;   tf = new TextField();&lt;br /&gt;   ROOT.addChild(tf);&lt;br /&gt;   &lt;br /&gt;   ROOT.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);&lt;br /&gt;   ROOT.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);&lt;br /&gt;      &lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  public function setTarget(_dobj:*):void{&lt;br /&gt;   &lt;br /&gt;   this.graphics.clear();&lt;br /&gt;   if (this.numChildren &gt; 0){&lt;br /&gt;    for (var i:int = this.numChildren-1; i&gt;-1; i--){&lt;br /&gt;     removeChildAt(i);&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;   &lt;br /&gt;   targetObj = _dobj;&lt;br /&gt;   if (targetObj != null){&lt;br /&gt;    &lt;br /&gt;    targetObj.addEventListener (MouseEvent.MOUSE_DOWN, mouseDownHandler);&lt;br /&gt;    targetObj.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);&lt;br /&gt;    targetObj.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);&lt;br /&gt;    &lt;br /&gt;    this.x = targetObj.x;&lt;br /&gt;    this.y = targetObj.y;&lt;br /&gt;    &lt;br /&gt;    topLeftXPos = 0;&lt;br /&gt;    topLeftYPos = 0;&lt;br /&gt;    bottomRightXPos = targetObj.width;&lt;br /&gt;    bottomRightYPos = targetObj.height;&lt;br /&gt;    &lt;br /&gt;    createRectangles();&lt;br /&gt;    &lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;  private function createRectangles():void{&lt;br /&gt;   &lt;br /&gt;   for (var i:int = 0; i &lt; 8; i++){    var canvas:Sprite = new Sprite();    setHandCursor(canvas);    this.addChild(canvas);    canvas.graphics.lineStyle(0.25,0x000000,1);    canvas.graphics.beginFill(0xCCCCCC,1);    canvas.graphics.drawRect(0,0,10,10);    canvas.graphics.endFill();        canvas.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);    canvas.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);        if (i == 0){ //TOP-LEFT RECTANGLE     canvas.x =-10;     canvas.y = -10;     canvas.addEventListener(MouseEvent.MOUSE_DOWN, topLeftResizeHandler);    }    if (i == 1){ //TOP-MIDDLE RECTANGLE     canvas.x = (targetObj.width-10)/2;     canvas.y = -10;     canvas.addEventListener(MouseEvent.MOUSE_DOWN, topMiddleResizeHandler);    }    if (i == 2){ //TOP-RIGHT RECTANGLE     canvas.x = targetObj.width;     canvas.y = -10;     canvas.addEventListener(MouseEvent.MOUSE_DOWN, topRightResizeHandler);    }    if (i == 3){  //LEFT-MIDDLE RECTANGLE     canvas.x = -10;     canvas.y = (targetObj.height-10)/2;     canvas.addEventListener(MouseEvent.MOUSE_DOWN, leftMiddleResizeHandler);    }    if (i == 4){ //RIGHT-MIDDLE RECTANGLE     canvas.x = targetObj.width;     canvas.y = (targetObj.height-10)/2;     canvas.addEventListener(MouseEvent.MOUSE_DOWN, rightMiddleResizeHandler);    }    if (i == 5){ //BOTTOM-LEFT RECTANGLE     canvas.x = -10;     canvas.y = targetObj.height;     canvas.addEventListener(MouseEvent.MOUSE_DOWN, leftBottomResizeHandler);    }    if (i == 6){  //BOTTOM-MIDDLE RECTANGLE     canvas.x = (targetObj.width-10)/2;     canvas.y = targetObj.height;     canvas.addEventListener(MouseEvent.MOUSE_DOWN, bottomMiddleResizeHandler);    }    if (i == 7){ //BOTTOM-RIGHT RECTANGLE     canvas.x = targetObj.width;     canvas.y = targetObj.height;     canvas.addEventListener(MouseEvent.MOUSE_DOWN, rightBottomResizeHandler);    }   }  }  private function mouseMoveHandler(evt:MouseEvent):void{   if (targetObj != null)   {     if (isDragging){   targetObj.x = this.x;   targetObj.y = this.y;     }     if (isLeftTopResizing) {   if (this.mouseX &lt; bottomRightXPos) {    topLeftXPos = this.mouseX;   }   if (this.mouseY &lt; bottomRightYPos) {    topLeftYPos = this.mouseY;   }   bottomRightXPos = targetObj.width;   bottomRightYPos = targetObj.height;     }     if (isRightTopResizing) {   if (this.mouseY &lt; bottomRightYPos) {    topLeftYPos = this.mouseY;   }   if (this.mouseX &gt; 0) {&lt;br /&gt;    bottomRightXPos = this.mouseX;&lt;br /&gt;   }&lt;br /&gt;   topLeftXPos = 0;&lt;br /&gt;   bottomRightYPos = targetObj.height;&lt;br /&gt;     }&lt;br /&gt;     if (isMiddleTopResizing) {&lt;br /&gt;   if (this.mouseY &lt; bottomRightYPos) {    topLeftYPos = this.mouseY;    topLeftXPos = 0;   }   bottomRightXPos = targetObj.width;   bottomRightYPos = targetObj.height;     }     if (isLeftMiddleResizing){   if (this.mouseX &lt; bottomRightXPos){    topLeftXPos = this.mouseX;    topLeftYPos = 0;   }   bottomRightXPos = targetObj.width;   bottomRightYPos = targetObj.height;     }     if (isRightBottomResizing){   topLeftXPos = 0;   topLeftYPos = 0;   if (this.mouseX &gt; 0){&lt;br /&gt;    bottomRightXPos = this.mouseX;&lt;br /&gt;   }&lt;br /&gt;   if (this.mouseY &gt; 0){&lt;br /&gt;    bottomRightYPos = this.mouseY;&lt;br /&gt;   }&lt;br /&gt;     }&lt;br /&gt;     if (isMiddleBottomResizing){&lt;br /&gt;   topLeftXPos = 0;&lt;br /&gt;   topLeftYPos = 0;&lt;br /&gt;   if (this.mouseY &gt; 0){&lt;br /&gt;    bottomRightXPos = targetObj.width;&lt;br /&gt;    bottomRightYPos = this.mouseY;&lt;br /&gt;   }&lt;br /&gt;     }&lt;br /&gt;     if (isRightMiddleResizing){&lt;br /&gt;   topLeftXPos = 0;&lt;br /&gt;   topLeftYPos = 0;&lt;br /&gt;   if (this.mouseX &gt; 0){&lt;br /&gt;    bottomRightXPos = this.mouseX;&lt;br /&gt;    bottomRightYPos = targetObj.height;&lt;br /&gt;   }&lt;br /&gt;     }&lt;br /&gt;     if (isLeftBottomResizing){&lt;br /&gt;   if (this.mouseX &lt; bottomRightXPos){    topLeftXPos = this.mouseX;   }   if (this.mouseY &gt; 0){&lt;br /&gt;    bottomRightYPos = this.mouseY;&lt;br /&gt;   }&lt;br /&gt;   bottomRightXPos = targetObj.width;&lt;br /&gt;   topLeftYPos = 0;&lt;br /&gt;     }&lt;br /&gt;     if (isResizing){&lt;br /&gt;   targetObj.x += topLeftXPos;&lt;br /&gt;   targetObj.y += topLeftYPos;&lt;br /&gt;   targetObj.width = bottomRightXPos-topLeftXPos;&lt;br /&gt;   targetObj.height = bottomRightYPos-topLeftYPos;&lt;br /&gt;   setTarget(targetObj);&lt;br /&gt;     }&lt;br /&gt;  }&lt;br /&gt;  }&lt;br /&gt;  private function mouseUpHandler(evt:MouseEvent):void{&lt;br /&gt;   &lt;br /&gt;   if (isDragging){&lt;br /&gt;    this.stopDrag();&lt;br /&gt;    isDragging = false;&lt;br /&gt;   }&lt;br /&gt;   if (isLeftTopResizing) {&lt;br /&gt;    isLeftTopResizing = false;&lt;br /&gt;   }&lt;br /&gt;   if (isMiddleTopResizing) {&lt;br /&gt;    isMiddleTopResizing = false;&lt;br /&gt;   }&lt;br /&gt;   if (isRightTopResizing) {&lt;br /&gt;    isRightTopResizing = false;&lt;br /&gt;   }&lt;br /&gt;   if (isLeftMiddleResizing){&lt;br /&gt;    isLeftMiddleResizing = false;&lt;br /&gt;   }&lt;br /&gt;   if (isRightMiddleResizing){&lt;br /&gt;    isRightMiddleResizing = false;&lt;br /&gt;   }&lt;br /&gt;   if (isLeftBottomResizing){&lt;br /&gt;    isLeftBottomResizing = false;&lt;br /&gt;   }&lt;br /&gt;   if (isMiddleBottomResizing){&lt;br /&gt;    isMiddleBottomResizing = false;&lt;br /&gt;   }&lt;br /&gt;   if (isRightBottomResizing){&lt;br /&gt;    isRightBottomResizing = false;&lt;br /&gt;   }&lt;br /&gt;   &lt;br /&gt;   isResizing = false;&lt;br /&gt;  }&lt;br /&gt;  private function mouseDownHandler(evt:MouseEvent):void{&lt;br /&gt;   if (targetObj != null)&lt;br /&gt;   {&lt;br /&gt;    isDragging = true;&lt;br /&gt;    this.startDrag();&lt;br /&gt;    targetObj.x = this.x;&lt;br /&gt;    targetObj.y = this.y;&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  private function topLeftResizeHandler(evt:MouseEvent):void {&lt;br /&gt;   isResizing = true;&lt;br /&gt;   isLeftTopResizing = true;&lt;br /&gt;  }&lt;br /&gt;  private function topMiddleResizeHandler(evt:MouseEvent):void {&lt;br /&gt;   isResizing = true;&lt;br /&gt;   isMiddleTopResizing = true;&lt;br /&gt;  }&lt;br /&gt;  private function topRightResizeHandler(evt:MouseEvent):void {&lt;br /&gt;   isResizing = true;&lt;br /&gt;   isRightTopResizing = true;&lt;br /&gt;  }&lt;br /&gt;  private function leftMiddleResizeHandler(evt:MouseEvent):void{&lt;br /&gt;   isResizing = true;&lt;br /&gt;   isLeftMiddleResizing = true;&lt;br /&gt;  }&lt;br /&gt;  private function leftBottomResizeHandler(evt:MouseEvent):void{&lt;br /&gt;   isResizing = true;&lt;br /&gt;   isLeftBottomResizing = true;&lt;br /&gt;  }&lt;br /&gt;  private function rightMiddleResizeHandler(evt:MouseEvent):void{&lt;br /&gt;   isResizing = true;&lt;br /&gt;   isRightMiddleResizing = true;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  private function rightBottomResizeHandler(evt:MouseEvent):void{&lt;br /&gt;   &lt;br /&gt;   isResizing = true;&lt;br /&gt;   isRightBottomResizing = true;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;  private function bottomMiddleResizeHandler(evt:MouseEvent):void{&lt;br /&gt;   &lt;br /&gt;   isResizing = true;&lt;br /&gt;   isMiddleBottomResizing = true;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;  private function setHandCursor(_dobj:*):void{&lt;br /&gt;   _dobj.useHandCursor = true;&lt;br /&gt;   _dobj.buttonMode = true;&lt;br /&gt;   _dobj.mouseChildren = false;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;How to instantiate in flash&lt;/strong&gt;&lt;br /&gt;&lt;div style="height:300px; width:90%; background-color:#CCCCCC; padding:10px; overflow:auto;" &gt;&lt;br /&gt;//This is main timeline code:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//CustomTranformer class initialised and added to Stage&lt;br /&gt;var transformer:CustomTransformer = new CustomTransformer(this);&lt;br /&gt;addChild(transformer);&lt;br /&gt;&lt;br /&gt;//workArea is the background of the Application editing area.&lt;br /&gt;workArea.addEventListener(MouseEvent.CLICK, stageClickHandler);&lt;br /&gt;function stageClickHandler(evt:MouseEvent)&lt;br /&gt;{&lt;br /&gt;transformer.setTarget(null);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//First Object named objOne&lt;br /&gt;objOne.addEventListener(MouseEvent.CLICK, objOneClickHandler);&lt;br /&gt;objOne.mouseChildren = false;&lt;br /&gt;function objOneClickHandler(evt:MouseEvent):void&lt;br /&gt;{&lt;br /&gt;transformer.setTarget(objOne);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Second Object named objTwo&lt;br /&gt;objTwo.addEventListener(MouseEvent.CLICK, objTwoClickHandler);&lt;br /&gt;objTwo.mouseChildren = false;&lt;br /&gt;function objTwoClickHandler(evt:MouseEvent):void&lt;br /&gt;{&lt;br /&gt;transformer.setTarget(objTwo);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/309348077693848256-647497683628822287?l=suumant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://suumant.blogspot.com/feeds/647497683628822287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://suumant.blogspot.com/2009/09/custom-transformer-for-flashflex.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/309348077693848256/posts/default/647497683628822287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/309348077693848256/posts/default/647497683628822287'/><link rel='alternate' type='text/html' href='http://suumant.blogspot.com/2009/09/custom-transformer-for-flashflex.html' title='Custom Transformer for Flash/Flex'/><author><name>SUMANT</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-309348077693848256.post-6768843944978229487</id><published>2009-09-03T22:19:00.000-07:00</published><updated>2009-09-03T22:26:18.423-07:00</updated><title type='text'>Rotate Canvas from center code</title><content type='html'>var point:Point=new Point(myMC.x+myMC.width/2, myMC.y+myMC.height/2);&lt;br /&gt;var m:Matrix=myMC.transform.matrix;&lt;br /&gt;m.tx -= point.x;m.ty -= point.y;&lt;br /&gt;m.rotate (45*(Math.PI/180));&lt;br /&gt;m.tx += point.x;&lt;br /&gt;m.ty += point.y;&lt;br /&gt;myMC.transform.matrix=m;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/309348077693848256-6768843944978229487?l=suumant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://suumant.blogspot.com/feeds/6768843944978229487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://suumant.blogspot.com/2009/09/rotate-canvas-from-center-code.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/309348077693848256/posts/default/6768843944978229487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/309348077693848256/posts/default/6768843944978229487'/><link rel='alternate' type='text/html' href='http://suumant.blogspot.com/2009/09/rotate-canvas-from-center-code.html' title='Rotate Canvas from center code'/><author><name>SUMANT</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry></feed>
