rename: ContinuousTask -> SimpleWorker
This commit is contained in:
parent
401b0bf2dc
commit
a0586a1897
@ -51,7 +51,7 @@ import org.oscim.tiling.TileRenderer;
|
|||||||
import org.oscim.tiling.TileSet;
|
import org.oscim.tiling.TileSet;
|
||||||
import org.oscim.utils.FastMath;
|
import org.oscim.utils.FastMath;
|
||||||
import org.oscim.utils.OBB2D;
|
import org.oscim.utils.OBB2D;
|
||||||
import org.oscim.utils.async.ContinuousTask;
|
import org.oscim.utils.async.SimpleWorker;
|
||||||
import org.oscim.utils.pool.Pool;
|
import org.oscim.utils.pool.Pool;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@ -69,14 +69,14 @@ class TextRenderer extends ElementRenderer {
|
|||||||
|
|
||||||
//private ElementLayers mDebugLayer;
|
//private ElementLayers mDebugLayer;
|
||||||
|
|
||||||
class TextureLayers {
|
class LabelTask {
|
||||||
final TextureLayer layers;
|
final TextureLayer layers;
|
||||||
final TextLayer textLayer;
|
final TextLayer textLayer;
|
||||||
final SymbolLayer symbolLayer;
|
final SymbolLayer symbolLayer;
|
||||||
|
|
||||||
final MapPosition pos;
|
final MapPosition pos;
|
||||||
|
|
||||||
TextureLayers() {
|
LabelTask() {
|
||||||
pos = new MapPosition();
|
pos = new MapPosition();
|
||||||
|
|
||||||
symbolLayer = new SymbolLayer();
|
symbolLayer = new SymbolLayer();
|
||||||
@ -126,6 +126,7 @@ class TextRenderer extends ElementRenderer {
|
|||||||
private int mRelabelCnt;
|
private int mRelabelCnt;
|
||||||
private final TileRenderer mTileLayer;
|
private final TileRenderer mTileLayer;
|
||||||
private final Map mMap;
|
private final Map mMap;
|
||||||
|
private final Worker mWorker;
|
||||||
|
|
||||||
public TextRenderer(Map map, TileRenderer baseLayer) {
|
public TextRenderer(Map map, TileRenderer baseLayer) {
|
||||||
mMap = map;
|
mMap = map;
|
||||||
@ -139,7 +140,7 @@ class TextRenderer extends ElementRenderer {
|
|||||||
//mActiveTiles = new HashMap<MapTile, LabelTile>();
|
//mActiveTiles = new HashMap<MapTile, LabelTile>();
|
||||||
mRelabelCnt = 0;
|
mRelabelCnt = 0;
|
||||||
|
|
||||||
mLabelTask = new LabelTask(map);
|
mWorker = new Worker(map);
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove Label l from mLabels and return l.next
|
// remove Label l from mLabels and return l.next
|
||||||
@ -380,7 +381,7 @@ class TextRenderer extends ElementRenderer {
|
|||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean updateLabels(TextureLayers work) {
|
boolean updateLabels(LabelTask work) {
|
||||||
// nextLayer is not loaded yet
|
// nextLayer is not loaded yet
|
||||||
//if (mNextLayer.ready)
|
//if (mNextLayer.ready)
|
||||||
// return false;
|
// return false;
|
||||||
@ -610,10 +611,10 @@ class TextRenderer extends ElementRenderer {
|
|||||||
public synchronized void update(MapPosition pos, boolean changed,
|
public synchronized void update(MapPosition pos, boolean changed,
|
||||||
Matrices matrices) {
|
Matrices matrices) {
|
||||||
|
|
||||||
TextureLayers t;
|
LabelTask t;
|
||||||
synchronized (mLabelTask) {
|
synchronized (mWorker) {
|
||||||
|
|
||||||
t = mLabelTask.poll();
|
t = mWorker.poll();
|
||||||
|
|
||||||
if (t == null)
|
if (t == null)
|
||||||
return;
|
return;
|
||||||
@ -656,14 +657,14 @@ class TextRenderer extends ElementRenderer {
|
|||||||
l = TextureLayer.Renderer.draw(l, scale, m);
|
l = TextureLayer.Renderer.draw(l, scale, m);
|
||||||
}
|
}
|
||||||
|
|
||||||
final class LabelTask extends ContinuousTask<TextureLayers> {
|
final class Worker extends SimpleWorker<LabelTask> {
|
||||||
|
|
||||||
public LabelTask(Map map) {
|
public Worker(Map map) {
|
||||||
super(map, 10, new TextureLayers(), new TextureLayers());
|
super(map, 10, new LabelTask(), new LabelTask());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean doWork(TextureLayers t) {
|
public boolean doWork(LabelTask t) {
|
||||||
|
|
||||||
if (updateLabels(t)) {
|
if (updateLabels(t)) {
|
||||||
mMap.render();
|
mMap.render();
|
||||||
@ -674,7 +675,7 @@ class TextRenderer extends ElementRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void cleanup(TextureLayers t) {
|
public void cleanup(LabelTask t) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -684,13 +685,11 @@ class TextRenderer extends ElementRenderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private final LabelTask mLabelTask;
|
|
||||||
|
|
||||||
public void clearLabels() {
|
public void clearLabels() {
|
||||||
mLabelTask.cancel(true);
|
mWorker.cancel(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void update() {
|
public void update() {
|
||||||
mLabelTask.submit(MAX_RELABEL_DELAY);
|
mWorker.submit(MAX_RELABEL_DELAY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import org.oscim.map.Map;
|
|||||||
* Simple 'Double Buffering' worker for running Tasks on AsyncExecutor
|
* Simple 'Double Buffering' worker for running Tasks on AsyncExecutor
|
||||||
* thread.
|
* thread.
|
||||||
*/
|
*/
|
||||||
public abstract class ContinuousTask<T> implements Runnable {
|
public abstract class SimpleWorker<T> implements Runnable {
|
||||||
|
|
||||||
private final Map mMap;
|
private final Map mMap;
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ public abstract class ContinuousTask<T> implements Runnable {
|
|||||||
/** Stuff that is ready - will not be modified in the worker. */
|
/** Stuff that is ready - will not be modified in the worker. */
|
||||||
protected T mTaskLocked;
|
protected T mTaskLocked;
|
||||||
|
|
||||||
public ContinuousTask(Map map, long minDelay, T t1, T t2) {
|
public SimpleWorker(Map map, long minDelay, T t1, T t2) {
|
||||||
mMap = map;
|
mMap = map;
|
||||||
mMinDelay = minDelay;
|
mMinDelay = minDelay;
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user