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 | } |