1 package nom.tam.image.compression.tile;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 import java.nio.Buffer;
35
36 import nom.tam.image.tile.operation.ITileOperationInitialisation;
37 import nom.tam.image.tile.operation.TileArea;
38
39 final class TileCompressorInitialisation implements ITileOperationInitialisation<TileCompressionOperation> {
40
41 private final Buffer buffer;
42
43 private final TiledImageCompressionOperation imageTilesOperation;
44
45 private int compressedOffset = 0;
46
47 protected TileCompressorInitialisation(TiledImageCompressionOperation imageTilesOperation, Buffer buffer) {
48 this.imageTilesOperation = imageTilesOperation;
49 this.buffer = buffer;
50 }
51
52 @Override
53 public TileCompressionOperation createTileOperation(int tileIndex, TileArea area) {
54 return new TileCompressor(imageTilesOperation, tileIndex, area);
55 }
56
57 @Override
58 public void init(TileCompressionOperation tileOperation) {
59 tileOperation.setCompressedOffset(compressedOffset);
60 tileOperation.setWholeImageBuffer(buffer);
61 tileOperation.setWholeImageCompressedBuffer(imageTilesOperation.getCompressedWholeArea());
62 compressedOffset += tileOperation.getPixelSize();
63 }
64
65 @Override
66 public void tileCount(int tileCount) {
67 }
68 }