DEADSOFTWARE

Update README
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / misc / Renderer.java
index a6154eed85952aa8889028b8b942e96987d403e6..c2577d36e4940a996468b3dbb382369b19eb000d 100644 (file)
@@ -1,19 +1,21 @@
 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.glutils.ShapeRenderer;
-import ru.deadsoftware.cavedroid.GameScreen;
+import com.badlogic.gdx.math.Rectangle;
 
 public abstract class Renderer implements InputProcessor {
 
     protected final ShapeRenderer shaper;
     protected final SpriteBatch spriter;
     private final OrthographicCamera camera;
+    private final Rectangle mCameraViewport;
 
     protected Renderer() {
-        this(GameScreen.getWidth(), GameScreen.getHeight());
+        this(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
     }
 
     protected Renderer(float width, float height) {
@@ -23,6 +25,9 @@ public abstract class Renderer implements InputProcessor {
         shaper.setProjectionMatrix(camera.combined);
         spriter = new SpriteBatch();
         spriter.setProjectionMatrix(camera.combined);
+
+        mCameraViewport =
+                new Rectangle(camera.position.x, camera.position.y, camera.viewportWidth, camera.viewportHeight);
     }
 
     public float getWidth() {
@@ -43,6 +48,12 @@ public abstract class Renderer implements InputProcessor {
 
     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) {
@@ -63,7 +74,7 @@ public abstract class Renderer implements InputProcessor {
                 getHeight() / 2 - (float) Assets.getStringHeight(str) / 2);
     }
 
-    public abstract void render();
+    public abstract void render(float delta);
 
     @Override
     public boolean keyDown(int keycode) {
@@ -101,8 +112,12 @@ public abstract class Renderer implements InputProcessor {
     }
 
     @Override
-    public boolean scrolled(int amount) {
+    public boolean scrolled(float amountX, float amountY) {
         return false;
     }
 
+    @Override
+    public boolean touchCancelled(int i, int i1, int i2, int i3) {
+        return false;
+    }
 }