1 package ru
.deadsoftware
.cavedroid
.misc
;
3 import com
.badlogic
.gdx
.Gdx
;
4 import com
.badlogic
.gdx
.InputProcessor
;
5 import com
.badlogic
.gdx
.graphics
.OrthographicCamera
;
6 import com
.badlogic
.gdx
.graphics
.g2d
.SpriteBatch
;
7 import com
.badlogic
.gdx
.graphics
.glutils
.ShapeRenderer
;
8 import com
.badlogic
.gdx
.math
.Rectangle
;
10 public abstract class Renderer
implements InputProcessor
{
12 protected final ShapeRenderer shaper
;
13 protected final SpriteBatch spriter
;
14 private final OrthographicCamera camera
;
15 private final Rectangle mCameraViewport
;
17 protected Renderer() {
18 this(Gdx
.graphics
.getWidth(), Gdx
.graphics
.getHeight());
21 protected Renderer(float width
, float height
) {
22 camera
= new OrthographicCamera();
23 camera
.setToOrtho(true, width
, height
);
24 shaper
= new ShapeRenderer();
25 shaper
.setProjectionMatrix(camera
.combined
);
26 spriter
= new SpriteBatch();
27 spriter
.setProjectionMatrix(camera
.combined
);
30 new Rectangle(camera
.position
.x
, camera
.position
.y
, camera
.viewportWidth
, camera
.viewportHeight
);
33 public float getWidth() {
34 return camera
.viewportWidth
;
37 public float getHeight() {
38 return camera
.viewportHeight
;
41 public float getCamX() {
42 return camera
.position
.x
;
45 public float getCamY() {
46 return camera
.position
.y
;
49 public void setCamPos(float x
, float y
) {
50 camera
.position
.set(x
, y
, 0);
51 mCameraViewport
.x
= x
;
52 mCameraViewport
.y
= y
;
55 public Rectangle
getCameraViewport() {
56 return mCameraViewport
;
59 public void setFontScale(float scale
) {
60 Assets
.minecraftFont
.getData().setScale(scale
);
63 protected void setFontColor(int r
, int g
, int b
) {
64 Assets
.minecraftFont
.setColor(r
/ 255f, g
/ 255f, b
/ 255f, 1f);
67 protected void drawString(String str
, float x
, float y
) {
68 Assets
.minecraftFont
.draw(spriter
, str
, x
, y
);
71 protected void drawString(String str
) {
72 Assets
.minecraftFont
.draw(spriter
, str
,
73 getWidth() / 2 - (float) Assets
.getStringWidth(str
) / 2,
74 getHeight() / 2 - (float) Assets
.getStringHeight(str
) / 2);
77 public abstract void render(float delta
);
80 public boolean keyDown(int keycode
) {
85 public boolean keyUp(int keycode
) {
90 public boolean keyTyped(char character
) {
95 public boolean touchDown(int screenX
, int screenY
, int pointer
, int button
) {
100 public boolean touchUp(int screenX
, int screenY
, int pointer
, int button
) {
105 public boolean touchDragged(int screenX
, int screenY
, int pointer
) {
110 public boolean mouseMoved(int screenX
, int screenY
) {
115 public boolean scrolled(float amountX
, float amountY
) {
120 public boolean touchCancelled(int i
, int i1
, int i2
, int i3
) {