public AsTextureAtlas(AsTexture texture, AsXML atlasXml) { mTextureRegions = new AsDictionary(); mTextureFrames = new AsDictionary(); mAtlasTexture = texture; if(atlasXml != null) { parseAtlasXml(atlasXml); } }
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); } }
private void parseFontXml(AsXML fontXml) { float scale = mTexture.getScale(); AsRectangle frame = mTexture.getFrame(); mName = fontXml.elements("info").attribute("face"); mSize = AsGlobal.parseFloat(fontXml.elements("info").attribute("size")) / scale; mLineHeight = AsGlobal.parseFloat(fontXml.elements("common").attribute("lineHeight")) / scale; mBaseline = AsGlobal.parseFloat(fontXml.elements("common").attribute("base")) / scale; if(fontXml.elements("info").attribute("smooth").ToString() == "0") { setSmoothing(AsTextureSmoothing.NONE); } if(mSize <= 0) { AsGlobal.trace("[Starling] Warning: invalid font size in '" + mName + "' font."); mSize = mSize == 0.0f ? 16.0f : mSize * -1.0f; } AsXMLList __charElements_ = fontXml.elements("chars").elements("_char"); if (__charElements_ != null) { foreach (AsXML charElement in __charElements_) { int id = (int)(AsGlobal.parseInt(charElement.attribute("id"))); float xOffset = AsGlobal.parseFloat(charElement.attribute("xoffset")) / scale; float yOffset = AsGlobal.parseFloat(charElement.attribute("yoffset")) / scale; float xAdvance = AsGlobal.parseFloat(charElement.attribute("xadvance")) / scale; AsRectangle region = new AsRectangle(); region.x = AsGlobal.parseFloat(charElement.attribute("x")) / scale + frame.x; region.y = AsGlobal.parseFloat(charElement.attribute("y")) / scale + frame.y; region.width = AsGlobal.parseFloat(charElement.attribute("width")) / scale; region.height = AsGlobal.parseFloat(charElement.attribute("height")) / scale; AsTexture texture = AsTexture.fromTexture(mTexture, region); AsBitmapChar bitmapChar = new AsBitmapChar(id, texture, xOffset, yOffset, xAdvance); addChar(id, bitmapChar); } } AsXMLList __kerningElements_ = fontXml.elements("kernings").elements("kerning"); if (__kerningElements_ != null) { foreach (AsXML kerningElement in __kerningElements_) { int first = (int)(AsGlobal.parseInt(kerningElement.attribute("first"))); int second = (int)(AsGlobal.parseInt(kerningElement.attribute("second"))); float amount = AsGlobal.parseFloat(kerningElement.attribute("amount")) / scale; if(mChars.containsKey(second)) { getChar(second).addKerning(first, amount); } } } }
public static void disposeXML(AsXML node) { throw new AsNotImplementedError(); }
public virtual AsXML appendChild(AsXML child) { mElements.push(child); return(child); }
protected virtual void parseAtlasXml(AsXML atlasXml) { float scale = mAtlasTexture.getScale(); AsSubTexture __subTextures_ = atlasXml.SubTexture; if (__subTextures_ != null) { foreach (AsXML subTexture in __subTextures_) { String name = subTexture.attribute("name"); float x = AsGlobal.parseFloat(subTexture.attribute("x")) / scale; float y = AsGlobal.parseFloat(subTexture.attribute("y")) / scale; float width = AsGlobal.parseFloat(subTexture.attribute("width")) / scale; float height = AsGlobal.parseFloat(subTexture.attribute("height")) / scale; float frameX = AsGlobal.parseFloat(subTexture.attribute("frameX")) / scale; float frameY = AsGlobal.parseFloat(subTexture.attribute("frameY")) / scale; float frameWidth = AsGlobal.parseFloat(subTexture.attribute("frameWidth")) / scale; float frameHeight = AsGlobal.parseFloat(subTexture.attribute("frameHeight")) / scale; AsRectangle region = new AsRectangle(x, y, width, height); AsRectangle frame = frameWidth > 0 && frameHeight > 0 ? new AsRectangle(frameX, frameY, frameWidth, frameHeight) : null; addRegion(name, region, frame); } } }
public virtual AsXML appendChild(AsXML child) { mElements.push(child); return child; }
public override bc.flash.xml.AsXML appendChild(bc.flash.xml.AsXML child) { return(mChildren.appendChild(child)); }
public virtual AsXML appendChild(AsXML child) { return(child); }
public override AsXML appendChild(AsXML child) { return mChildren.appendChild(child); }
public virtual AsXML appendChild(AsXML child) { return child; }