Subversion Repositories AndroidProjects

Rev

Rev 835 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.gebauz.bauzoid.menu;

import com.gebauz.bauzoid.game.Game;
import com.gebauz.bauzoid.graphics.sprite.Sprite;
import com.gebauz.bauzoid.parser.ScanException;
import com.gebauz.bauzoid.parser.Tokenizer;

public class Image extends ImageBase
{

        // Constants========================================================================================

        // Embedded Types===================================================================================

        // Fields===========================================================================================

        private Sprite mImage = null;
       
        // Methods==========================================================================================

        public Image(Game game, Menu parent, String name)
        {
                super(game, parent, name);

        }

        @Override
        public void init()
        {
                //mImage = new Sprite(getGame().getGraphics(), new Texture(Gdx.files.internal(getTextureName())));
                mImage = new Sprite(getGame().getGraphics(), getTextureName());
                mImage.init();
                if (mImage == null)
                        return;
               
                setSpriteProperties(mImage, this);
               
                //mImage.getTexture().setFilter(getMinFilter(), getMagFilter());
                getGraphics().renderStates.getTextureStage(0).setTextureFilter(mImage.getTexture(), getMinFilter(), getMagFilter());
        }

        @Override
        public void exit()
        {
                if (mImage != null)
                {
                        mImage.dispose();
                        mImage = null;
                }
        }

        @Override
        public void update(float deltaTime)
        {
                if (mImage != null)
                {
                        mImage.update(deltaTime);
               
                        setSpriteProperties(mImage, this);
                }
        }
       
        @Override
        public void render()
        {
                if (mImage != null)
                {
                        mImage.render();
                }
        }
       
       
        @Override
        public boolean parseLine(String identifier, Tokenizer tokenizer) throws ScanException
        {
/*              if (identifier.equalsIgnoreCase("texture"))
                {
                        String filename = tokenizer.readString();
                        mImage = new Sprite(getGame().getGraphics(), new Texture(Gdx.files.internal(filename)));
                        tokenizer.readToken(";");
                }
                else*/

                {
                        return super.parseLine(identifier, tokenizer);
                }
        }
       
        public static void setSpriteProperties(Sprite image, MenuItem menuItem)
        {
                image.param.x = menuItem.getPositionX();
                image.param.y = menuItem.getPositionY();
               
                image.param.w = menuItem.getWidth();
                image.param.h = menuItem.getHeight();
               
                //image.alpha = menuItem.getColor().w;
                image.param.color = menuItem.getColor();
               
                HorizontalAlign horiz = menuItem.getHorizontalAlignment();
                if (horiz == HorizontalAlign.RIGHT)
                        image.param.pivotX = image.param.w;
                else if (horiz == HorizontalAlign.CENTER)
                        image.param.pivotX = image.param.w/2;
                else if (horiz == HorizontalAlign.LEFT)
                        image.param.pivotX = 0;
               
                VerticalAlign vert = menuItem.getVerticalAlignment();
                if (vert == VerticalAlign.BOTTOM)
                        image.param.pivotY = image.param.h;
                else if (vert == VerticalAlign.CENTER)
                        image.param.pivotY = image.param.h / 2;
                else if (vert == VerticalAlign.TOP)
                        image.param.pivotY = 0;
        }
       
        // Getters/Setters==================================================================================


       
       
}