Android Open Source - tetris-android Android Fast Render View






From Project

Back to project page tetris-android.

License

The source code is released under:

MIT License

If you think the Android project tetris-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.badlogic.androidgames.framework.impl;
/* ww  w.ja v  a2s .  c  o  m*/
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class AndroidFastRenderView extends SurfaceView implements Runnable {
    AndroidGame game;
    Bitmap framebuffer;
    Thread renderThread = null;
    SurfaceHolder holder;
    volatile boolean running = false;
    
    public AndroidFastRenderView(AndroidGame game, Bitmap framebuffer) {
        super(game);
        this.game = game;
        this.framebuffer = framebuffer;
        this.holder = getHolder();
    }

    public void resume() { 
        running = true;
        renderThread = new Thread(this);
        renderThread.start();         
    }      
    
    public void run() {
        Rect dstRect = new Rect();
        long startTime = System.nanoTime();
        while(running) {  
            if(!holder.getSurface().isValid())
                continue;           
            
            float deltaTime = (System.nanoTime()-startTime) / 1000000000.0f;
            startTime = System.nanoTime();

            game.getCurrentScreen().update(deltaTime);
            game.getCurrentScreen().present(deltaTime);
            
            Canvas canvas = holder.lockCanvas();
            canvas.getClipBounds(dstRect);
            canvas.drawBitmap(framebuffer, null, dstRect, null);                           
            holder.unlockCanvasAndPost(canvas);
        }
    }

    public void pause() {                        
        running = false;                        
        while(true) {
            try {
                renderThread.join();
                break;
            } catch (InterruptedException e) {
                // retry
            }
        }
    }        
}




Java Source Code List

com.badlogic.androidgames.framework.Audio.java
com.badlogic.androidgames.framework.Color.java
com.badlogic.androidgames.framework.DynamicGameObject.java
com.badlogic.androidgames.framework.FileIOInternal.java
com.badlogic.androidgames.framework.FileIO.java
com.badlogic.androidgames.framework.GameObject.java
com.badlogic.androidgames.framework.Game.java
com.badlogic.androidgames.framework.Graphics.java
com.badlogic.androidgames.framework.Input.java
com.badlogic.androidgames.framework.Music.java
com.badlogic.androidgames.framework.Pixmap.java
com.badlogic.androidgames.framework.Pool.java
com.badlogic.androidgames.framework.Screen.java
com.badlogic.androidgames.framework.Sound.java
com.badlogic.androidgames.framework.TestScreen.java
com.badlogic.androidgames.framework.gl.Animation.java
com.badlogic.androidgames.framework.gl.BTMPFont.java
com.badlogic.androidgames.framework.gl.Camera2D.java
com.badlogic.androidgames.framework.gl.Font.java
com.badlogic.androidgames.framework.gl.SpatialHashGrid.java
com.badlogic.androidgames.framework.gl.SpriteBatcher.java
com.badlogic.androidgames.framework.gl.TextureRegion.java
com.badlogic.androidgames.framework.gl.Texture.java
com.badlogic.androidgames.framework.gl.Vertices.java
com.badlogic.androidgames.framework.helper.DebugDraw.java
com.badlogic.androidgames.framework.helper.FPSCounter.java
com.badlogic.androidgames.framework.helper.Logger.java
com.badlogic.androidgames.framework.impl.AccelerometerHandler.java
com.badlogic.androidgames.framework.impl.AndroidAudio.java
com.badlogic.androidgames.framework.impl.AndroidFastRenderView.java
com.badlogic.androidgames.framework.impl.AndroidFileIOInternal.java
com.badlogic.androidgames.framework.impl.AndroidFileIO.java
com.badlogic.androidgames.framework.impl.AndroidGame.java
com.badlogic.androidgames.framework.impl.AndroidGraphics.java
com.badlogic.androidgames.framework.impl.AndroidInput.java
com.badlogic.androidgames.framework.impl.AndroidMusic.java
com.badlogic.androidgames.framework.impl.AndroidPixmap.java
com.badlogic.androidgames.framework.impl.AndroidSound.java
com.badlogic.androidgames.framework.impl.GLGame.java
com.badlogic.androidgames.framework.impl.GLGraphics.java
com.badlogic.androidgames.framework.impl.GLScreen.java
com.badlogic.androidgames.framework.impl.KeyboardHandler.java
com.badlogic.androidgames.framework.impl.MultiTouchHandler.java
com.badlogic.androidgames.framework.impl.SingleTouchHandler.java
com.badlogic.androidgames.framework.impl.TouchHandler.java
com.badlogic.androidgames.framework.math.Circle.java
com.badlogic.androidgames.framework.math.OverlapTester.java
com.badlogic.androidgames.framework.math.Rectangle.java
com.badlogic.androidgames.framework.math.Vector2.java
com.ultimate39.android.games.tetris.Assets.java
com.ultimate39.android.games.tetris.FactoryShape.java
com.ultimate39.android.games.tetris.GameScreen.java
com.ultimate39.android.games.tetris.MainMenuScreen.java
com.ultimate39.android.games.tetris.Settings.java
com.ultimate39.android.games.tetris.Shape.java
com.ultimate39.android.games.tetris.Square.java
com.ultimate39.android.games.tetris.Tetris.java
com.ultimate39.android.games.tetris.World.java