home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / awt / image / DataBuffer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.4 KB  |  159 lines

  1. package java.awt.image;
  2.  
  3. public abstract class DataBuffer {
  4.    public static final int TYPE_BYTE = 0;
  5.    public static final int TYPE_USHORT = 1;
  6.    public static final int TYPE_SHORT = 2;
  7.    public static final int TYPE_INT = 3;
  8.    public static final int TYPE_FLOAT = 4;
  9.    public static final int TYPE_DOUBLE = 5;
  10.    public static final int TYPE_UNDEFINED = 32;
  11.    protected int dataType;
  12.    protected int banks;
  13.    protected int offset;
  14.    protected int size;
  15.    protected int[] offsets;
  16.    private static final int[] dataTypeSize = new int[]{8, 16, 16, 32, 32, 64};
  17.  
  18.    public static int getDataTypeSize(int var0) {
  19.       if (var0 >= 0 && var0 <= 5) {
  20.          return dataTypeSize[var0];
  21.       } else {
  22.          throw new IllegalArgumentException("Unknown data type " + var0);
  23.       }
  24.    }
  25.  
  26.    protected DataBuffer(int var1, int var2) {
  27.       this.dataType = var1;
  28.       this.banks = 1;
  29.       this.size = var2;
  30.       this.offset = 0;
  31.       this.offsets = new int[1];
  32.    }
  33.  
  34.    protected DataBuffer(int var1, int var2, int var3) {
  35.       this.dataType = var1;
  36.       this.banks = var3;
  37.       this.size = var2;
  38.       this.offset = 0;
  39.       this.offsets = new int[this.banks];
  40.    }
  41.  
  42.    protected DataBuffer(int var1, int var2, int var3, int var4) {
  43.       this.dataType = var1;
  44.       this.banks = var3;
  45.       this.size = var2;
  46.       this.offset = var4;
  47.       this.offsets = new int[var3];
  48.  
  49.       for(int var5 = 0; var5 < var3; ++var5) {
  50.          this.offsets[var5] = var4;
  51.       }
  52.  
  53.    }
  54.  
  55.    protected DataBuffer(int var1, int var2, int var3, int[] var4) {
  56.       if (var3 != var4.length) {
  57.          throw new ArrayIndexOutOfBoundsException("Number of banks does not match number of bank offsets");
  58.       } else {
  59.          this.dataType = var1;
  60.          this.banks = var3;
  61.          this.size = var2;
  62.          this.offset = var4[0];
  63.          this.offsets = (int[])var4.clone();
  64.       }
  65.    }
  66.  
  67.    public int getDataType() {
  68.       return this.dataType;
  69.    }
  70.  
  71.    public int getSize() {
  72.       return this.size;
  73.    }
  74.  
  75.    public int getOffset() {
  76.       return this.offset;
  77.    }
  78.  
  79.    public int[] getOffsets() {
  80.       return (int[])this.offsets.clone();
  81.    }
  82.  
  83.    public int getNumBanks() {
  84.       return this.banks;
  85.    }
  86.  
  87.    public int getElem(int var1) {
  88.       return this.getElem(0, var1);
  89.    }
  90.  
  91.    public abstract int getElem(int var1, int var2);
  92.  
  93.    public void setElem(int var1, int var2) {
  94.       this.setElem(0, var1, var2);
  95.    }
  96.  
  97.    public abstract void setElem(int var1, int var2, int var3);
  98.  
  99.    public float getElemFloat(int var1) {
  100.       return (float)this.getElem(var1);
  101.    }
  102.  
  103.    public float getElemFloat(int var1, int var2) {
  104.       return (float)this.getElem(var1, var2);
  105.    }
  106.  
  107.    public void setElemFloat(int var1, float var2) {
  108.       this.setElem(var1, (int)var2);
  109.    }
  110.  
  111.    public void setElemFloat(int var1, int var2, float var3) {
  112.       this.setElem(var1, var2, (int)var3);
  113.    }
  114.  
  115.    public double getElemDouble(int var1) {
  116.       return (double)this.getElem(var1);
  117.    }
  118.  
  119.    public double getElemDouble(int var1, int var2) {
  120.       return (double)this.getElem(var1, var2);
  121.    }
  122.  
  123.    public void setElemDouble(int var1, double var2) {
  124.       this.setElem(var1, (int)var2);
  125.    }
  126.  
  127.    public void setElemDouble(int var1, int var2, double var3) {
  128.       this.setElem(var1, var2, (int)var3);
  129.    }
  130.  
  131.    static int[] toIntArray(Object var0) {
  132.       if (var0 instanceof int[]) {
  133.          return (int[])var0;
  134.       } else if (var0 == null) {
  135.          return null;
  136.       } else if (var0 instanceof short[]) {
  137.          short[] var4 = (short[])var0;
  138.          int[] var5 = new int[var4.length];
  139.  
  140.          for(int var6 = 0; var6 < var4.length; ++var6) {
  141.             var5[var6] = var4[var6] & '\uffff';
  142.          }
  143.  
  144.          return var5;
  145.       } else if (!(var0 instanceof byte[])) {
  146.          return null;
  147.       } else {
  148.          byte[] var1 = (byte[])var0;
  149.          int[] var2 = new int[var1.length];
  150.  
  151.          for(int var3 = 0; var3 < var1.length; ++var3) {
  152.             var2[var3] = 255 & var1[var3];
  153.          }
  154.  
  155.          return var2;
  156.       }
  157.    }
  158. }
  159.