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 / SampleModel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  5.5 KB  |  478 lines

  1. package java.awt.image;
  2.  
  3. public abstract class SampleModel {
  4.    protected int width;
  5.    protected int height;
  6.    protected int numBands;
  7.    protected int dataType;
  8.  
  9.    private static native void initIDs();
  10.  
  11.    public SampleModel(int var1, int var2, int var3, int var4) {
  12.       float var5 = (float)var2 * (float)var3;
  13.       if (var2 > 0 && var3 > 0) {
  14.          if (var5 >= (float)Integer.MAX_VALUE) {
  15.             throw new IllegalArgumentException("Dimensions (width=" + var2 + " height=" + var3 + ") are too large");
  16.          } else if (var1 >= 0 && (var1 <= 5 || var1 == 32)) {
  17.             if (var4 <= 0) {
  18.                throw new IllegalArgumentException("Number of bands must be > 0");
  19.             } else {
  20.                this.dataType = var1;
  21.                this.width = var2;
  22.                this.height = var3;
  23.                this.numBands = var4;
  24.             }
  25.          } else {
  26.             throw new IllegalArgumentException("Unsupported dataType: " + var1);
  27.          }
  28.       } else {
  29.          throw new IllegalArgumentException("Width (" + var2 + ") and height (" + this.height + ") must be > 0");
  30.       }
  31.    }
  32.  
  33.    public final int getWidth() {
  34.       return this.width;
  35.    }
  36.  
  37.    public final int getHeight() {
  38.       return this.height;
  39.    }
  40.  
  41.    public final int getNumBands() {
  42.       return this.numBands;
  43.    }
  44.  
  45.    public abstract int getNumDataElements();
  46.  
  47.    public final int getDataType() {
  48.       return this.dataType;
  49.    }
  50.  
  51.    public int getTransferType() {
  52.       return this.dataType;
  53.    }
  54.  
  55.    public int[] getPixel(int var1, int var2, int[] var3, DataBuffer var4) {
  56.       int[] var5;
  57.       if (var3 != null) {
  58.          var5 = var3;
  59.       } else {
  60.          var5 = new int[this.numBands];
  61.       }
  62.  
  63.       for(int var6 = 0; var6 < this.numBands; ++var6) {
  64.          var5[var6] = this.getSample(var1, var2, var6, var4);
  65.       }
  66.  
  67.       return var5;
  68.    }
  69.  
  70.    public abstract Object getDataElements(int var1, int var2, Object var3, DataBuffer var4);
  71.  
  72.    public Object getDataElements(int var1, int var2, int var3, int var4, Object var5, DataBuffer var6) {
  73.       int var7 = this.getTransferType();
  74.       int var8 = this.getNumDataElements();
  75.       int var9 = 0;
  76.       Object var10 = null;
  77.       switch (var7) {
  78.          case 0:
  79.             byte[] var12;
  80.             if (var5 == null) {
  81.                var12 = new byte[var8 * var3 * var4];
  82.             } else {
  83.                var12 = (byte[])var5;
  84.             }
  85.  
  86.             for(int var13 = var2; var13 < var2 + var4; ++var13) {
  87.                for(int var22 = var1; var22 < var1 + var3; ++var22) {
  88.                   var10 = this.getDataElements(var22, var13, var10, var6);
  89.                   byte[] var11 = (byte[])var10;
  90.  
  91.                   for(int var23 = 0; var23 < var8; ++var23) {
  92.                      var12[var9++] = var11[var23];
  93.                   }
  94.                }
  95.             }
  96.  
  97.             var5 = var12;
  98.             break;
  99.          case 1:
  100.             short[] var14;
  101.             if (var5 == null) {
  102.                var14 = new short[var8 * var3 * var4];
  103.             } else {
  104.                var14 = (short[])var5;
  105.             }
  106.  
  107.             for(int var16 = var2; var16 < var2 + var4; ++var16) {
  108.                for(int var24 = var1; var24 < var1 + var3; ++var24) {
  109.                   var10 = this.getDataElements(var24, var16, var10, var6);
  110.                   short[] var15 = (short[])var10;
  111.  
  112.                   for(int var25 = 0; var25 < var8; ++var25) {
  113.                      var14[var9++] = var15[var25];
  114.                   }
  115.                }
  116.             }
  117.  
  118.             var5 = var14;
  119.          case 2:
  120.          default:
  121.             break;
  122.          case 3:
  123.             int[] var17;
  124.             if (var5 == null) {
  125.                var17 = new int[var8 * var3 * var4];
  126.             } else {
  127.                var17 = (int[])var5;
  128.             }
  129.  
  130.             for(int var19 = var2; var19 < var2 + var4; ++var19) {
  131.                for(int var20 = var1; var20 < var1 + var3; ++var20) {
  132.                   var10 = this.getDataElements(var20, var19, var10, var6);
  133.                   int[] var18 = (int[])var10;
  134.  
  135.                   for(int var21 = 0; var21 < var8; ++var21) {
  136.                      var17[var9++] = var18[var21];
  137.                   }
  138.                }
  139.             }
  140.  
  141.             var5 = var17;
  142.       }
  143.  
  144.       return var5;
  145.    }
  146.  
  147.    public abstract void setDataElements(int var1, int var2, Object var3, DataBuffer var4);
  148.  
  149.    public void setDataElements(int var1, int var2, int var3, int var4, Object var5, DataBuffer var6) {
  150.       int var7 = 0;
  151.       Object var8 = null;
  152.       int var9 = this.getTransferType();
  153.       int var10 = this.getNumDataElements();
  154.       switch (var9) {
  155.          case 0:
  156.             byte[] var11 = (byte[])var5;
  157.             byte[] var12 = new byte[var10];
  158.  
  159.             for(int var13 = var2; var13 < var2 + var4; ++var13) {
  160.                for(int var22 = var1; var22 < var1 + var3; ++var22) {
  161.                   for(int var23 = 0; var23 < var10; ++var23) {
  162.                      var12[var23] = var11[var7++];
  163.                   }
  164.  
  165.                   this.setDataElements(var22, var13, var12, var6);
  166.                }
  167.             }
  168.             break;
  169.          case 1:
  170.             short[] var14 = (short[])var5;
  171.             short[] var15 = new short[var10];
  172.  
  173.             for(int var16 = var2; var16 < var2 + var4; ++var16) {
  174.                for(int var24 = var1; var24 < var1 + var3; ++var24) {
  175.                   for(int var25 = 0; var25 < var10; ++var25) {
  176.                      var15[var25] = var14[var7++];
  177.                   }
  178.  
  179.                   this.setDataElements(var24, var16, var15, var6);
  180.                }
  181.             }
  182.          case 2:
  183.          default:
  184.             break;
  185.          case 3:
  186.             int[] var17 = (int[])var5;
  187.             int[] var18 = new int[var10];
  188.  
  189.             for(int var19 = var2; var19 < var2 + var4; ++var19) {
  190.                for(int var20 = var1; var20 < var1 + var3; ++var20) {
  191.                   for(int var21 = 0; var21 < var10; ++var21) {
  192.                      var18[var21] = var17[var7++];
  193.                   }
  194.  
  195.                   this.setDataElements(var20, var19, var18, var6);
  196.                }
  197.             }
  198.       }
  199.  
  200.    }
  201.  
  202.    public float[] getPixel(int var1, int var2, float[] var3, DataBuffer var4) {
  203.       float[] var5;
  204.       if (var3 != null) {
  205.          var5 = var3;
  206.       } else {
  207.          var5 = new float[this.numBands];
  208.       }
  209.  
  210.       for(int var6 = 0; var6 < this.numBands; ++var6) {
  211.          var5[var6] = this.getSampleFloat(var1, var2, var6, var4);
  212.       }
  213.  
  214.       return var5;
  215.    }
  216.  
  217.    public double[] getPixel(int var1, int var2, double[] var3, DataBuffer var4) {
  218.       double[] var5;
  219.       if (var3 != null) {
  220.          var5 = var3;
  221.       } else {
  222.          var5 = new double[this.numBands];
  223.       }
  224.  
  225.       for(int var6 = 0; var6 < this.numBands; ++var6) {
  226.          var5[var6] = this.getSampleDouble(var1, var2, var6, var4);
  227.       }
  228.  
  229.       return var5;
  230.    }
  231.  
  232.    public int[] getPixels(int var1, int var2, int var3, int var4, int[] var5, DataBuffer var6) {
  233.       int var8 = 0;
  234.       int[] var7;
  235.       if (var5 != null) {
  236.          var7 = var5;
  237.       } else {
  238.          var7 = new int[this.numBands * var3 * var4];
  239.       }
  240.  
  241.       for(int var9 = var2; var9 < var4 + var2; ++var9) {
  242.          for(int var10 = var1; var10 < var3 + var1; ++var10) {
  243.             for(int var11 = 0; var11 < this.numBands; ++var11) {
  244.                var7[var8++] = this.getSample(var10, var9, var11, var6);
  245.             }
  246.          }
  247.       }
  248.  
  249.       return var7;
  250.    }
  251.  
  252.    public float[] getPixels(int var1, int var2, int var3, int var4, float[] var5, DataBuffer var6) {
  253.       int var8 = 0;
  254.       float[] var7;
  255.       if (var5 != null) {
  256.          var7 = var5;
  257.       } else {
  258.          var7 = new float[this.numBands * var3 * var4];
  259.       }
  260.  
  261.       for(int var9 = var2; var9 < var4 + var2; ++var9) {
  262.          for(int var10 = var1; var10 < var3 + var1; ++var10) {
  263.             for(int var11 = 0; var11 < this.numBands; ++var11) {
  264.                var7[var8++] = this.getSampleFloat(var10, var9, var11, var6);
  265.             }
  266.          }
  267.       }
  268.  
  269.       return var7;
  270.    }
  271.  
  272.    public double[] getPixels(int var1, int var2, int var3, int var4, double[] var5, DataBuffer var6) {
  273.       int var8 = 0;
  274.       double[] var7;
  275.       if (var5 != null) {
  276.          var7 = var5;
  277.       } else {
  278.          var7 = new double[this.numBands * var3 * var4];
  279.       }
  280.  
  281.       for(int var9 = var2; var9 < var4 + var2; ++var9) {
  282.          for(int var10 = var1; var10 < var3 + var1; ++var10) {
  283.             for(int var11 = 0; var11 < this.numBands; ++var11) {
  284.                var7[var8++] = this.getSampleDouble(var10, var9, var11, var6);
  285.             }
  286.          }
  287.       }
  288.  
  289.       return var7;
  290.    }
  291.  
  292.    public abstract int getSample(int var1, int var2, int var3, DataBuffer var4);
  293.  
  294.    public float getSampleFloat(int var1, int var2, int var3, DataBuffer var4) {
  295.       float var5 = (float)this.getSample(var1, var2, var3, var4);
  296.       return var5;
  297.    }
  298.  
  299.    public double getSampleDouble(int var1, int var2, int var3, DataBuffer var4) {
  300.       double var5 = (double)this.getSample(var1, var2, var3, var4);
  301.       return var5;
  302.    }
  303.  
  304.    public int[] getSamples(int var1, int var2, int var3, int var4, int var5, int[] var6, DataBuffer var7) {
  305.       int var9 = 0;
  306.       int[] var8;
  307.       if (var6 != null) {
  308.          var8 = var6;
  309.       } else {
  310.          var8 = new int[var3 * var4];
  311.       }
  312.  
  313.       for(int var10 = var2; var10 < var4 + var2; ++var10) {
  314.          for(int var11 = var1; var11 < var3 + var1; ++var11) {
  315.             var8[var9++] = this.getSample(var11, var10, var5, var7);
  316.          }
  317.       }
  318.  
  319.       return var8;
  320.    }
  321.  
  322.    public float[] getSamples(int var1, int var2, int var3, int var4, int var5, float[] var6, DataBuffer var7) {
  323.       int var9 = 0;
  324.       float[] var8;
  325.       if (var6 != null) {
  326.          var8 = var6;
  327.       } else {
  328.          var8 = new float[var3 * var4];
  329.       }
  330.  
  331.       for(int var10 = var2; var10 < var4 + var2; ++var10) {
  332.          for(int var11 = var1; var11 < var3 + var1; ++var11) {
  333.             var8[var9++] = this.getSampleFloat(var11, var10, var5, var7);
  334.          }
  335.       }
  336.  
  337.       return var8;
  338.    }
  339.  
  340.    public double[] getSamples(int var1, int var2, int var3, int var4, int var5, double[] var6, DataBuffer var7) {
  341.       int var9 = 0;
  342.       double[] var8;
  343.       if (var6 != null) {
  344.          var8 = var6;
  345.       } else {
  346.          var8 = new double[var3 * var4];
  347.       }
  348.  
  349.       for(int var10 = var2; var10 < var2 + var4; ++var10) {
  350.          for(int var11 = var1; var11 < var1 + var3; ++var11) {
  351.             var8[var9++] = this.getSampleDouble(var11, var10, var5, var7);
  352.          }
  353.       }
  354.  
  355.       return var8;
  356.    }
  357.  
  358.    public void setPixel(int var1, int var2, int[] var3, DataBuffer var4) {
  359.       for(int var5 = 0; var5 < this.numBands; ++var5) {
  360.          this.setSample(var1, var2, var5, var3[var5], var4);
  361.       }
  362.  
  363.    }
  364.  
  365.    public void setPixel(int var1, int var2, float[] var3, DataBuffer var4) {
  366.       for(int var5 = 0; var5 < this.numBands; ++var5) {
  367.          this.setSample(var1, var2, var5, var3[var5], var4);
  368.       }
  369.  
  370.    }
  371.  
  372.    public void setPixel(int var1, int var2, double[] var3, DataBuffer var4) {
  373.       for(int var5 = 0; var5 < this.numBands; ++var5) {
  374.          this.setSample(var1, var2, var5, var3[var5], var4);
  375.       }
  376.  
  377.    }
  378.  
  379.    public void setPixels(int var1, int var2, int var3, int var4, int[] var5, DataBuffer var6) {
  380.       int var7 = 0;
  381.  
  382.       for(int var8 = var2; var8 < var2 + var4; ++var8) {
  383.          for(int var9 = var1; var9 < var1 + var3; ++var9) {
  384.             for(int var10 = 0; var10 < this.numBands; ++var10) {
  385.                this.setSample(var9, var8, var10, var5[var7++], var6);
  386.             }
  387.          }
  388.       }
  389.  
  390.    }
  391.  
  392.    public void setPixels(int var1, int var2, int var3, int var4, float[] var5, DataBuffer var6) {
  393.       int var7 = 0;
  394.  
  395.       for(int var8 = var2; var8 < var2 + var4; ++var8) {
  396.          for(int var9 = var1; var9 < var1 + var3; ++var9) {
  397.             for(int var10 = 0; var10 < this.numBands; ++var10) {
  398.                this.setSample(var9, var8, var10, var5[var7++], var6);
  399.             }
  400.          }
  401.       }
  402.  
  403.    }
  404.  
  405.    public void setPixels(int var1, int var2, int var3, int var4, double[] var5, DataBuffer var6) {
  406.       int var7 = 0;
  407.  
  408.       for(int var8 = var2; var8 < var2 + var4; ++var8) {
  409.          for(int var9 = var1; var9 < var1 + var3; ++var9) {
  410.             for(int var10 = 0; var10 < this.numBands; ++var10) {
  411.                this.setSample(var9, var8, var10, var5[var7++], var6);
  412.             }
  413.          }
  414.       }
  415.  
  416.    }
  417.  
  418.    public abstract void setSample(int var1, int var2, int var3, int var4, DataBuffer var5);
  419.  
  420.    public void setSample(int var1, int var2, int var3, float var4, DataBuffer var5) {
  421.       int var6 = (int)var4;
  422.       this.setSample(var1, var2, var3, var6, var5);
  423.    }
  424.  
  425.    public void setSample(int var1, int var2, int var3, double var4, DataBuffer var6) {
  426.       int var7 = (int)var4;
  427.       this.setSample(var1, var2, var3, var7, var6);
  428.    }
  429.  
  430.    public void setSamples(int var1, int var2, int var3, int var4, int var5, int[] var6, DataBuffer var7) {
  431.       int var8 = 0;
  432.  
  433.       for(int var9 = var2; var9 < var2 + var4; ++var9) {
  434.          for(int var10 = var1; var10 < var1 + var3; ++var10) {
  435.             this.setSample(var10, var9, var5, var6[var8++], var7);
  436.          }
  437.       }
  438.  
  439.    }
  440.  
  441.    public void setSamples(int var1, int var2, int var3, int var4, int var5, float[] var6, DataBuffer var7) {
  442.       int var8 = 0;
  443.  
  444.       for(int var9 = var2; var9 < var2 + var4; ++var9) {
  445.          for(int var10 = var1; var10 < var1 + var3; ++var10) {
  446.             this.setSample(var10, var9, var5, var6[var8++], var7);
  447.          }
  448.       }
  449.  
  450.    }
  451.  
  452.    public void setSamples(int var1, int var2, int var3, int var4, int var5, double[] var6, DataBuffer var7) {
  453.       int var8 = 0;
  454.  
  455.       for(int var9 = var2; var9 < var2 + var4; ++var9) {
  456.          for(int var10 = var1; var10 < var1 + var3; ++var10) {
  457.             this.setSample(var10, var9, var5, var6[var8++], var7);
  458.          }
  459.       }
  460.  
  461.    }
  462.  
  463.    public abstract SampleModel createCompatibleSampleModel(int var1, int var2);
  464.  
  465.    public abstract SampleModel createSubsetSampleModel(int[] var1);
  466.  
  467.    public abstract DataBuffer createDataBuffer();
  468.  
  469.    public abstract int[] getSampleSize();
  470.  
  471.    public abstract int getSampleSize(int var1);
  472.  
  473.    static {
  474.       ColorModel.loadLibraries();
  475.       initIDs();
  476.    }
  477. }
  478.