DEADSOFTWARE

Rewrite menu
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / misc / Renderer.java
1 package ru.deadsoftware.cavedroid.misc;
3 import com.badlogic.gdx.InputProcessor;
4 import com.badlogic.gdx.graphics.OrthographicCamera;
5 import com.badlogic.gdx.graphics.g2d.SpriteBatch;
6 import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
7 import ru.deadsoftware.cavedroid.GameScreen;
9 public abstract class Renderer implements InputProcessor {
11 private final OrthographicCamera camera;
13 protected final ShapeRenderer shaper;
14 protected final SpriteBatch spriter;
16 protected Renderer() {
17 this(GameScreen.getWidth(), GameScreen.getHeight());
18 }
20 protected Renderer(float width, float height) {
21 camera = new OrthographicCamera();
22 camera.setToOrtho(true, width, height);
23 shaper = new ShapeRenderer();
24 shaper.setProjectionMatrix(camera.combined);
25 spriter = new SpriteBatch();
26 spriter.setProjectionMatrix(camera.combined);
27 }
29 public float getWidth() {
30 return camera.viewportWidth;
31 }
33 public float getHeight() {
34 return camera.viewportHeight;
35 }
37 public float getCamX() {
38 return camera.position.x;
39 }
41 public float getCamY() {
42 return camera.position.y;
43 }
45 public void setCamPos(float x, float y) {
46 camera.position.set(x, y, 0);
47 }
49 public void setFontScale(float scale) {
50 Assets.minecraftFont.getData().setScale(scale);
51 }
53 protected void setFontColor(int r, int g, int b) {
54 Assets.minecraftFont.setColor(r / 255f, g / 255f, b / 255f, 1f);
55 }
57 protected void drawString(String str, float x, float y) {
58 Assets.minecraftFont.draw(spriter, str, x, y);
59 }
61 protected void drawString(String str) {
62 Assets.minecraftFont.draw(spriter, str,
63 getWidth() / 2 - (float) Assets.getStringWidth(str) / 2,
64 getHeight() / 2 - (float) Assets.getStringHeight(str) / 2);
65 }
67 public abstract void render();
69 @Override
70 public boolean keyDown(int keycode) {
71 return false;
72 }
74 @Override
75 public boolean keyUp(int keycode) {
76 return false;
77 }
79 @Override
80 public boolean keyTyped(char character) {
81 return false;
82 }
84 @Override
85 public boolean touchDown(int screenX, int screenY, int pointer, int button) {
86 return false;
87 }
89 @Override
90 public boolean touchUp(int screenX, int screenY, int pointer, int button) {
91 return false;
92 }
94 @Override
95 public boolean touchDragged(int screenX, int screenY, int pointer) {
96 return false;
97 }
99 @Override
100 public boolean mouseMoved(int screenX, int screenY) {
101 return false;
104 @Override
105 public boolean scrolled(int amount) {
106 return false;