Subversion Repositories AndroidProjects

Rev

Blame | Last modification | View Log | RSS feed

package com.gebauz.Bauzoid.graphics.sprite;

import com.gebauz.Bauzoid.math.Vector4;

public class AtlasSpriteInstance
{
        public float x = 0.0f;
        public float y = 0.0f;
        public float w = 0.0f;
        public float h = 0.0f;
        public float angle = 0.0f;
        public float alpha = 1.0f;
        public Vector4 color = new Vector4(1.0f, 1.0f, 1.0f, 1.0f);
       
        public boolean mirrorX = false;
        public boolean mirrorY = false;
       
        /** Rotation and scaling pivot point in absolute coordinates. */
        public float pivotX = 0.0f;
        public float pivotY = 0.0f;

        private AtlasSprite mSprite = null;
        private int mRegionIndex = -1;
       
        public AtlasSpriteInstance(AtlasSprite sprite, int regionIndex)
        {
                mSprite = sprite;
                mRegionIndex = regionIndex;
               
                w = mSprite.getRegionWidth(mRegionIndex);
                h = mSprite.getRegionHeight(mRegionIndex);
                pivotX = w/2;
                pivotY = h/2;
        }
       
        public void render()
        {
                mSprite.x = x;
                mSprite.y = y;
                mSprite.w = w;
                mSprite.h = h;
                mSprite.angle = angle;
                mSprite.alpha = alpha;
                mSprite.pivotX = pivotX;
                mSprite.pivotY = pivotY;
                mSprite.mirrorX = mirrorX;
                mSprite.mirrorY = mirrorY;
                mSprite.color = color;
                mSprite.render(mRegionIndex);
        }
       
        public final int getRegionIndex()
        {
                return mRegionIndex;           
        }

}