Subversion Repositories AndroidProjects

Rev

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

Rev Author Line No. Line
835 chris 1
package com.gebauz.bauzoid.menu;
2
 
3
import com.gebauz.bauzoid.game.Game;
4
import com.gebauz.bauzoid.graphics.sprite.Sprite;
5
import com.gebauz.bauzoid.parser.ScanException;
6
import com.gebauz.bauzoid.parser.Tokenizer;
7
 
8
public class Image extends ImageBase
9
{
10
 
11
        // Constants========================================================================================
12
 
13
        // Embedded Types===================================================================================
14
 
15
        // Fields===========================================================================================
16
 
17
        private Sprite mImage = null;
18
 
19
        // Methods==========================================================================================
20
 
21
        public Image(Game game, Menu parent, String name)
22
        {
23
                super(game, parent, name);
24
 
25
        }
26
 
27
        @Override
28
        public void init()
29
        {
30
                //mImage = new Sprite(getGame().getGraphics(), new Texture(Gdx.files.internal(getTextureName())));
31
                mImage = new Sprite(getGame().getGraphics(), getTextureName());
32
                mImage.init();
33
                if (mImage == null)
34
                        return;
35
 
36
                setSpriteProperties(mImage, this);
37
 
38
                //mImage.getTexture().setFilter(getMinFilter(), getMagFilter());
39
                getGraphics().renderStates.getTextureStage(0).setTextureFilter(mImage.getTexture(), getMinFilter(), getMagFilter());
40
        }
41
 
42
        @Override
43
        public void exit()
44
        {
45
                if (mImage != null)
46
                {
47
                        mImage.dispose();
48
                        mImage = null;
49
                }
50
        }
51
 
52
        @Override
53
        public void update(float deltaTime)
54
        {
55
                if (mImage != null)
56
                {
57
                        mImage.update(deltaTime);
58
 
59
                        setSpriteProperties(mImage, this);
60
                }
61
        }
62
 
63
        @Override
64
        public void render()
65
        {
66
                if (mImage != null)
67
                {
68
                        mImage.render();
69
                }
70
        }
71
 
72
 
73
        @Override
74
        public boolean parseLine(String identifier, Tokenizer tokenizer) throws ScanException
75
        {
76
/*              if (identifier.equalsIgnoreCase("texture"))
77
                {
78
                        String filename = tokenizer.readString();
79
                        mImage = new Sprite(getGame().getGraphics(), new Texture(Gdx.files.internal(filename)));
80
                        tokenizer.readToken(";");
81
                }
82
                else*/
83
                {
84
                        return super.parseLine(identifier, tokenizer);
85
                }
86
        }
87
 
88
        public static void setSpriteProperties(Sprite image, MenuItem menuItem)
89
        {
900 chris 90
                image.param.x = menuItem.getPositionX();
91
                image.param.y = menuItem.getPositionY();
835 chris 92
 
900 chris 93
                image.param.w = menuItem.getWidth();
94
                image.param.h = menuItem.getHeight();
835 chris 95
 
96
                //image.alpha = menuItem.getColor().w;
900 chris 97
                image.param.color = menuItem.getColor();
835 chris 98
 
99
                HorizontalAlign horiz = menuItem.getHorizontalAlignment();
100
                if (horiz == HorizontalAlign.RIGHT)
900 chris 101
                        image.param.pivotX = image.param.w;
835 chris 102
                else if (horiz == HorizontalAlign.CENTER)
900 chris 103
                        image.param.pivotX = image.param.w/2;
835 chris 104
                else if (horiz == HorizontalAlign.LEFT)
900 chris 105
                        image.param.pivotX = 0;
835 chris 106
 
107
                VerticalAlign vert = menuItem.getVerticalAlignment();
108
                if (vert == VerticalAlign.BOTTOM)
900 chris 109
                        image.param.pivotY = image.param.h;
835 chris 110
                else if (vert == VerticalAlign.CENTER)
900 chris 111
                        image.param.pivotY = image.param.h / 2;
835 chris 112
                else if (vert == VerticalAlign.TOP)
900 chris 113
                        image.param.pivotY = 0;
835 chris 114
        }
115
 
116
        // Getters/Setters==================================================================================
117
 
118
 
119
 
120
 
121
}