package org.wheelmap.android.tango.renderer; import android.content.Context; import android.graphics.Bitmap; import java.util.Vector; import javax.microedition.khronos.opengles.GL10; public class WheelmapTangoRajawaliRenderer extends TangoRajawaliRenderer { private WheelmapModeRenderer renderer; private Vector<Runnable> actions = new Vector<Runnable>(); private WheelmapRajawaliObjectFactory objectFactory = new WheelmapRajawaliObjectFactory(); public WheelmapTangoRajawaliRenderer(Context context) { super(context); } public WheelmapRajawaliObjectFactory getWheelmapRajawaliObjectFactory() { return objectFactory; } public void setWheelmapRajawaliObjectFactory(WheelmapRajawaliObjectFactory factory) { objectFactory = factory; } public void setModeRenderer(WheelmapModeRenderer newRenderer) { if (renderer != null) { renderer.clear(); } renderer = newRenderer; if (renderer != null) { renderer.setRajawaliRenderer(this); } } public WheelmapModeRenderer getModeRenderer() { return renderer; } @Override protected void onRender(long ellapsedRealtime, double deltaTime) { synchronized (this) { // invoke all actions if (actions.size() > 0) { for (Runnable action : actions) { action.run(); } actions.clear(); } renderer.onRender(ellapsedRealtime, deltaTime); } super.onRender(ellapsedRealtime, deltaTime); } public void invokeAction(Runnable runnable) { synchronized (this) { actions.add(runnable); } } }