home *** CD-ROM | disk | FTP | other *** search
- package com.livebrush.graphics
- {
- import com.livebrush.events.CanvasEvent;
- import com.livebrush.graphics.canvas.Canvas;
- import com.livebrush.graphics.canvas.CanvasManager;
- import com.livebrush.graphics.canvas.Layer;
- import com.livebrush.utils.Controller;
- import com.livebrush.utils.View;
- import flash.events.Event;
- import flash.events.KeyboardEvent;
- import flash.events.MouseEvent;
-
- public class CanvasController extends Controller
- {
- public function CanvasController(view:View)
- {
- super(view);
- this.init();
- }
-
- override public function die() : void
- {
- this.canvas.stage.removeEventListener(Event.RESIZE,this.resizeHandler);
- this.canvas.stage.removeEventListener(MouseEvent.MOUSE_MOVE,this.canvasLoop);
- this.canvas.comp.removeEventListener(MouseEvent.MOUSE_DOWN,this.canvasMouseHandler);
- this.canvas.comp.removeEventListener(MouseEvent.MOUSE_UP,this.canvasMouseHandler);
- this.canvas.comp.removeEventListener(MouseEvent.RIGHT_MOUSE_DOWN,this.canvasMouseHandler);
- this.canvas.stage.removeEventListener(KeyboardEvent.KEY_DOWN,this.keyHandler);
- this.canvas.stage.removeEventListener(KeyboardEvent.KEY_DOWN,this.keyHandler,true);
- }
-
- public function get canvasView() : CanvasView
- {
- return CanvasView(view);
- }
-
- public function get activeLayers() : Array
- {
- return this.canvasManager.activeLayers;
- }
-
- private function keyHandler(e:KeyboardEvent) : void
- {
- this.canvasManager.canvasKeyEvent(new CanvasEvent(CanvasEvent.KEY_EVENT,false,false,e));
- }
-
- override protected function init() : void
- {
- this.canvas.stage.addEventListener(Event.RESIZE,this.resizeHandler);
- this.canvas.stage.addEventListener(Event.ENTER_FRAME,this.canvasLoop);
- this.canvas.comp.addEventListener(MouseEvent.MOUSE_DOWN,this.canvasMouseHandler);
- this.canvas.comp.addEventListener(MouseEvent.MOUSE_UP,this.canvasMouseHandler);
- this.canvas.comp.addEventListener(MouseEvent.RIGHT_MOUSE_DOWN,this.canvasMouseHandler);
- this.canvas.stage.addEventListener(KeyboardEvent.KEY_DOWN,this.keyHandler);
- this.canvas.stage.addEventListener(KeyboardEvent.KEY_UP,this.keyHandler);
- this.resize();
- }
-
- public function get activeLayer() : Layer
- {
- return this.canvasManager.activeLayer;
- }
-
- public function resize() : void
- {
- this.canvasView.resize();
- }
-
- public function get canvasManager() : CanvasManager
- {
- return this.canvasView.canvasManager;
- }
-
- private function resizeHandler(e:Event) : void
- {
- this.resize();
- }
-
- public function get canvas() : Canvas
- {
- return this.canvasView.canvas;
- }
-
- private function canvasLoop(e:Event) : void
- {
- this.canvas.updateCursor();
- }
-
- protected function canvasMouseHandler(e:MouseEvent) : void
- {
- this.canvas.lastMouseEvent = e;
- this.canvasManager.canvasMouseEvent(new CanvasEvent(CanvasEvent.MOUSE_EVENT,false,false,e));
- }
- }
- }
-
-