home *** CD-ROM | disk | FTP | other *** search
- package java.awt.image;
-
- public class IndexColorModel extends ColorModel {
- private int[] rgb;
- private int map_size;
- private boolean opaque;
- private int transparent_index;
-
- public IndexColorModel(int var1, int var2, byte[] var3, byte[] var4, byte[] var5) {
- super(var1);
- this.setRGBs(var2, var3, var4, var5, (byte[])null);
- }
-
- public IndexColorModel(int var1, int var2, byte[] var3, byte[] var4, byte[] var5, int var6) {
- super(var1);
- this.setRGBs(var2, var3, var4, var5, (byte[])null);
- this.setTransparentPixel(var6);
- }
-
- public IndexColorModel(int var1, int var2, byte[] var3, byte[] var4, byte[] var5, byte[] var6) {
- super(var1);
- if (var2 > 0 && var6 == null) {
- throw new NullPointerException();
- } else {
- this.setRGBs(var2, var3, var4, var5, var6);
- }
- }
-
- private void setRGBs(int var1, byte[] var2, byte[] var3, byte[] var4, byte[] var5) {
- if (super.pixel_bits <= 8 && var1 <= 1 << super.pixel_bits) {
- this.map_size = var1;
- this.rgb = new int[256];
- int var6 = 255;
- this.opaque = true;
-
- for(int var7 = 0; var7 < var1; ++var7) {
- if (var5 != null) {
- var6 = var5[var7] & 255;
- if (var6 != 255) {
- this.opaque = false;
- }
- }
-
- this.rgb[var7] = var6 << 24 | (var2[var7] & 255) << 16 | (var3[var7] & 255) << 8 | var4[var7] & 255;
- }
-
- } else {
- throw new ArrayIndexOutOfBoundsException();
- }
- }
-
- public IndexColorModel(int var1, int var2, byte[] var3, int var4, boolean var5) {
- this(var1, var2, var3, var4, var5, -1);
- }
-
- public IndexColorModel(int var1, int var2, byte[] var3, int var4, boolean var5, int var6) {
- super(var1);
- if (var1 <= 8 && var2 <= 1 << var1) {
- this.map_size = var2;
- this.rgb = new int[256];
- int var7 = var4;
- short var8 = 255;
- this.opaque = true;
-
- for(int var9 = 0; var9 < var2; ++var9) {
- this.rgb[var9] = (var3[var7++] & 255) << 16 | (var3[var7++] & 255) << 8 | var3[var7++] & 255;
- if (var5) {
- var8 = var3[var7++];
- if (var8 != 255) {
- this.opaque = false;
- }
- }
-
- int[] var10000 = this.rgb;
- var10000[var9] |= var8 << 24;
- }
-
- this.setTransparentPixel(var6);
- } else {
- throw new ArrayIndexOutOfBoundsException();
- }
- }
-
- public final int getMapSize() {
- return this.map_size;
- }
-
- public final int getTransparentPixel() {
- return this.transparent_index;
- }
-
- public final void getReds(byte[] var1) {
- for(int var2 = 0; var2 < this.map_size; ++var2) {
- var1[var2] = (byte)(this.rgb[var2] >> 16);
- }
-
- }
-
- public final void getGreens(byte[] var1) {
- for(int var2 = 0; var2 < this.map_size; ++var2) {
- var1[var2] = (byte)(this.rgb[var2] >> 8);
- }
-
- }
-
- public final void getBlues(byte[] var1) {
- for(int var2 = 0; var2 < this.map_size; ++var2) {
- var1[var2] = (byte)this.rgb[var2];
- }
-
- }
-
- public final void getAlphas(byte[] var1) {
- for(int var2 = 0; var2 < this.map_size; ++var2) {
- var1[var2] = (byte)(this.rgb[var2] >> 24);
- }
-
- }
-
- private void setTransparentPixel(int var1) {
- if (var1 < this.map_size && var1 >= 0) {
- int[] var10000 = this.rgb;
- var10000[var1] &= 16777215;
- this.opaque = false;
- } else {
- var1 = -1;
- }
-
- this.transparent_index = var1;
- }
-
- public final int getRed(int var1) {
- return this.rgb[var1] >> 16 & 255;
- }
-
- public final int getGreen(int var1) {
- return this.rgb[var1] >> 8 & 255;
- }
-
- public final int getBlue(int var1) {
- return this.rgb[var1] & 255;
- }
-
- public final int getAlpha(int var1) {
- return this.rgb[var1] >> 24 & 255;
- }
-
- public final int getRGB(int var1) {
- return this.rgb[var1];
- }
- }
-