final void drawHorizontalLine(int i, int i_186_, int i_187_, int color, int mode) {
	if (i_186_ >= ((SoftwareToolkit) this).heightOffset
	    && i_186_ < ((SoftwareToolkit) this).height) {
	    if (i < ((SoftwareToolkit) this).widthOffset) {
		i_187_ -= ((SoftwareToolkit) this).widthOffset - i;
		i = ((SoftwareToolkit) this).widthOffset;
	    }
	    if (i + i_187_ > ((SoftwareToolkit) this).width)
		i_187_ = ((SoftwareToolkit) this).width - i;
	    int i_190_ = i + i_186_ * ((SoftwareToolkit) this).maxWidth;
	    int alpha = color >>> 24;
	    if (mode == 0 || mode == 1 && alpha == 255) {
		for (int i_192_ = 0; i_192_ < i_187_; i_192_++)
		    ((SoftwareToolkit) this).pixelBuffer[i_190_ + i_192_] = color;
	    } else if (mode == 1) {
		color = (((color & 0xff00ff) * alpha >> 8 & 0xff00ff)
			  + ((color & 0xff00) * alpha >> 8 & 0xff00)
			  + (alpha << 24));
		int i_193_ = 256 - alpha;
		for (int i_194_ = 0; i_194_ < i_187_; i_194_++) {
		    int i_195_
			= ((SoftwareToolkit) this).pixelBuffer[i_190_ + i_194_];
		    i_195_ = (((i_195_ & 0xff00ff) * i_193_ >> 8 & 0xff00ff)
			      + ((i_195_ & 0xff00) * i_193_ >> 8 & 0xff00));
		    ((SoftwareToolkit) this).pixelBuffer[i_190_ + i_194_]
			= color + i_195_;
		}
	    } else if (mode == 2) {
		for (int i_196_ = 0; i_196_ < i_187_; i_196_++) {
		    int i_197_
			= ((SoftwareToolkit) this).pixelBuffer[i_190_ + i_196_];
		    int i_198_ = color + i_197_;
		    int i_199_ = (color & 0xff00ff) + (i_197_ & 0xff00ff);
		    i_197_
			= (i_199_ & 0x1000100) + (i_198_ - i_199_ & 0x10000);
		    ((SoftwareToolkit) this).pixelBuffer[i_190_ + i_196_]
			= i_198_ - i_197_ | i_197_ - (i_197_ >>> 8);
		}
	    } else
		throw new IllegalArgumentException();
	}
    }