Shuffle more into BitmapThread.

This commit is contained in:
James Sanford 2012-10-01 19:25:40 -07:00
parent 406dc13ff3
commit ab5f7bd39a
2 changed files with 5 additions and 9 deletions

View File

@ -11,15 +11,15 @@ import android.view.SurfaceHolder;
import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantLock;
class BitmapThread extends Thread { class BitmapThread extends Thread {
public Handler mHandler = new Handler() { private Handler mHandler = new Handler() {
public void handleMessage(Message msg) { public void handleMessage(Message msg) {
updateScreen(); updateScreen();
} }
}; };
private SurfaceHolder mSurfaceHolder; private SurfaceHolder mSurfaceHolder;
private final ReentrantLock mSurfaceLock = new ReentrantLock();
private Bitmap mBitmap; private Bitmap mBitmap;
private ReentrantLock mSurfaceLock;
private Canvas mCanvas; private Canvas mCanvas;
private boolean mHaveSurface = false; private boolean mHaveSurface = false;
private boolean mScaled = false; private boolean mScaled = false;
@ -30,10 +30,9 @@ class BitmapThread extends Thread {
private FpsCounter fpsCount = new FpsCounter("kegs", "thread"); private FpsCounter fpsCount = new FpsCounter("kegs", "thread");
public void setBitmap(SurfaceHolder surfaceHolder, Bitmap bitmap, ReentrantLock surfaceLock) { public void setBitmap(SurfaceHolder surfaceHolder, Bitmap bitmap) {
mSurfaceHolder = surfaceHolder; mSurfaceHolder = surfaceHolder;
mBitmap = bitmap; mBitmap = bitmap;
mSurfaceLock = surfaceLock;
} }
public void run() { public void run() {

View File

@ -29,7 +29,7 @@ class KegsView extends SurfaceView implements SurfaceHolder.Callback {
protected ConcurrentLinkedQueue<Event.KegsEvent> mEventQueue = new ConcurrentLinkedQueue<Event.KegsEvent>(); protected ConcurrentLinkedQueue<Event.KegsEvent> mEventQueue = new ConcurrentLinkedQueue<Event.KegsEvent>();
private BitmapThread mBitmapThread; private final BitmapThread mBitmapThread = new BitmapThread();
class KegsThread extends Thread { class KegsThread extends Thread {
private Handler mHandler; private Handler mHandler;
@ -37,7 +37,6 @@ class KegsView extends SurfaceView implements SurfaceHolder.Callback {
private Canvas mCanvas; private Canvas mCanvas;
private SurfaceHolder mSurfaceHolder; private SurfaceHolder mSurfaceHolder;
private Context mContext; private Context mContext;
private final ReentrantLock mSurfaceLock = new ReentrantLock();
private final ReentrantLock mPauseLock = new ReentrantLock(); private final ReentrantLock mPauseLock = new ReentrantLock();
public KegsThread(SurfaceHolder surfaceHolder, Context context) { public KegsThread(SurfaceHolder surfaceHolder, Context context) {
@ -49,10 +48,8 @@ class KegsView extends SurfaceView implements SurfaceHolder.Callback {
Bitmap.Config.ARGB_8888); Bitmap.Config.ARGB_8888);
mBitmap.setHasAlpha(false); mBitmap.setHasAlpha(false);
mBitmapThread = new BitmapThread(); mBitmapThread.setBitmap(surfaceHolder, mBitmap);
mHandler = mBitmapThread.getHandler(); mHandler = mBitmapThread.getHandler();
mBitmapThread.setBitmap(surfaceHolder, mBitmap, mSurfaceLock);
} }
private FpsCounter fpsCount = new FpsCounter("kegs", "native"); private FpsCounter fpsCount = new FpsCounter("kegs", "native");