home *** CD-ROM | disk | FTP | other *** search
/ PCGUIA 2010 Software/Programs / PCGuia_programas.iso / Software / Utils / Livebrush / Install-LivebrushLite.air / livebrush.swf / scripts / com / livebrush / graphics / CanvasController.as next >
Encoding:
Text File  |  2009-10-26  |  3.3 KB  |  97 lines

  1. package com.livebrush.graphics
  2. {
  3.    import com.livebrush.events.CanvasEvent;
  4.    import com.livebrush.graphics.canvas.Canvas;
  5.    import com.livebrush.graphics.canvas.CanvasManager;
  6.    import com.livebrush.graphics.canvas.Layer;
  7.    import com.livebrush.utils.Controller;
  8.    import com.livebrush.utils.View;
  9.    import flash.events.Event;
  10.    import flash.events.KeyboardEvent;
  11.    import flash.events.MouseEvent;
  12.    
  13.    public class CanvasController extends Controller
  14.    {
  15.       public function CanvasController(view:View)
  16.       {
  17.          super(view);
  18.          this.init();
  19.       }
  20.       
  21.       override public function die() : void
  22.       {
  23.          this.canvas.stage.removeEventListener(Event.RESIZE,this.resizeHandler);
  24.          this.canvas.stage.removeEventListener(MouseEvent.MOUSE_MOVE,this.canvasLoop);
  25.          this.canvas.comp.removeEventListener(MouseEvent.MOUSE_DOWN,this.canvasMouseHandler);
  26.          this.canvas.comp.removeEventListener(MouseEvent.MOUSE_UP,this.canvasMouseHandler);
  27.          this.canvas.comp.removeEventListener(MouseEvent.RIGHT_MOUSE_DOWN,this.canvasMouseHandler);
  28.          this.canvas.stage.removeEventListener(KeyboardEvent.KEY_DOWN,this.keyHandler);
  29.          this.canvas.stage.removeEventListener(KeyboardEvent.KEY_DOWN,this.keyHandler,true);
  30.       }
  31.       
  32.       public function get canvasView() : CanvasView
  33.       {
  34.          return CanvasView(view);
  35.       }
  36.       
  37.       public function get activeLayers() : Array
  38.       {
  39.          return this.canvasManager.activeLayers;
  40.       }
  41.       
  42.       private function keyHandler(e:KeyboardEvent) : void
  43.       {
  44.          this.canvasManager.canvasKeyEvent(new CanvasEvent(CanvasEvent.KEY_EVENT,false,false,e));
  45.       }
  46.       
  47.       override protected function init() : void
  48.       {
  49.          this.canvas.stage.addEventListener(Event.RESIZE,this.resizeHandler);
  50.          this.canvas.stage.addEventListener(Event.ENTER_FRAME,this.canvasLoop);
  51.          this.canvas.comp.addEventListener(MouseEvent.MOUSE_DOWN,this.canvasMouseHandler);
  52.          this.canvas.comp.addEventListener(MouseEvent.MOUSE_UP,this.canvasMouseHandler);
  53.          this.canvas.comp.addEventListener(MouseEvent.RIGHT_MOUSE_DOWN,this.canvasMouseHandler);
  54.          this.canvas.stage.addEventListener(KeyboardEvent.KEY_DOWN,this.keyHandler);
  55.          this.canvas.stage.addEventListener(KeyboardEvent.KEY_UP,this.keyHandler);
  56.          this.resize();
  57.       }
  58.       
  59.       public function get activeLayer() : Layer
  60.       {
  61.          return this.canvasManager.activeLayer;
  62.       }
  63.       
  64.       public function resize() : void
  65.       {
  66.          this.canvasView.resize();
  67.       }
  68.       
  69.       public function get canvasManager() : CanvasManager
  70.       {
  71.          return this.canvasView.canvasManager;
  72.       }
  73.       
  74.       private function resizeHandler(e:Event) : void
  75.       {
  76.          this.resize();
  77.       }
  78.       
  79.       public function get canvas() : Canvas
  80.       {
  81.          return this.canvasView.canvas;
  82.       }
  83.       
  84.       private function canvasLoop(e:Event) : void
  85.       {
  86.          this.canvas.updateCursor();
  87.       }
  88.       
  89.       protected function canvasMouseHandler(e:MouseEvent) : void
  90.       {
  91.          this.canvas.lastMouseEvent = e;
  92.          this.canvasManager.canvasMouseEvent(new CanvasEvent(CanvasEvent.MOUSE_EVENT,false,false,e));
  93.       }
  94.    }
  95. }
  96.  
  97.