public virtual void addKerning(int charID, float amount)
 {
     if(mKernings == null)
     {
         mKernings = new AsDictionary();
     }
     mKernings[charID] = amount;
 }
 public AsBitmapChar(int id, AsTexture texture, float xOffset, float yOffset, float xAdvance)
 {
     mCharID = id;
     mTexture = texture;
     mXOffset = xOffset;
     mYOffset = yOffset;
     mXAdvance = xAdvance;
     mKernings = null;
 }
 public AsTextureAtlas(AsTexture texture, AsXML atlasXml)
 {
     mTextureRegions = new AsDictionary();
     mTextureFrames = new AsDictionary();
     mAtlasTexture = texture;
     if(atlasXml != null)
     {
         parseAtlasXml(atlasXml);
     }
 }
 public virtual void addEventListener(String type, AsEventListenerCallback listener, bool useCapture, int priority, bool useWeakReference)
 {
     if((mEventListeners == null))
     {
         mEventListeners = new AsDictionary();
     }
     AsVector<AsEventListenerCallback> listeners = (AsVector<AsEventListenerCallback>)(mEventListeners[type]);
     if((listeners == null))
     {
         listeners = new AsVector<AsEventListenerCallback>();
         mEventListeners[type] = listeners;
     }
     listeners.push(listener);
 }
 public AsBitmapFont(AsTexture texture, AsXML fontXml)
 {
     if(texture == null && fontXml == null)
     {
         texture = AsMiniBitmapFont.getTexture();
         fontXml = AsMiniBitmapFont.getXml();
     }
     mName = "unknown";
     mLineHeight = mSize = mBaseline = 14;
     mTexture = texture;
     mChars = new AsDictionary();
     mHelperImage = new AsImage(texture);
     mCharLocationPool = new AsVector<AsCharLocation>();
     if(fontXml != null)
     {
         parseFontXml(fontXml);
     }
 }
 public virtual void addEventListener(String type, AsEventListenerCallback listener)
 {
     if(mEventListeners == null)
     {
         mEventListeners = new AsDictionary();
     }
     AsVector<AsEventListenerCallback> listeners = mEventListeners[type] as AsVector<AsEventListenerCallback>;
     if(listeners == null)
     {
         mEventListeners[type] = new AsVector<AsEventListenerCallback>();
     }
     else
     {
         if(listeners.indexOf(listener) == -1)
         {
             listeners.push(listener);
         }
     }
 }
 private static void registerDefaults()
 {
     sTransitions = new AsDictionary();
     register(LINEAR, linear);
     register(EASE_IN, easeIn);
     register(EASE_OUT, easeOut);
     register(EASE_IN_OUT, easeInOut);
     register(EASE_OUT_IN, easeOutIn);
     register(EASE_IN_BACK, easeInBack);
     register(EASE_OUT_BACK, easeOutBack);
     register(EASE_IN_OUT_BACK, easeInOutBack);
     register(EASE_OUT_IN_BACK, easeOutInBack);
     register(EASE_IN_ELASTIC, easeInElastic);
     register(EASE_OUT_ELASTIC, easeOutElastic);
     register(EASE_IN_OUT_ELASTIC, easeInOutElastic);
     register(EASE_OUT_IN_ELASTIC, easeOutInElastic);
     register(EASE_IN_BOUNCE, easeInBounce);
     register(EASE_OUT_BOUNCE, easeOutBounce);
     register(EASE_IN_OUT_BOUNCE, easeInOutBounce);
     register(EASE_OUT_IN_BOUNCE, easeOutInBounce);
 }
 public virtual void removeEventListeners(String type)
 {
     if(((type != null) && (mEventListeners != null)))
     {
         mEventListeners.remove(type);
     }
     else
     {
         mEventListeners = null;
     }
 }
 private static AsDictionary getBitmapFonts()
 {
     AsDictionary fonts = AsStarling.getCurrent().getCustomData()[BITMAP_FONT_DATA_NAME] as AsDictionary;
     if(fonts == null)
     {
         fonts = new AsDictionary();
         AsStarling.getCurrent().getCustomData()[BITMAP_FONT_DATA_NAME] = fonts;
     }
     return fonts;
 }
 public AsStarling(AsClass rootClass, bc.flash.display.AsStage stage, AsRectangle viewPort, AsStage3D stage3D, String renderMode, String profile)
 {
     if(stage == null)
     {
         throw new AsArgumentError("Stage must not be null");
     }
     if(rootClass == null)
     {
         throw new AsArgumentError("Root class must not be null");
     }
     if(viewPort == null)
     {
         viewPort = new AsRectangle(0, 0, stage.getStageWidth(), stage.getStageHeight());
     }
     if(stage3D == null)
     {
         stage3D = stage.getStage3Ds()[0];
     }
     makeCurrent();
     mRootClass = rootClass;
     mViewPort = viewPort;
     mStage3D = stage3D;
     mStage = new AsStage(viewPort.width, viewPort.height, stage.getColor());
     mNativeOverlay = new AsSprite();
     mNativeStage = stage;
     mNativeStage.addChild(mNativeOverlay);
     mTouchProcessor = new AsTouchProcessor(mStage);
     mJuggler = new AsJuggler();
     mAntiAliasing = 0;
     mSimulateMultitouch = false;
     mEnableErrorChecking = false;
     mLastFrameTimestamp = AsGlobal.getTimer() / 1000.0f;
     mPrograms = new AsDictionary();
     mCustomData = new AsDictionary();
     mSupport = new AsRenderSupport();
     AsArray __touchEventTypes_ = getTouchEventTypes();
     if (__touchEventTypes_ != null)
     {
         foreach (String touchEventType in __touchEventTypes_)
         {
             stage.addEventListener(touchEventType, onTouch, false, 0, true);
         }
     }
     stage.addEventListener(AsEvent.ENTER_FRAME, onEnterFrame, false, 0, true);
     stage.addEventListener(AsKeyboardEvent.KEY_DOWN, onKey, false, 0, true);
     stage.addEventListener(AsKeyboardEvent.KEY_UP, onKey, false, 0, true);
     stage.addEventListener(AsEvent.RESIZE, onResize, false, 0, true);
     if(mStage3D.getContext3D() != null && mStage3D.getContext3D().getDriverInfo() != "Disposed")
     {
         mShareContext = true;
         AsGlobal.setTimeout(initialize, 1);
     }
     else
     {
         mShareContext = false;
         mStage3D.addEventListener(AsEvent.CONTEXT3D_CREATE, onContextCreated, false, 1, true);
         mStage3D.addEventListener(AsErrorEvent.ERROR, onStage3DError, false, 1, true);
         try
         {
             mStage3D.requestContext3D(renderMode);
         }
         catch (AsError e)
         {
             showFatalError("Context3D error: " + e.message);
         }
     }
 }
 private void initializeGraphicsAPI()
 {
     mContext = mStage3D.getContext3D();
     mContext.setEnableErrorChecking(mEnableErrorChecking);
     mPrograms = new AsDictionary();
     updateViewPort();
     AsGlobal.trace("[Starling] Initialization complete.");
     AsGlobal.trace("[Starling] Display Driver:", mContext.getDriverInfo());
     dispatchEventWith(starling.events.Event.CONTEXT3D_CREATE, false, mContext);
 }