summaryrefslogtreecommitdiffstats
path: root/src/GeometryByReference/TiledImage.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/GeometryByReference/TiledImage.java')
-rw-r--r--src/GeometryByReference/TiledImage.java356
1 files changed, 0 insertions, 356 deletions
diff --git a/src/GeometryByReference/TiledImage.java b/src/GeometryByReference/TiledImage.java
deleted file mode 100644
index 9294997..0000000
--- a/src/GeometryByReference/TiledImage.java
+++ /dev/null
@@ -1,356 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.*;
-import java.awt.image.*;
-import java.util.Vector;
-import java.awt.color.ColorSpace;
-
-public class TiledImage extends Object implements RenderedImage {
-
-
- WritableRaster[][] tile = new WritableRaster[3][3];
-
- WritableRaster bigTile;
- ComponentColorModel colorModel;
- BufferedImage checkBoard;
- int minX = -2;
- int minY = -1;
-
- TiledImage() {
- ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
- int[] nBits = {8, 8, 8, 8};
- int i, j, k, cc = 255;
- int[] bandOffset = new int[4];
- colorModel =
- new ComponentColorModel(cs, nBits, true, false, Transparency.OPAQUE, 0);
- // Create 9 tiles
- bandOffset[0] = 3;
- bandOffset[1] = 2;
- bandOffset[2] = 1;
- bandOffset[3] = 0;
- for (i = 0; i < 3; i++) {
- for (j = 0; j < 3; j++) {
- tile[i][j] = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, 8, 8 , 32, 4, bandOffset, null);
- }
- }
-
- // tile {-2, -1}
- byte[] byteData = ((DataBufferByte)tile[0][0].getDataBuffer()).getData();
- for (i=4, k = 8 * 4 * 4+4 * 4;i < 8;i++, k+= 16){
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)cc;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
-
- // tile {-1, -1}
- byteData = ((DataBufferByte)tile[1][0].getDataBuffer()).getData();
- for (i=4, k = 8 * 4 * 4;i < 8;i++){
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)cc;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
-
- // tile {1, -1}
- byteData = ((DataBufferByte)tile[2][0].getDataBuffer()).getData();
- for (i=4, k = 8 * 4 * 4;i < 8;i++, k+= 16){
- for (j=0;j < 4;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
-
- // tile {-2, 0}
- byteData = ((DataBufferByte)tile[0][1].getDataBuffer()).getData();
- for (i=0, k = 16;i < 4;i++, k+=16){
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)cc;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
- for (i=4, k = 8*4*4+16;i < 8;i++, k+=16){
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)0 ;
- }
- }
- // tile {-1, 0}
- byteData = ((DataBufferByte)tile[1][1].getDataBuffer()).getData();
- for (i=0, k = 0;i < 4;i++){
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)cc;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
- for (i=0, k = 8 * 4 * 4;i < 4;i++){
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)0 ;
- }
-
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)cc ;
- }
-
- }
-
-
- // tile {0, 0}
- byteData = ((DataBufferByte)tile[2][1].getDataBuffer()).getData();
- for (i=0, k = 0;i < 4;i++, k+= 16) {
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
- for (i=4, k = 8 * 4* 4;i < 8;i++, k+= 16) {
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)cc ;
- }
- }
-
-
- // tile {-2, 1}
- byteData = ((DataBufferByte)tile[0][2].getDataBuffer()).getData();
- for (i=4, k = 16;i < 8;i++, k+= 16) {
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)0 ;
- }
- }
-
-
- // tile {-1, 1}
- byteData = ((DataBufferByte)tile[1][2].getDataBuffer()).getData();
- for (i=0, k = 0;i < 8;i++) {
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)0 ;
- }
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)cc ;
- }
- }
-
-
-
- // tile {0, 1}
- byteData = ((DataBufferByte)tile[2][2].getDataBuffer()).getData();
- for (i=4, k = 0;i < 8;i++, k+= 16) {
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)cc ;
- }
- }
-
- bigTile = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, 16, 16 , 64, 4, bandOffset, null);;
- byteData = ((DataBufferByte)bigTile.getDataBuffer()).getData();
- for (i=0, k = 0;i < 8;i++){
- for (j=0;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)cc;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- for (;j < 16;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
- for (;i < 16;i++){
- for (j=0;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)0;
- }
- for (;j < 16;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)cc ;
- }
- }
- checkBoard = new BufferedImage(colorModel, bigTile, false, null);
- }
-
-
-
- // create four tiles {r, g, b, y}
- public WritableRaster copyData(WritableRaster raster) {
- return checkBoard.copyData(raster);
- }
-
- public ColorModel getColorModel() {
- return checkBoard.getColorModel();
- }
-
- public Raster getData() {
- return checkBoard.getData();
- }
-
- public Raster getData(Rectangle rect) {
- return checkBoard.getData(rect);
- }
-
- public int getHeight() {
- return 16;
- }
-
- public int getMinTileX() {
- return minX;
- }
-
- public int getMinTileY() {
- return minY;
- }
-
- public int getMinX () {
- return -8;
- }
-
- public int getMinY () {
- return -8;
- }
-
- public int getNumXTiles() {
- return 3;
- }
-
- public int getNumYTiles() {
- return 3;
- }
-
- public Object getProperty(String name) {
- return checkBoard.getProperty(name);
- }
-
- public String[] getPropertyNames() {
- return checkBoard.getPropertyNames();
- }
-
-
- public SampleModel getSampleModel() {
- return checkBoard.getSampleModel();
- }
-
- public Vector getSources() {
- return null;
- }
-
- public Raster getTile(int tileX, int tileY) {
- return tile[tileX- minX][tileY - minY];
- }
-
- public int getTileGridXOffset() {
- return 4;
- }
-
- public int getTileGridYOffset() {
- return -4;
- }
-
-
- public int getTileHeight() {
- return 8;
- }
-
-
- public int getTileWidth() {
- return 8;
- }
-
- public int getWidth() {
- return 16;
- }
-}
-
-