X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fmisc%2FRenderer.java;h=c2577d36e4940a996468b3dbb382369b19eb000d;hb=d5bb9605c96da680c23987055375eafa47e66962;hp=18e077ac586e31ff158f21b7d6da1e41d7b5022f;hpb=59d07dd8a43cfb159045e6313cca4d519f67a6fc;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/misc/Renderer.java b/core/src/ru/deadsoftware/cavedroid/misc/Renderer.java index 18e077a..c2577d3 100644 --- a/core/src/ru/deadsoftware/cavedroid/misc/Renderer.java +++ b/core/src/ru/deadsoftware/cavedroid/misc/Renderer.java @@ -1,28 +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.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; - - 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); + + mCameraViewport = + new Rectangle(camera.position.x, camera.position.y, camera.viewportWidth, camera.viewportHeight); } public float getWidth() { @@ -43,6 +48,12 @@ 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) { @@ -63,6 +74,50 @@ public abstract class Renderer { 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; + } }