< prev index next >

src/java.desktop/share/classes/java/awt/image/PixelInterleavedSampleModel.java

Print this page




 147 
 148     /**
 149      * Creates a new PixelInterleavedSampleModel with a subset of the
 150      * bands of this PixelInterleavedSampleModel.  The new
 151      * PixelInterleavedSampleModel can be used with any DataBuffer that the
 152      * existing PixelInterleavedSampleModel can be used with.  The new
 153      * PixelInterleavedSampleModel/DataBuffer combination will represent
 154      * an image with a subset of the bands of the original
 155      * PixelInterleavedSampleModel/DataBuffer combination.
 156      */
 157     public SampleModel createSubsetSampleModel(int bands[]) {
 158         int newBandOffsets[] = new int[bands.length];
 159         for (int i=0; i<bands.length; i++) {
 160             newBandOffsets[i] = bandOffsets[bands[i]];
 161         }
 162         return new PixelInterleavedSampleModel(this.dataType, width, height,
 163                                                this.pixelStride,
 164                                                scanlineStride, newBandOffsets);
 165     }
 166 
 167     // Differentiate hash code from other ComponentSampleModel subclasses
































 168     public int hashCode() {
 169         return super.hashCode() ^ 0x1;


 170     }
 171 }


 147 
 148     /**
 149      * Creates a new PixelInterleavedSampleModel with a subset of the
 150      * bands of this PixelInterleavedSampleModel.  The new
 151      * PixelInterleavedSampleModel can be used with any DataBuffer that the
 152      * existing PixelInterleavedSampleModel can be used with.  The new
 153      * PixelInterleavedSampleModel/DataBuffer combination will represent
 154      * an image with a subset of the bands of the original
 155      * PixelInterleavedSampleModel/DataBuffer combination.
 156      */
 157     public SampleModel createSubsetSampleModel(int bands[]) {
 158         int newBandOffsets[] = new int[bands.length];
 159         for (int i=0; i<bands.length; i++) {
 160             newBandOffsets[i] = bandOffsets[bands[i]];
 161         }
 162         return new PixelInterleavedSampleModel(this.dataType, width, height,
 163                                                this.pixelStride,
 164                                                scanlineStride, newBandOffsets);
 165     }
 166 
 167     /**
 168      * Tests if the specified {@code Object} is an instance
 169      * of {@code PixelInterleavedSampleModel} and equals this
 170      * {@code PixelInterleavedSampleModel}.
 171      * @param obj the {@code Object} to test for equality
 172      * @return {@code true} if the specified {@code Object}
 173      * is an instance of {@code PixelInterleavedSampleModel} and equals this
 174      * {@code PixelInterleavedSampleModel}; {@code false} otherwise.
 175      */
 176     @Override
 177     public boolean equals(Object obj) {
 178 
 179         if (!(obj instanceof PixelInterleavedSampleModel)) {
 180             return false;
 181         }
 182  
 183         PixelInterleavedSampleModel cm = (PixelInterleavedSampleModel) obj;
 184         if (this == cm) {
 185             return true;
 186         }
 187 
 188         if (!super.equals(obj)) {
 189             return false;
 190         }
 191         return true;
 192     }
 193 
 194     /**
 195      * Returns the hash code for this PixelInterleavedSampleModel.
 196      *
 197      * @return    a hash code for this PixelInterleavedSampleModel.
 198      */
 199     @Override
 200     public int hashCode() {
 201         int hash = 3;
 202         hash = 11 * hash + super.hashCode();
 203         return hash;
 204     }
 205 }
< prev index next >