package com.drawingapp.screen { import flash.display.Sprite; import flash.display.DisplayObjectContainer; import flash.events.Event; import flash.display.StageAlign; import flash.display.StageScaleMode; public class Screen extends Sprite { private var _cursorLayer:DisplayObjectContainer; public function get cursorLayer():DisplayObjectContainer { return _cursorLayer; } private var _uiLayer:DisplayObjectContainer; public function get uiLayer():DisplayObjectContainer { return _uiLayer; } private var _canvasLayer:DisplayObjectContainer; public function get canvasLayer():DisplayObjectContainer { return _canvasLayer; } public function Screen() { createCanvasLayer(); createUILayer(); createCursorLayer(); addEventListener( Event.ADDED_TO_STAGE, prepareStage ); } private function prepareStage( event:Event ):void { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; stage.frameRate = 60; } private function createCanvasLayer():void { _canvasLayer = new Sprite(); addChild( canvasLayer ); } private function createUILayer():void { _uiLayer = new Sprite(); addChild( uiLayer ); } private function createCursorLayer():void { _cursorLayer = new Sprite(); cursorLayer.mouseChildren = false; cursorLayer.mouseEnabled = false; addChild( cursorLayer ); } } }