/*     */ void setProperties(Hashtable paramHashtable) {
   /* 258 */ if (paramHashtable == null) {
     /* 259 */ paramHashtable = new Hashtable();
     /*     */ }
   /* 261 */ this.properties = paramHashtable;
   /* 262 */ addInfo(4);
   /*     */ }
  public void imageComplete(int status) {
    if (src != null) {
      src.checkSecurity(null, false);
    }
    boolean done;
    int info;
    switch (status) {
      default:
      case ImageConsumer.IMAGEABORTED:
        done = true;
        info = ImageObserver.ABORT;
        break;
      case ImageConsumer.IMAGEERROR:
        image.addInfo(ImageObserver.ERROR);
        done = true;
        info = ImageObserver.ERROR;
        dispose();
        break;
      case ImageConsumer.STATICIMAGEDONE:
        done = true;
        info = ImageObserver.ALLBITS;
        break;
      case ImageConsumer.SINGLEFRAMEDONE:
        done = false;
        info = ImageObserver.FRAMEBITS;
        break;
    }
    synchronized (this) {
      if (done) {
        image.getSource().removeConsumer(this);
        consuming = false;
        newbits = null;

        if (bimage != null) {
          bimage = getOpaqueRGBImage();
        }
      }
      availinfo |= info;
      notifyAll();
    }

    newInfo(image, info, 0, 0, width, height);

    image.infoDone(status);
  }
 /*     */ synchronized void infoDone(int paramInt) {
   /* 266 */ if ((paramInt == 1) || (((this.availinfo ^ 0xFFFFFFFF) & 0x3) != 0))
   /*     */ {
     /* 269 */ addInfo(64);
     /* 270 */ } else if ((this.availinfo & 0x4) == 0) /* 271 */ setProperties(null);
   /*     */ }
 /*     */ void setDimensions(int paramInt1, int paramInt2) {
   /* 252 */ this.width = paramInt1;
   /* 253 */ this.height = paramInt2;
   /* 254 */ addInfo(3);
   /*     */ }