public class RPSTileLoop extends TileLoop
TileLoop
which handles
unloaded Pixels
instances and manages the
creation of the RPSTileData
.Modifier and Type | Field and Description |
---|---|
protected Pixels |
pixels
Instance will be replaced on
RawPixelsStorePrx.save() |
protected ServiceFactoryPrx |
session |
Constructor and Description |
---|
RPSTileLoop(ServiceFactoryPrx session,
Pixels pixels) |
Modifier and Type | Method and Description |
---|---|
TileData |
createData()
Subclasses must provide a fresh instance of
TileData . |
int |
forEachTile(int tileWidth,
int tileHeight,
TileLoopIteration iteration)
Iterates over every tile in a given pixel based on the
over arching dimensions and a requested maximum tile width and height.
|
Pixels |
getPixels()
After saving the binary data, the update event of the
Pixels instance will be updated and therefore
need to be reloaded. |
protected ServiceFactoryPrx |
getSession() |
void |
setPixels(Pixels pixels)
|
forEachTile
protected final ServiceFactoryPrx session
protected volatile Pixels pixels
RawPixelsStorePrx.save()
public RPSTileLoop(ServiceFactoryPrx session, Pixels pixels)
protected ServiceFactoryPrx getSession()
public Pixels getPixels()
Pixels
instance will be updated and therefore
need to be reloaded. As a convenience the returned
value is accessible here.public void setPixels(Pixels pixels)
public TileData createData()
TileLoop
TileData
.
The instance will be closed after the run of
TileLoop.forEachTile(int, int, int, int, int, int, int, TileLoopIteration)
.createData
in class TileLoop
public int forEachTile(int tileWidth, int tileHeight, TileLoopIteration iteration) throws ClientError, ServerError
iteration
- Invoker to call for each tile.tileWidth
- Maximum width of the tile requested. The tile
request itself will be smaller than the original tile width requested if
x + tileWidth > sizeX
tileHeight
- Maximum height of the tile requested. The tile
request itself will be smaller if y + tileHeight > sizeY
.ClientError
ServerError