sync viewport
This commit is contained in:
@@ -340,7 +340,9 @@ public abstract class Map implements TaskQueue {
|
||||
return mLayers.handleGesture(g, e);
|
||||
}
|
||||
|
||||
/** Called on render thread, use synchronized! */
|
||||
public abstract void beginFrame();
|
||||
|
||||
public abstract void doneFrame();
|
||||
/** Called on render thread, use synchronized! */
|
||||
public abstract void doneFrame(boolean needsRedraw);
|
||||
}
|
||||
|
||||
@@ -70,33 +70,22 @@ public class MapRenderer {
|
||||
mClearColor = GLUtils.colorToFloat(color);
|
||||
}
|
||||
|
||||
private final Runnable renderBegin = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mMap.beginFrame();
|
||||
}
|
||||
};
|
||||
private final Runnable renderDone = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mMap.doneFrame();
|
||||
}
|
||||
};
|
||||
|
||||
public void onDrawFrame() {
|
||||
frametime = System.currentTimeMillis();
|
||||
rerender = false;
|
||||
|
||||
mMap.post(renderBegin);
|
||||
mMap.beginFrame();
|
||||
|
||||
draw();
|
||||
|
||||
mMap.post(renderDone);
|
||||
mMap.doneFrame(rerender);
|
||||
|
||||
mBufferPool.releaseBuffers();
|
||||
TextureItem.disposeTextures();
|
||||
}
|
||||
|
||||
private void draw() {
|
||||
|
||||
GLState.setClearColor(mClearColor);
|
||||
|
||||
gl.depthMask(true);
|
||||
@@ -150,10 +139,6 @@ public class MapRenderer {
|
||||
BufferObject.checkBufferUsage(true);
|
||||
// FIXME also throw out some textures etc
|
||||
}
|
||||
if (rerender) {
|
||||
mMap.render();
|
||||
rerender = false;
|
||||
}
|
||||
}
|
||||
|
||||
public void onSurfaceChanged(int width, int height) {
|
||||
|
||||
Reference in New Issue
Block a user