DEADSOFTWARE

Add my repo for automultibind
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / misc / Renderer.java
index 637eed7c3b3f6dfd3f73fb35b94bbb122f7cec10..c2577d36e4940a996468b3dbb382369b19eb000d 100644 (file)
@@ -1,32 +1,33 @@
 package ru.deadsoftware.cavedroid.misc;
 
+import com.badlogic.gdx.Gdx;
+import com.badlogic.gdx.InputProcessor;
 import com.badlogic.gdx.graphics.OrthographicCamera;
 import com.badlogic.gdx.graphics.g2d.SpriteBatch;
-import com.badlogic.gdx.graphics.g2d.SpriteCache;
 import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
-import ru.deadsoftware.cavedroid.GameScreen;
+import com.badlogic.gdx.math.Rectangle;
 
-public abstract class Renderer {
+public abstract class Renderer implements InputProcessor {
 
-    private OrthographicCamera camera;
+    protected final ShapeRenderer shaper;
+    protected final SpriteBatch spriter;
+    private final OrthographicCamera camera;
+    private final Rectangle mCameraViewport;
 
-    protected ShapeRenderer shaper;
-    protected SpriteBatch spriter;
-    protected SpriteCache spriteCache;
-
-    public Renderer() {
-        this(GameScreen.getWidth(), GameScreen.getHeight());
+    protected Renderer() {
+        this(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
     }
 
-    public Renderer(float width, float height) {
+    protected Renderer(float width, float height) {
         camera = new OrthographicCamera();
         camera.setToOrtho(true, width, height);
         shaper = new ShapeRenderer();
         shaper.setProjectionMatrix(camera.combined);
         spriter = new SpriteBatch();
         spriter.setProjectionMatrix(camera.combined);
-        spriteCache = new SpriteCache();
-        spriteCache.setProjectionMatrix(camera.combined);
+
+        mCameraViewport =
+                new Rectangle(camera.position.x, camera.position.y, camera.viewportWidth, camera.viewportHeight);
     }
 
     public float getWidth() {
@@ -47,26 +48,76 @@ public abstract class Renderer {
 
     public void setCamPos(float x, float y) {
         camera.position.set(x, y, 0);
+        mCameraViewport.x = x;
+        mCameraViewport.y = y;
+    }
+
+    public Rectangle getCameraViewport() {
+        return mCameraViewport;
     }
 
     public void setFontScale(float scale) {
-        Assets.mcFont.getData().setScale(scale);
+        Assets.minecraftFont.getData().setScale(scale);
     }
 
     protected void setFontColor(int r, int g, int b) {
-        Assets.mcFont.setColor(r / 255f, g / 255f, b / 255f, 1f);
+        Assets.minecraftFont.setColor(r / 255f, g / 255f, b / 255f, 1f);
     }
 
     protected void drawString(String str, float x, float y) {
-        Assets.mcFont.draw(spriter, str, x, y);
+        Assets.minecraftFont.draw(spriter, str, x, y);
     }
 
     protected void drawString(String str) {
-        Assets.mcFont.draw(spriter, str,
+        Assets.minecraftFont.draw(spriter, str,
                 getWidth() / 2 - (float) Assets.getStringWidth(str) / 2,
                 getHeight() / 2 - (float) Assets.getStringHeight(str) / 2);
     }
 
-    public abstract void render();
+    public abstract void render(float delta);
+
+    @Override
+    public boolean keyDown(int keycode) {
+        return false;
+    }
 
+    @Override
+    public boolean keyUp(int keycode) {
+        return false;
+    }
+
+    @Override
+    public boolean keyTyped(char character) {
+        return false;
+    }
+
+    @Override
+    public boolean touchDown(int screenX, int screenY, int pointer, int button) {
+        return false;
+    }
+
+    @Override
+    public boolean touchUp(int screenX, int screenY, int pointer, int button) {
+        return false;
+    }
+
+    @Override
+    public boolean touchDragged(int screenX, int screenY, int pointer) {
+        return false;
+    }
+
+    @Override
+    public boolean mouseMoved(int screenX, int screenY) {
+        return false;
+    }
+
+    @Override
+    public boolean scrolled(float amountX, float amountY) {
+        return false;
+    }
+
+    @Override
+    public boolean touchCancelled(int i, int i1, int i2, int i3) {
+        return false;
+    }
 }