package com.exanimo.gallery { import com.exanimo.gallery.*; import flash.display.Bitmap; import flash.display.DisplayObject; import flash.display.Loader; import flash.events.Event; import flash.events.EventDispatcher; import flash.net.URLRequest; import flash.utils.Dictionary; /** * * .. * * @langversion ActionScript 3 * @playerversion Flash 9.0.0 * * @author Eric Eldredge * @author Rich Perez * @author Matthew Tretter * @since 2009.01.12 * */ public class GalleryLoadManager extends EventDispatcher { private static var _loaders:Dictionary = new Dictionary(true); public function GalleryLoadManager():void { this._init(); } private function _init():void { GalleryLoadManager._loaders[this] = {}; } public function getItemLoaderInfo(source:String):Object { var ldr:Loader = this._getItemLoader(source); return ldr ? ldr.contentLoaderInfo : null; } public function getItemLoader(source:String):DisplayObject { return this._getItemLoader(source); } private function _getItemLoader(source:String):Loader { for each (var o:Object in GalleryLoadManager._loaders) { for (var prop:String in o) { if (prop == source) { return o[prop]; } } } // Loader not found. Create one. var ldr:Loader = new Loader(); GalleryLoadManager._loaders[this][source] = ldr; return ldr; } public function loadItem(source:String):void { var ldr:Loader = this.getItemLoader(source) as Loader; ldr.load(new URLRequest(source)); } } }