< 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         PixelInterleavedSampleModel cm = (PixelInterleavedSampleModel) obj;
 180         if (this == cm) {
 181             return true;
 182         }
 183 
 184         if (!super.equals(obj)) {
 185             return false;
 186         }
 187         return true;
 188     }
 189 
 190     /**
 191      * Returns the hash code for this PixelInterleavedSampleModel.
 192      *
 193      * @return    a hash code for this PixelInterleavedSampleModel.
 194      */
 195     @Override
 196     public int hashCode() {
 197         int hash = 3;
 198         hash = 11 * hash + super.hashCode();
 199         return hash;
 200     }
 201 }
< prev index next >