package mapped;

import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import net.runelite.rs.api.RSAbstractRasterProvider;

@ObfuscatedName("uu")
public abstract class AbstractRasterProvider implements RSAbstractRasterProvider {
   @ObfuscatedName("ar")
   public int[] pixels;
   @ObfuscatedName("ao")
   @ObfuscatedGetter(
      intValue = -1353905913
   )
   public int width;
   @ObfuscatedName("ab")
   @ObfuscatedGetter(
      intValue = 1542064901
   )
   public int height;
   @ObfuscatedName("au")
   protected float[] field5217;

   @ObfuscatedName("ah")
   @ObfuscatedSignature(
      descriptor = "(IIB)V",
      garbageValue = "-32"
   )
   public abstract void drawFull_base(int var1, int var2);

   @ObfuscatedName("ar")
   @ObfuscatedSignature(
      descriptor = "(IIIIB)V",
      garbageValue = "1"
   )
   public abstract void draw_base(int var1, int var2, int var3, int var4);

   @ObfuscatedName("aq")
   @ObfuscatedSignature(
      descriptor = "(B)V",
      garbageValue = "46"
   )
   public final void apply_base() {
      Rasterizer2D.method9607_base(this.pixels, this.width, this.height, this.field5217);
   }

   @ObfuscatedName("ai")
   @ObfuscatedSignature(
      descriptor = "(ZI)V",
      garbageValue = "1918983678"
   )
   public final void method9701_base(boolean var1) {
      this.field5217 = var1?new float[this.width * this.height + 1]:null;
   }

   public int[] getPixels() {
      return this.pixels;
   }

   public int getWidth() {
      return this.width;
   }

   public int getHeight() {
      return this.height;
   }

   public void setRaster() {
      this.apply_base();
   }
}
