public abstract class android.graphics.BaseCanvas
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.graphics.BaseCanvas
  super_class: java.lang.Object
{
  protected long mNativeCanvasWrapper;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected int mScreenDensity;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int mDensity;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  private boolean mAllowHwBitmapsInSwMode;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.graphics.BaseCanvas this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            iconst_0
            putfield android.graphics.BaseCanvas.mScreenDensity:I
         2: .line 57
            aload 0 /* this */
            iconst_0
            putfield android.graphics.BaseCanvas.mDensity:I
         3: .line 58
            aload 0 /* this */
            iconst_0
            putfield android.graphics.BaseCanvas.mAllowHwBitmapsInSwMode:Z
         4: .line 40
            return
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/graphics/BaseCanvas;

  protected void throwIfCannotDraw(android.graphics.Bitmap);
    descriptor: (Landroid/graphics/Bitmap;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Bitmap bitmap
         0: .line 61
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.isRecycled:()Z
            ifeq 2
         1: .line 62
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Canvas: trying to use a recycled bitmap "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* bitmap */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 64
      StackMap locals:
      StackMap stack:
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.isPremultiplied:()Z
            ifne 7
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.getConfig:()Landroid/graphics/Bitmap$Config;
            getstatic android.graphics.Bitmap$Config.ARGB_8888:Landroid/graphics/Bitmap$Config;
            if_acmpne 7
         3: .line 65
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.hasAlpha:()Z
            ifeq 7
         4: .line 66
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Canvas: trying to use a non-premultiplied bitmap "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 67
            aload 1 /* bitmap */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 66
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bitmap */
            invokevirtual android.graphics.BaseCanvas.throwIfHwBitmapInSwMode:(Landroid/graphics/Bitmap;)V
         8: .line 70
            return
        end local 1 // android.graphics.Bitmap bitmap
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Landroid/graphics/BaseCanvas;
            0    9     1  bitmap  Landroid/graphics/Bitmap;
    MethodParameters:
        Name  Flags
      bitmap  

  protected static final void checkRange(int, int, int);
    descriptor: (III)V
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // int length
        start local 1 // int offset
        start local 2 // int count
         0: .line 73
            iload 1 /* offset */
            iload 2 /* count */
            ior
            iflt 1
            iload 1 /* offset */
            iload 2 /* count */
            iadd
            iload 0 /* length */
            if_icmple 2
         1: .line 74
      StackMap locals:
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 76
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int count
        end local 1 // int offset
        end local 0 // int length
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  length  I
            0    3     1  offset  I
            0    3     2   count  I
    MethodParameters:
        Name  Flags
      length  
      offset  
      count   

  public boolean isHardwareAccelerated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.graphics.BaseCanvas this
         0: .line 79
            iconst_0
            ireturn
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/graphics/BaseCanvas;

  public void drawArc(float, float, float, float, float, float, boolean, android.graphics.Paint);
    descriptor: (FFFFFFZLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=9, args_size=9
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // float left
        start local 2 // float top
        start local 3 // float right
        start local 4 // float bottom
        start local 5 // float startAngle
        start local 6 // float sweepAngle
        start local 7 // boolean useCenter
        start local 8 // android.graphics.Paint paint
         0: .line 92
            aload 0 /* this */
            aload 8 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 93
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            fload 1 /* left */
            fload 2 /* top */
            fload 3 /* right */
            fload 4 /* bottom */
            fload 5 /* startAngle */
            fload 6 /* sweepAngle */
         2: .line 94
            iload 7 /* useCenter */
            aload 8 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
         3: .line 93
            invokestatic android.graphics.BaseCanvas.nDrawArc:(JFFFFFFZJ)V
         4: .line 95
            return
        end local 8 // android.graphics.Paint paint
        end local 7 // boolean useCenter
        end local 6 // float sweepAngle
        end local 5 // float startAngle
        end local 4 // float bottom
        end local 3 // float right
        end local 2 // float top
        end local 1 // float left
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Landroid/graphics/BaseCanvas;
            0    5     1        left  F
            0    5     2         top  F
            0    5     3       right  F
            0    5     4      bottom  F
            0    5     5  startAngle  F
            0    5     6  sweepAngle  F
            0    5     7   useCenter  Z
            0    5     8       paint  Landroid/graphics/Paint;
    MethodParameters:
            Name  Flags
      left        
      top         
      right       
      bottom      
      startAngle  
      sweepAngle  
      useCenter   
      paint       

  public void drawArc(android.graphics.RectF, float, float, boolean, android.graphics.Paint);
    descriptor: (Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.RectF oval
        start local 2 // float startAngle
        start local 3 // float sweepAngle
        start local 4 // boolean useCenter
        start local 5 // android.graphics.Paint paint
         0: .line 99
            aload 0 /* this */
            aload 5 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 100
            aload 0 /* this */
            aload 1 /* oval */
            getfield android.graphics.RectF.left:F
            aload 1 /* oval */
            getfield android.graphics.RectF.top:F
            aload 1 /* oval */
            getfield android.graphics.RectF.right:F
            aload 1 /* oval */
            getfield android.graphics.RectF.bottom:F
            fload 2 /* startAngle */
            fload 3 /* sweepAngle */
            iload 4 /* useCenter */
         2: .line 101
            aload 5 /* paint */
         3: .line 100
            invokevirtual android.graphics.BaseCanvas.drawArc:(FFFFFFZLandroid/graphics/Paint;)V
         4: .line 102
            return
        end local 5 // android.graphics.Paint paint
        end local 4 // boolean useCenter
        end local 3 // float sweepAngle
        end local 2 // float startAngle
        end local 1 // android.graphics.RectF oval
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Landroid/graphics/BaseCanvas;
            0    5     1        oval  Landroid/graphics/RectF;
            0    5     2  startAngle  F
            0    5     3  sweepAngle  F
            0    5     4   useCenter  Z
            0    5     5       paint  Landroid/graphics/Paint;
    MethodParameters:
            Name  Flags
      oval        
      startAngle  
      sweepAngle  
      useCenter   
      paint       

  public void drawARGB(int, int, int, int);
    descriptor: (IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // int a
        start local 2 // int r
        start local 3 // int g
        start local 4 // int b
         0: .line 105
            aload 0 /* this */
            iload 1 /* a */
            iload 2 /* r */
            iload 3 /* g */
            iload 4 /* b */
            invokestatic android.graphics.Color.argb:(IIII)I
            invokevirtual android.graphics.BaseCanvas.drawColor:(I)V
         1: .line 106
            return
        end local 4 // int b
        end local 3 // int g
        end local 2 // int r
        end local 1 // int a
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/graphics/BaseCanvas;
            0    2     1     a  I
            0    2     2     r  I
            0    2     3     g  I
            0    2     4     b  I
    MethodParameters:
      Name  Flags
      a     
      r     
      g     
      b     

  public void drawBitmap(android.graphics.Bitmap, float, float, android.graphics.Paint);
    descriptor: (Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=5
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Bitmap bitmap
        start local 2 // float left
        start local 3 // float top
        start local 4 // android.graphics.Paint paint
         0: .line 109
            aload 0 /* this */
            aload 1 /* bitmap */
            invokevirtual android.graphics.BaseCanvas.throwIfCannotDraw:(Landroid/graphics/Bitmap;)V
         1: .line 110
            aload 0 /* this */
            aload 4 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         2: .line 111
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* bitmap */
            fload 2 /* left */
            fload 3 /* top */
         3: .line 112
            aload 4 /* paint */
            ifnull 4
            aload 4 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            goto 5
      StackMap locals: android.graphics.BaseCanvas android.graphics.Bitmap float float android.graphics.Paint
      StackMap stack: long android.graphics.Bitmap float float
         4: lconst_0
      StackMap locals: android.graphics.BaseCanvas android.graphics.Bitmap float float android.graphics.Paint
      StackMap stack: long android.graphics.Bitmap float float long
         5: aload 0 /* this */
            getfield android.graphics.BaseCanvas.mDensity:I
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mScreenDensity:I
         6: .line 113
            aload 1 /* bitmap */
            getfield android.graphics.Bitmap.mDensity:I
         7: .line 111
            invokestatic android.graphics.BaseCanvas.nDrawBitmap:(JLandroid/graphics/Bitmap;FFJIII)V
         8: .line 114
            return
        end local 4 // android.graphics.Paint paint
        end local 3 // float top
        end local 2 // float left
        end local 1 // android.graphics.Bitmap bitmap
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Landroid/graphics/BaseCanvas;
            0    9     1  bitmap  Landroid/graphics/Bitmap;
            0    9     2    left  F
            0    9     3     top  F
            0    9     4   paint  Landroid/graphics/Paint;
    MethodParameters:
        Name  Flags
      bitmap  
      left    
      top     
      paint   

  public void drawBitmap(android.graphics.Bitmap, android.graphics.Matrix, android.graphics.Paint);
    descriptor: (Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Bitmap bitmap
        start local 2 // android.graphics.Matrix matrix
        start local 3 // android.graphics.Paint paint
         0: .line 117
            aload 0 /* this */
            aload 3 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 118
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* bitmap */
            aload 2 /* matrix */
            invokevirtual android.graphics.Matrix.ni:()J
         2: .line 119
            aload 3 /* paint */
            ifnull 3
            aload 3 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            goto 4
      StackMap locals: android.graphics.BaseCanvas android.graphics.Bitmap android.graphics.Matrix android.graphics.Paint
      StackMap stack: long android.graphics.Bitmap long
         3: lconst_0
         4: .line 118
      StackMap locals: android.graphics.BaseCanvas android.graphics.Bitmap android.graphics.Matrix android.graphics.Paint
      StackMap stack: long android.graphics.Bitmap long long
            invokestatic android.graphics.BaseCanvas.nDrawBitmapMatrix:(JLandroid/graphics/Bitmap;JJ)V
         5: .line 120
            return
        end local 3 // android.graphics.Paint paint
        end local 2 // android.graphics.Matrix matrix
        end local 1 // android.graphics.Bitmap bitmap
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/graphics/BaseCanvas;
            0    6     1  bitmap  Landroid/graphics/Bitmap;
            0    6     2  matrix  Landroid/graphics/Matrix;
            0    6     3   paint  Landroid/graphics/Paint;
    MethodParameters:
        Name  Flags
      bitmap  
      matrix  
      paint   

  public void drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.Rect, android.graphics.Paint);
    descriptor: (Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=11, args_size=5
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Bitmap bitmap
        start local 2 // android.graphics.Rect src
        start local 3 // android.graphics.Rect dst
        start local 4 // android.graphics.Paint paint
         0: .line 124
            aload 3 /* dst */
            ifnonnull 2
         1: .line 125
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bitmap */
            invokevirtual android.graphics.BaseCanvas.throwIfCannotDraw:(Landroid/graphics/Bitmap;)V
         3: .line 128
            aload 0 /* this */
            aload 4 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         4: .line 129
            aload 4 /* paint */
            ifnonnull 5
            lconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: aload 4 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
      StackMap locals:
      StackMap stack: long
         6: lstore 5 /* nativePaint */
        start local 5 // long nativePaint
         7: .line 132
            aload 2 /* src */
            ifnonnull 13
         8: .line 133
            iconst_0
            dup
            istore 8 /* top */
        start local 8 // int top
         9: istore 7 /* left */
        start local 7 // int left
        10: .line 134
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.getWidth:()I
            istore 9 /* right */
        start local 9 // int right
        11: .line 135
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.getHeight:()I
            istore 10 /* bottom */
        start local 10 // int bottom
        12: .line 136
            goto 17
        end local 10 // int bottom
        end local 9 // int right
        end local 8 // int top
        end local 7 // int left
        13: .line 137
      StackMap locals: long
      StackMap stack:
            aload 2 /* src */
            getfield android.graphics.Rect.left:I
            istore 7 /* left */
        start local 7 // int left
        14: .line 138
            aload 2 /* src */
            getfield android.graphics.Rect.right:I
            istore 9 /* right */
        start local 9 // int right
        15: .line 139
            aload 2 /* src */
            getfield android.graphics.Rect.top:I
            istore 8 /* top */
        start local 8 // int top
        16: .line 140
            aload 2 /* src */
            getfield android.graphics.Rect.bottom:I
            istore 10 /* bottom */
        start local 10 // int bottom
        17: .line 143
      StackMap locals: android.graphics.BaseCanvas android.graphics.Bitmap android.graphics.Rect android.graphics.Rect android.graphics.Paint long int int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* bitmap */
            iload 7 /* left */
            i2f
            iload 8 /* top */
            i2f
            iload 9 /* right */
            i2f
            iload 10 /* bottom */
            i2f
        18: .line 144
            aload 3 /* dst */
            getfield android.graphics.Rect.left:I
            i2f
            aload 3 /* dst */
            getfield android.graphics.Rect.top:I
            i2f
            aload 3 /* dst */
            getfield android.graphics.Rect.right:I
            i2f
            aload 3 /* dst */
            getfield android.graphics.Rect.bottom:I
            i2f
            lload 5 /* nativePaint */
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mScreenDensity:I
        19: .line 145
            aload 1 /* bitmap */
            getfield android.graphics.Bitmap.mDensity:I
        20: .line 143
            invokestatic android.graphics.BaseCanvas.nDrawBitmap:(JLandroid/graphics/Bitmap;FFFFFFFFJII)V
        21: .line 146
            return
        end local 10 // int bottom
        end local 9 // int right
        end local 8 // int top
        end local 7 // int left
        end local 5 // long nativePaint
        end local 4 // android.graphics.Paint paint
        end local 3 // android.graphics.Rect dst
        end local 2 // android.graphics.Rect src
        end local 1 // android.graphics.Bitmap bitmap
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Landroid/graphics/BaseCanvas;
            0   22     1       bitmap  Landroid/graphics/Bitmap;
            0   22     2          src  Landroid/graphics/Rect;
            0   22     3          dst  Landroid/graphics/Rect;
            0   22     4        paint  Landroid/graphics/Paint;
            7   22     5  nativePaint  J
           10   13     7         left  I
           14   22     7         left  I
            9   13     8          top  I
           16   22     8          top  I
           11   13     9        right  I
           15   22     9        right  I
           12   13    10       bottom  I
           17   22    10       bottom  I
    MethodParameters:
        Name  Flags
      bitmap  
      src     
      dst     
      paint   

  public void drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.RectF, android.graphics.Paint);
    descriptor: (Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=11, args_size=5
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Bitmap bitmap
        start local 2 // android.graphics.Rect src
        start local 3 // android.graphics.RectF dst
        start local 4 // android.graphics.Paint paint
         0: .line 150
            aload 3 /* dst */
            ifnonnull 2
         1: .line 151
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bitmap */
            invokevirtual android.graphics.BaseCanvas.throwIfCannotDraw:(Landroid/graphics/Bitmap;)V
         3: .line 154
            aload 0 /* this */
            aload 4 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         4: .line 155
            aload 4 /* paint */
            ifnonnull 5
            lconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: aload 4 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
      StackMap locals:
      StackMap stack: long
         6: lstore 5 /* nativePaint */
        start local 5 // long nativePaint
         7: .line 158
            aload 2 /* src */
            ifnonnull 13
         8: .line 159
            fconst_0
            dup
            fstore 8 /* top */
        start local 8 // float top
         9: fstore 7 /* left */
        start local 7 // float left
        10: .line 160
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.getWidth:()I
            i2f
            fstore 9 /* right */
        start local 9 // float right
        11: .line 161
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.getHeight:()I
            i2f
            fstore 10 /* bottom */
        start local 10 // float bottom
        12: .line 162
            goto 17
        end local 10 // float bottom
        end local 9 // float right
        end local 8 // float top
        end local 7 // float left
        13: .line 163
      StackMap locals: long
      StackMap stack:
            aload 2 /* src */
            getfield android.graphics.Rect.left:I
            i2f
            fstore 7 /* left */
        start local 7 // float left
        14: .line 164
            aload 2 /* src */
            getfield android.graphics.Rect.right:I
            i2f
            fstore 9 /* right */
        start local 9 // float right
        15: .line 165
            aload 2 /* src */
            getfield android.graphics.Rect.top:I
            i2f
            fstore 8 /* top */
        start local 8 // float top
        16: .line 166
            aload 2 /* src */
            getfield android.graphics.Rect.bottom:I
            i2f
            fstore 10 /* bottom */
        start local 10 // float bottom
        17: .line 169
      StackMap locals: android.graphics.BaseCanvas android.graphics.Bitmap android.graphics.Rect android.graphics.RectF android.graphics.Paint long float float float float
      StackMap stack:
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* bitmap */
            fload 7 /* left */
            fload 8 /* top */
            fload 9 /* right */
            fload 10 /* bottom */
        18: .line 170
            aload 3 /* dst */
            getfield android.graphics.RectF.left:F
            aload 3 /* dst */
            getfield android.graphics.RectF.top:F
            aload 3 /* dst */
            getfield android.graphics.RectF.right:F
            aload 3 /* dst */
            getfield android.graphics.RectF.bottom:F
            lload 5 /* nativePaint */
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mScreenDensity:I
        19: .line 171
            aload 1 /* bitmap */
            getfield android.graphics.Bitmap.mDensity:I
        20: .line 169
            invokestatic android.graphics.BaseCanvas.nDrawBitmap:(JLandroid/graphics/Bitmap;FFFFFFFFJII)V
        21: .line 172
            return
        end local 10 // float bottom
        end local 9 // float right
        end local 8 // float top
        end local 7 // float left
        end local 5 // long nativePaint
        end local 4 // android.graphics.Paint paint
        end local 3 // android.graphics.RectF dst
        end local 2 // android.graphics.Rect src
        end local 1 // android.graphics.Bitmap bitmap
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Landroid/graphics/BaseCanvas;
            0   22     1       bitmap  Landroid/graphics/Bitmap;
            0   22     2          src  Landroid/graphics/Rect;
            0   22     3          dst  Landroid/graphics/RectF;
            0   22     4        paint  Landroid/graphics/Paint;
            7   22     5  nativePaint  J
           10   13     7         left  F
           14   22     7         left  F
            9   13     8          top  F
           16   22     8          top  F
           11   13     9        right  F
           15   22     9        right  F
           12   13    10       bottom  F
           17   22    10       bottom  F
    MethodParameters:
        Name  Flags
      bitmap  
      src     
      dst     
      paint   

  public void drawBitmap(int[], int, int, float, float, int, int, boolean, android.graphics.Paint);
    descriptor: ([IIIFFIIZLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=12, args_size=10
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // int[] colors
        start local 2 // int offset
        start local 3 // int stride
        start local 4 // float x
        start local 5 // float y
        start local 6 // int width
        start local 7 // int height
        start local 8 // boolean hasAlpha
        start local 9 // android.graphics.Paint paint
         0: .line 178
            iload 6 /* width */
            ifge 2
         1: .line 179
            new java.lang.IllegalArgumentException
            dup
            ldc "width must be >= 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 181
      StackMap locals:
      StackMap stack:
            iload 7 /* height */
            ifge 4
         3: .line 182
            new java.lang.IllegalArgumentException
            dup
            ldc "height must be >= 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 184
      StackMap locals:
      StackMap stack:
            iload 3 /* stride */
            invokestatic java.lang.Math.abs:(I)I
            iload 6 /* width */
            if_icmpge 6
         5: .line 185
            new java.lang.IllegalArgumentException
            dup
            ldc "abs(stride) must be >= width"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 187
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            iload 7 /* height */
            iconst_1
            isub
            iload 3 /* stride */
            imul
            iadd
            istore 10 /* lastScanline */
        start local 10 // int lastScanline
         7: .line 188
            aload 1 /* colors */
            arraylength
            istore 11 /* length */
        start local 11 // int length
         8: .line 189
            iload 2 /* offset */
            iflt 10
            iload 2 /* offset */
            iload 6 /* width */
            iadd
            iload 11 /* length */
            if_icmpgt 10
            iload 10 /* lastScanline */
            iflt 10
         9: .line 190
            iload 10 /* lastScanline */
            iload 6 /* width */
            iadd
            iload 11 /* length */
            if_icmple 11
        10: .line 191
      StackMap locals: int int
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
            athrow
        11: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
        12: .line 195
            iload 6 /* width */
            ifeq 13
            iload 7 /* height */
            ifne 14
        13: .line 196
      StackMap locals:
      StackMap stack:
            return
        14: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* colors */
            iload 2 /* offset */
            iload 3 /* stride */
            fload 4 /* x */
            fload 5 /* y */
            iload 6 /* width */
            iload 7 /* height */
            iload 8 /* hasAlpha */
        15: .line 200
            aload 9 /* paint */
            ifnull 16
            aload 9 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            goto 17
      StackMap locals: android.graphics.BaseCanvas int[] int int float float int int int android.graphics.Paint int int
      StackMap stack: long int[] int int float float int int int
        16: lconst_0
        17: .line 199
      StackMap locals: android.graphics.BaseCanvas int[] int int float float int int int android.graphics.Paint int int
      StackMap stack: long int[] int int float float int int int long
            invokestatic android.graphics.BaseCanvas.nDrawBitmap:(J[IIIFFIIZJ)V
        18: .line 201
            return
        end local 11 // int length
        end local 10 // int lastScanline
        end local 9 // android.graphics.Paint paint
        end local 8 // boolean hasAlpha
        end local 7 // int height
        end local 6 // int width
        end local 5 // float y
        end local 4 // float x
        end local 3 // int stride
        end local 2 // int offset
        end local 1 // int[] colors
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Landroid/graphics/BaseCanvas;
            0   19     1        colors  [I
            0   19     2        offset  I
            0   19     3        stride  I
            0   19     4             x  F
            0   19     5             y  F
            0   19     6         width  I
            0   19     7        height  I
            0   19     8      hasAlpha  Z
            0   19     9         paint  Landroid/graphics/Paint;
            7   19    10  lastScanline  I
            8   19    11        length  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      colors    
      offset    
      stride    
      x         
      y         
      width     
      height    
      hasAlpha  
      paint     

  public void drawBitmap(int[], int, int, int, int, int, int, boolean, android.graphics.Paint);
    descriptor: ([IIIIIIIZLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=10, args_size=10
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // int[] colors
        start local 2 // int offset
        start local 3 // int stride
        start local 4 // int x
        start local 5 // int y
        start local 6 // int width
        start local 7 // int height
        start local 8 // boolean hasAlpha
        start local 9 // android.graphics.Paint paint
         0: .line 207
            aload 0 /* this */
            aload 1 /* colors */
            iload 2 /* offset */
            iload 3 /* stride */
            iload 4 /* x */
            i2f
            iload 5 /* y */
            i2f
            iload 6 /* width */
            iload 7 /* height */
         1: .line 208
            iload 8 /* hasAlpha */
            aload 9 /* paint */
         2: .line 207
            invokevirtual android.graphics.BaseCanvas.drawBitmap:([IIIFFIIZLandroid/graphics/Paint;)V
         3: .line 209
            return
        end local 9 // android.graphics.Paint paint
        end local 8 // boolean hasAlpha
        end local 7 // int height
        end local 6 // int width
        end local 5 // int y
        end local 4 // int x
        end local 3 // int stride
        end local 2 // int offset
        end local 1 // int[] colors
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/graphics/BaseCanvas;
            0    4     1    colors  [I
            0    4     2    offset  I
            0    4     3    stride  I
            0    4     4         x  I
            0    4     5         y  I
            0    4     6     width  I
            0    4     7    height  I
            0    4     8  hasAlpha  Z
            0    4     9     paint  Landroid/graphics/Paint;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      colors    
      offset    
      stride    
      x         
      y         
      width     
      height    
      hasAlpha  
      paint     

  public void drawBitmapMesh(android.graphics.Bitmap, int, int, float[], int, int[], int, android.graphics.Paint);
    descriptor: (Landroid/graphics/Bitmap;II[FI[IILandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=10, args_size=9
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Bitmap bitmap
        start local 2 // int meshWidth
        start local 3 // int meshHeight
        start local 4 // float[] verts
        start local 5 // int vertOffset
        start local 6 // int[] colors
        start local 7 // int colorOffset
        start local 8 // android.graphics.Paint paint
         0: .line 214
            iload 2 /* meshWidth */
            iload 3 /* meshHeight */
            ior
            iload 5 /* vertOffset */
            ior
            iload 7 /* colorOffset */
            ior
            ifge 2
         1: .line 215
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         3: .line 218
            iload 2 /* meshWidth */
            ifeq 4
            iload 3 /* meshHeight */
            ifne 5
         4: .line 219
      StackMap locals:
      StackMap stack:
            return
         5: .line 221
      StackMap locals:
      StackMap stack:
            iload 2 /* meshWidth */
            iconst_1
            iadd
            iload 3 /* meshHeight */
            iconst_1
            iadd
            imul
            istore 9 /* count */
        start local 9 // int count
         6: .line 223
            aload 4 /* verts */
            arraylength
            iload 5 /* vertOffset */
            iload 9 /* count */
            iconst_2
            imul
            invokestatic android.graphics.BaseCanvas.checkRange:(III)V
         7: .line 224
            aload 6 /* colors */
            ifnull 9
         8: .line 226
            aload 6 /* colors */
            arraylength
            iload 7 /* colorOffset */
            iload 9 /* count */
            invokestatic android.graphics.BaseCanvas.checkRange:(III)V
         9: .line 228
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* bitmap */
            iload 2 /* meshWidth */
            iload 3 /* meshHeight */
        10: .line 229
            aload 4 /* verts */
            iload 5 /* vertOffset */
            aload 6 /* colors */
            iload 7 /* colorOffset */
        11: .line 230
            aload 8 /* paint */
            ifnull 12
            aload 8 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            goto 13
      StackMap locals: android.graphics.BaseCanvas android.graphics.Bitmap int int float[] int int[] int android.graphics.Paint int
      StackMap stack: long android.graphics.Bitmap int int float[] int int[] int
        12: lconst_0
        13: .line 228
      StackMap locals: android.graphics.BaseCanvas android.graphics.Bitmap int int float[] int int[] int android.graphics.Paint int
      StackMap stack: long android.graphics.Bitmap int int float[] int int[] int long
            invokestatic android.graphics.BaseCanvas.nDrawBitmapMesh:(JLandroid/graphics/Bitmap;II[FI[IIJ)V
        14: .line 231
            return
        end local 9 // int count
        end local 8 // android.graphics.Paint paint
        end local 7 // int colorOffset
        end local 6 // int[] colors
        end local 5 // int vertOffset
        end local 4 // float[] verts
        end local 3 // int meshHeight
        end local 2 // int meshWidth
        end local 1 // android.graphics.Bitmap bitmap
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Landroid/graphics/BaseCanvas;
            0   15     1       bitmap  Landroid/graphics/Bitmap;
            0   15     2    meshWidth  I
            0   15     3   meshHeight  I
            0   15     4        verts  [F
            0   15     5   vertOffset  I
            0   15     6       colors  [I
            0   15     7  colorOffset  I
            0   15     8        paint  Landroid/graphics/Paint;
            6   15     9        count  I
    MethodParameters:
             Name  Flags
      bitmap       
      meshWidth    
      meshHeight   
      verts        
      vertOffset   
      colors       
      colorOffset  
      paint        

  public void drawCircle(float, float, float, android.graphics.Paint);
    descriptor: (FFFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // float cx
        start local 2 // float cy
        start local 3 // float radius
        start local 4 // android.graphics.Paint paint
         0: .line 234
            aload 0 /* this */
            aload 4 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 235
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            fload 1 /* cx */
            fload 2 /* cy */
            fload 3 /* radius */
            aload 4 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            invokestatic android.graphics.BaseCanvas.nDrawCircle:(JFFFJ)V
         2: .line 236
            return
        end local 4 // android.graphics.Paint paint
        end local 3 // float radius
        end local 2 // float cy
        end local 1 // float cx
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/graphics/BaseCanvas;
            0    3     1      cx  F
            0    3     2      cy  F
            0    3     3  radius  F
            0    3     4   paint  Landroid/graphics/Paint;
    MethodParameters:
        Name  Flags
      cx      
      cy      
      radius  
      paint   

  public void drawColor(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // int color
         0: .line 239
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            iload 1 /* color */
            getstatic android.graphics.PorterDuff$Mode.SRC_OVER:Landroid/graphics/PorterDuff$Mode;
            getfield android.graphics.PorterDuff$Mode.nativeInt:I
            invokestatic android.graphics.BaseCanvas.nDrawColor:(JII)V
         1: .line 240
            return
        end local 1 // int color
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/graphics/BaseCanvas;
            0    2     1  color  I
    MethodParameters:
       Name  Flags
      color  

  public void drawColor(int, android.graphics.PorterDuff$Mode);
    descriptor: (ILandroid/graphics/PorterDuff$Mode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // int color
        start local 2 // android.graphics.PorterDuff$Mode mode
         0: .line 243
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            iload 1 /* color */
            aload 2 /* mode */
            getfield android.graphics.PorterDuff$Mode.nativeInt:I
            invokestatic android.graphics.BaseCanvas.nDrawColor:(JII)V
         1: .line 244
            return
        end local 2 // android.graphics.PorterDuff$Mode mode
        end local 1 // int color
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/graphics/BaseCanvas;
            0    2     1  color  I
            0    2     2   mode  Landroid/graphics/PorterDuff$Mode;
    MethodParameters:
       Name  Flags
      color  
      mode   

  public void drawLine(float, float, float, float, android.graphics.Paint);
    descriptor: (FFFFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // float startX
        start local 2 // float startY
        start local 3 // float stopX
        start local 4 // float stopY
        start local 5 // android.graphics.Paint paint
         0: .line 248
            aload 0 /* this */
            aload 5 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 249
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            fload 1 /* startX */
            fload 2 /* startY */
            fload 3 /* stopX */
            fload 4 /* stopY */
            aload 5 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            invokestatic android.graphics.BaseCanvas.nDrawLine:(JFFFFJ)V
         2: .line 250
            return
        end local 5 // android.graphics.Paint paint
        end local 4 // float stopY
        end local 3 // float stopX
        end local 2 // float startY
        end local 1 // float startX
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/graphics/BaseCanvas;
            0    3     1  startX  F
            0    3     2  startY  F
            0    3     3   stopX  F
            0    3     4   stopY  F
            0    3     5   paint  Landroid/graphics/Paint;
    MethodParameters:
        Name  Flags
      startX  
      startY  
      stopX   
      stopY   
      paint   

  public void drawLines(float[], int, int, android.graphics.Paint);
    descriptor: ([FIILandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // float[] pts
        start local 2 // int offset
        start local 3 // int count
        start local 4 // android.graphics.Paint paint
         0: .line 254
            aload 0 /* this */
            aload 4 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 255
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* pts */
            iload 2 /* offset */
            iload 3 /* count */
            aload 4 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            invokestatic android.graphics.BaseCanvas.nDrawLines:(J[FIIJ)V
         2: .line 256
            return
        end local 4 // android.graphics.Paint paint
        end local 3 // int count
        end local 2 // int offset
        end local 1 // float[] pts
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/graphics/BaseCanvas;
            0    3     1     pts  [F
            0    3     2  offset  I
            0    3     3   count  I
            0    3     4   paint  Landroid/graphics/Paint;
    MethodParameters:
        Name  Flags
      pts     
      offset  
      count   
      paint   

  public void drawLines(float[], android.graphics.Paint);
    descriptor: ([FLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // float[] pts
        start local 2 // android.graphics.Paint paint
         0: .line 259
            aload 0 /* this */
            aload 2 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 260
            aload 0 /* this */
            aload 1 /* pts */
            iconst_0
            aload 1 /* pts */
            arraylength
            aload 2 /* paint */
            invokevirtual android.graphics.BaseCanvas.drawLines:([FIILandroid/graphics/Paint;)V
         2: .line 261
            return
        end local 2 // android.graphics.Paint paint
        end local 1 // float[] pts
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/graphics/BaseCanvas;
            0    3     1    pts  [F
            0    3     2  paint  Landroid/graphics/Paint;
    MethodParameters:
       Name  Flags
      pts    
      paint  

  public void drawOval(float, float, float, float, android.graphics.Paint);
    descriptor: (FFFFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // float left
        start local 2 // float top
        start local 3 // float right
        start local 4 // float bottom
        start local 5 // android.graphics.Paint paint
         0: .line 264
            aload 0 /* this */
            aload 5 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 265
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            fload 1 /* left */
            fload 2 /* top */
            fload 3 /* right */
            fload 4 /* bottom */
            aload 5 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            invokestatic android.graphics.BaseCanvas.nDrawOval:(JFFFFJ)V
         2: .line 266
            return
        end local 5 // android.graphics.Paint paint
        end local 4 // float bottom
        end local 3 // float right
        end local 2 // float top
        end local 1 // float left
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/graphics/BaseCanvas;
            0    3     1    left  F
            0    3     2     top  F
            0    3     3   right  F
            0    3     4  bottom  F
            0    3     5   paint  Landroid/graphics/Paint;
    MethodParameters:
        Name  Flags
      left    
      top     
      right   
      bottom  
      paint   

  public void drawOval(android.graphics.RectF, android.graphics.Paint);
    descriptor: (Landroid/graphics/RectF;Landroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.RectF oval
        start local 2 // android.graphics.Paint paint
         0: .line 269
            aload 1 /* oval */
            ifnonnull 2
         1: .line 270
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         3: .line 273
            aload 0 /* this */
            aload 1 /* oval */
            getfield android.graphics.RectF.left:F
            aload 1 /* oval */
            getfield android.graphics.RectF.top:F
            aload 1 /* oval */
            getfield android.graphics.RectF.right:F
            aload 1 /* oval */
            getfield android.graphics.RectF.bottom:F
            aload 2 /* paint */
            invokevirtual android.graphics.BaseCanvas.drawOval:(FFFFLandroid/graphics/Paint;)V
         4: .line 274
            return
        end local 2 // android.graphics.Paint paint
        end local 1 // android.graphics.RectF oval
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/graphics/BaseCanvas;
            0    5     1   oval  Landroid/graphics/RectF;
            0    5     2  paint  Landroid/graphics/Paint;
    MethodParameters:
       Name  Flags
      oval   
      paint  

  public void drawPaint(android.graphics.Paint);
    descriptor: (Landroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Paint paint
         0: .line 277
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            invokestatic android.graphics.BaseCanvas.nDrawPaint:(JJ)V
         1: .line 278
            return
        end local 1 // android.graphics.Paint paint
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/graphics/BaseCanvas;
            0    2     1  paint  Landroid/graphics/Paint;
    MethodParameters:
       Name  Flags
      paint  

  public void drawPatch(android.graphics.NinePatch, android.graphics.Rect, android.graphics.Paint);
    descriptor: (Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=7, args_size=4
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.NinePatch patch
        start local 2 // android.graphics.Rect dst
        start local 3 // android.graphics.Paint paint
         0: .line 281
            aload 1 /* patch */
            invokevirtual android.graphics.NinePatch.getBitmap:()Landroid/graphics/Bitmap;
            astore 4 /* bitmap */
        start local 4 // android.graphics.Bitmap bitmap
         1: .line 282
            aload 0 /* this */
            aload 4 /* bitmap */
            invokevirtual android.graphics.BaseCanvas.throwIfCannotDraw:(Landroid/graphics/Bitmap;)V
         2: .line 283
            aload 0 /* this */
            aload 3 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         3: .line 284
            aload 3 /* paint */
            ifnonnull 4
            lconst_0
            goto 5
      StackMap locals: android.graphics.Bitmap
      StackMap stack:
         4: aload 3 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
      StackMap locals:
      StackMap stack: long
         5: lstore 5 /* nativePaint */
        start local 5 // long nativePaint
         6: .line 285
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 4 /* bitmap */
            invokevirtual android.graphics.Bitmap.getNativeInstance:()J
            aload 1 /* patch */
            getfield android.graphics.NinePatch.mNativeChunk:J
         7: .line 286
            aload 2 /* dst */
            getfield android.graphics.Rect.left:I
            i2f
            aload 2 /* dst */
            getfield android.graphics.Rect.top:I
            i2f
            aload 2 /* dst */
            getfield android.graphics.Rect.right:I
            i2f
            aload 2 /* dst */
            getfield android.graphics.Rect.bottom:I
            i2f
            lload 5 /* nativePaint */
         8: .line 287
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mDensity:I
            aload 1 /* patch */
            invokevirtual android.graphics.NinePatch.getDensity:()I
         9: .line 285
            invokestatic android.graphics.BaseCanvas.nDrawNinePatch:(JJJFFFFJII)V
        10: .line 288
            return
        end local 5 // long nativePaint
        end local 4 // android.graphics.Bitmap bitmap
        end local 3 // android.graphics.Paint paint
        end local 2 // android.graphics.Rect dst
        end local 1 // android.graphics.NinePatch patch
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Landroid/graphics/BaseCanvas;
            0   11     1        patch  Landroid/graphics/NinePatch;
            0   11     2          dst  Landroid/graphics/Rect;
            0   11     3        paint  Landroid/graphics/Paint;
            1   11     4       bitmap  Landroid/graphics/Bitmap;
            6   11     5  nativePaint  J
    MethodParameters:
       Name  Flags
      patch  
      dst    
      paint  

  public void drawPatch(android.graphics.NinePatch, android.graphics.RectF, android.graphics.Paint);
    descriptor: (Landroid/graphics/NinePatch;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=7, args_size=4
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.NinePatch patch
        start local 2 // android.graphics.RectF dst
        start local 3 // android.graphics.Paint paint
         0: .line 291
            aload 1 /* patch */
            invokevirtual android.graphics.NinePatch.getBitmap:()Landroid/graphics/Bitmap;
            astore 4 /* bitmap */
        start local 4 // android.graphics.Bitmap bitmap
         1: .line 292
            aload 0 /* this */
            aload 4 /* bitmap */
            invokevirtual android.graphics.BaseCanvas.throwIfCannotDraw:(Landroid/graphics/Bitmap;)V
         2: .line 293
            aload 0 /* this */
            aload 3 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         3: .line 294
            aload 3 /* paint */
            ifnonnull 4
            lconst_0
            goto 5
      StackMap locals: android.graphics.Bitmap
      StackMap stack:
         4: aload 3 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
      StackMap locals:
      StackMap stack: long
         5: lstore 5 /* nativePaint */
        start local 5 // long nativePaint
         6: .line 295
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 4 /* bitmap */
            invokevirtual android.graphics.Bitmap.getNativeInstance:()J
            aload 1 /* patch */
            getfield android.graphics.NinePatch.mNativeChunk:J
         7: .line 296
            aload 2 /* dst */
            getfield android.graphics.RectF.left:F
            aload 2 /* dst */
            getfield android.graphics.RectF.top:F
            aload 2 /* dst */
            getfield android.graphics.RectF.right:F
            aload 2 /* dst */
            getfield android.graphics.RectF.bottom:F
            lload 5 /* nativePaint */
         8: .line 297
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mDensity:I
            aload 1 /* patch */
            invokevirtual android.graphics.NinePatch.getDensity:()I
         9: .line 295
            invokestatic android.graphics.BaseCanvas.nDrawNinePatch:(JJJFFFFJII)V
        10: .line 298
            return
        end local 5 // long nativePaint
        end local 4 // android.graphics.Bitmap bitmap
        end local 3 // android.graphics.Paint paint
        end local 2 // android.graphics.RectF dst
        end local 1 // android.graphics.NinePatch patch
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Landroid/graphics/BaseCanvas;
            0   11     1        patch  Landroid/graphics/NinePatch;
            0   11     2          dst  Landroid/graphics/RectF;
            0   11     3        paint  Landroid/graphics/Paint;
            1   11     4       bitmap  Landroid/graphics/Bitmap;
            6   11     5  nativePaint  J
    MethodParameters:
       Name  Flags
      patch  
      dst    
      paint  

  public void drawPath(android.graphics.Path, android.graphics.Paint);
    descriptor: (Landroid/graphics/Path;Landroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Path path
        start local 2 // android.graphics.Paint paint
         0: .line 301
            aload 0 /* this */
            aload 2 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 302
            aload 1 /* path */
            getfield android.graphics.Path.isSimplePath:Z
            ifeq 4
            aload 1 /* path */
            getfield android.graphics.Path.rects:Landroid/graphics/Region;
            ifnull 4
         2: .line 303
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* path */
            getfield android.graphics.Path.rects:Landroid/graphics/Region;
            getfield android.graphics.Region.mNativeRegion:J
            aload 2 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            invokestatic android.graphics.BaseCanvas.nDrawRegion:(JJJ)V
         3: .line 304
            goto 5
         4: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* path */
            invokevirtual android.graphics.Path.readOnlyNI:()J
            aload 2 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            invokestatic android.graphics.BaseCanvas.nDrawPath:(JJJ)V
         5: .line 307
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.graphics.Paint paint
        end local 1 // android.graphics.Path path
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/graphics/BaseCanvas;
            0    6     1   path  Landroid/graphics/Path;
            0    6     2  paint  Landroid/graphics/Paint;
    MethodParameters:
       Name  Flags
      path   
      paint  

  public void drawPoint(float, float, android.graphics.Paint);
    descriptor: (FFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // float x
        start local 2 // float y
        start local 3 // android.graphics.Paint paint
         0: .line 310
            aload 0 /* this */
            aload 3 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 311
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            fload 1 /* x */
            fload 2 /* y */
            aload 3 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            invokestatic android.graphics.BaseCanvas.nDrawPoint:(JFFJ)V
         2: .line 312
            return
        end local 3 // android.graphics.Paint paint
        end local 2 // float y
        end local 1 // float x
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/graphics/BaseCanvas;
            0    3     1      x  F
            0    3     2      y  F
            0    3     3  paint  Landroid/graphics/Paint;
    MethodParameters:
       Name  Flags
      x      
      y      
      paint  

  public void drawPoints(float[], int, int, android.graphics.Paint);
    descriptor: ([FIILandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // float[] pts
        start local 2 // int offset
        start local 3 // int count
        start local 4 // android.graphics.Paint paint
         0: .line 316
            aload 0 /* this */
            aload 4 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 317
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* pts */
            iload 2 /* offset */
            iload 3 /* count */
            aload 4 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            invokestatic android.graphics.BaseCanvas.nDrawPoints:(J[FIIJ)V
         2: .line 318
            return
        end local 4 // android.graphics.Paint paint
        end local 3 // int count
        end local 2 // int offset
        end local 1 // float[] pts
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/graphics/BaseCanvas;
            0    3     1     pts  [F
            0    3     2  offset  I
            0    3     3   count  I
            0    3     4   paint  Landroid/graphics/Paint;
    MethodParameters:
        Name  Flags
      pts     
      offset  
      count   
      paint   

  public void drawPoints(float[], android.graphics.Paint);
    descriptor: ([FLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // float[] pts
        start local 2 // android.graphics.Paint paint
         0: .line 321
            aload 0 /* this */
            aload 2 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 322
            aload 0 /* this */
            aload 1 /* pts */
            iconst_0
            aload 1 /* pts */
            arraylength
            aload 2 /* paint */
            invokevirtual android.graphics.BaseCanvas.drawPoints:([FIILandroid/graphics/Paint;)V
         2: .line 323
            return
        end local 2 // android.graphics.Paint paint
        end local 1 // float[] pts
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/graphics/BaseCanvas;
            0    3     1    pts  [F
            0    3     2  paint  Landroid/graphics/Paint;
    MethodParameters:
       Name  Flags
      pts    
      paint  

  public void drawPosText(char[], int, int, float[], android.graphics.Paint);
    descriptor: ([CII[FLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // char[] text
        start local 2 // int index
        start local 3 // int count
        start local 4 // float[] pos
        start local 5 // android.graphics.Paint paint
         0: .line 329
            iload 2 /* index */
            iflt 1
            iload 2 /* index */
            iload 3 /* count */
            iadd
            aload 1 /* text */
            arraylength
            if_icmpgt 1
            iload 3 /* count */
            iconst_2
            imul
            aload 4 /* pos */
            arraylength
            if_icmple 2
         1: .line 330
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         3: .line 333
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 334
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* text */
            iload 2 /* index */
            iload 6 /* i */
            iadd
            iconst_1
            aload 4 /* pos */
            iload 6 /* i */
            iconst_2
            imul
            faload
            aload 4 /* pos */
            iload 6 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            faload
            aload 5 /* paint */
            invokevirtual android.graphics.BaseCanvas.drawText:([CIIFFLandroid/graphics/Paint;)V
         6: .line 333
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            iload 3 /* count */
            if_icmplt 5
        end local 6 // int i
         8: .line 336
            return
        end local 5 // android.graphics.Paint paint
        end local 4 // float[] pos
        end local 3 // int count
        end local 2 // int index
        end local 1 // char[] text
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Landroid/graphics/BaseCanvas;
            0    9     1   text  [C
            0    9     2  index  I
            0    9     3  count  I
            0    9     4    pos  [F
            0    9     5  paint  Landroid/graphics/Paint;
            4    8     6      i  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      text   
      index  
      count  
      pos    
      paint  

  public void drawPosText(java.lang.String, float[], android.graphics.Paint);
    descriptor: (Ljava/lang/String;[FLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // java.lang.String text
        start local 2 // float[] pos
        start local 3 // android.graphics.Paint paint
         0: .line 341
            aload 0 /* this */
            aload 3 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 342
            aload 0 /* this */
            aload 1 /* text */
            invokevirtual java.lang.String.toCharArray:()[C
            iconst_0
            aload 1 /* text */
            invokevirtual java.lang.String.length:()I
            aload 2 /* pos */
            aload 3 /* paint */
            invokevirtual android.graphics.BaseCanvas.drawPosText:([CII[FLandroid/graphics/Paint;)V
         2: .line 343
            return
        end local 3 // android.graphics.Paint paint
        end local 2 // float[] pos
        end local 1 // java.lang.String text
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/graphics/BaseCanvas;
            0    3     1   text  Ljava/lang/String;
            0    3     2    pos  [F
            0    3     3  paint  Landroid/graphics/Paint;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      text   
      pos    
      paint  

  public void drawRect(float, float, float, float, android.graphics.Paint);
    descriptor: (FFFFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // float left
        start local 2 // float top
        start local 3 // float right
        start local 4 // float bottom
        start local 5 // android.graphics.Paint paint
         0: .line 346
            aload 0 /* this */
            aload 5 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 347
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            fload 1 /* left */
            fload 2 /* top */
            fload 3 /* right */
            fload 4 /* bottom */
            aload 5 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            invokestatic android.graphics.BaseCanvas.nDrawRect:(JFFFFJ)V
         2: .line 348
            return
        end local 5 // android.graphics.Paint paint
        end local 4 // float bottom
        end local 3 // float right
        end local 2 // float top
        end local 1 // float left
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/graphics/BaseCanvas;
            0    3     1    left  F
            0    3     2     top  F
            0    3     3   right  F
            0    3     4  bottom  F
            0    3     5   paint  Landroid/graphics/Paint;
    MethodParameters:
        Name  Flags
      left    
      top     
      right   
      bottom  
      paint   

  public void drawRect(android.graphics.Rect, android.graphics.Paint);
    descriptor: (Landroid/graphics/Rect;Landroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Rect r
        start local 2 // android.graphics.Paint paint
         0: .line 351
            aload 0 /* this */
            aload 2 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 352
            aload 0 /* this */
            aload 1 /* r */
            getfield android.graphics.Rect.left:I
            i2f
            aload 1 /* r */
            getfield android.graphics.Rect.top:I
            i2f
            aload 1 /* r */
            getfield android.graphics.Rect.right:I
            i2f
            aload 1 /* r */
            getfield android.graphics.Rect.bottom:I
            i2f
            aload 2 /* paint */
            invokevirtual android.graphics.BaseCanvas.drawRect:(FFFFLandroid/graphics/Paint;)V
         2: .line 353
            return
        end local 2 // android.graphics.Paint paint
        end local 1 // android.graphics.Rect r
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/graphics/BaseCanvas;
            0    3     1      r  Landroid/graphics/Rect;
            0    3     2  paint  Landroid/graphics/Paint;
    MethodParameters:
       Name  Flags
      r      
      paint  

  public void drawRect(android.graphics.RectF, android.graphics.Paint);
    descriptor: (Landroid/graphics/RectF;Landroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.RectF rect
        start local 2 // android.graphics.Paint paint
         0: .line 356
            aload 0 /* this */
            aload 2 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 357
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
         2: .line 358
            aload 1 /* rect */
            getfield android.graphics.RectF.left:F
            aload 1 /* rect */
            getfield android.graphics.RectF.top:F
            aload 1 /* rect */
            getfield android.graphics.RectF.right:F
            aload 1 /* rect */
            getfield android.graphics.RectF.bottom:F
            aload 2 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
         3: .line 357
            invokestatic android.graphics.BaseCanvas.nDrawRect:(JFFFFJ)V
         4: .line 359
            return
        end local 2 // android.graphics.Paint paint
        end local 1 // android.graphics.RectF rect
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/graphics/BaseCanvas;
            0    5     1   rect  Landroid/graphics/RectF;
            0    5     2  paint  Landroid/graphics/Paint;
    MethodParameters:
       Name  Flags
      rect   
      paint  

  public void drawRGB(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // int r
        start local 2 // int g
        start local 3 // int b
         0: .line 362
            aload 0 /* this */
            iload 1 /* r */
            iload 2 /* g */
            iload 3 /* b */
            invokestatic android.graphics.Color.rgb:(III)I
            invokevirtual android.graphics.BaseCanvas.drawColor:(I)V
         1: .line 363
            return
        end local 3 // int b
        end local 2 // int g
        end local 1 // int r
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/graphics/BaseCanvas;
            0    2     1     r  I
            0    2     2     g  I
            0    2     3     b  I
    MethodParameters:
      Name  Flags
      r     
      g     
      b     

  public void drawRoundRect(float, float, float, float, float, float, android.graphics.Paint);
    descriptor: (FFFFFFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=8
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // float left
        start local 2 // float top
        start local 3 // float right
        start local 4 // float bottom
        start local 5 // float rx
        start local 6 // float ry
        start local 7 // android.graphics.Paint paint
         0: .line 367
            aload 0 /* this */
            aload 7 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 368
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            fload 1 /* left */
            fload 2 /* top */
            fload 3 /* right */
            fload 4 /* bottom */
            fload 5 /* rx */
            fload 6 /* ry */
         2: .line 369
            aload 7 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
         3: .line 368
            invokestatic android.graphics.BaseCanvas.nDrawRoundRect:(JFFFFFFJ)V
         4: .line 370
            return
        end local 7 // android.graphics.Paint paint
        end local 6 // float ry
        end local 5 // float rx
        end local 4 // float bottom
        end local 3 // float right
        end local 2 // float top
        end local 1 // float left
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Landroid/graphics/BaseCanvas;
            0    5     1    left  F
            0    5     2     top  F
            0    5     3   right  F
            0    5     4  bottom  F
            0    5     5      rx  F
            0    5     6      ry  F
            0    5     7   paint  Landroid/graphics/Paint;
    MethodParameters:
        Name  Flags
      left    
      top     
      right   
      bottom  
      rx      
      ry      
      paint   

  public void drawRoundRect(android.graphics.RectF, float, float, android.graphics.Paint);
    descriptor: (Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.RectF rect
        start local 2 // float rx
        start local 3 // float ry
        start local 4 // android.graphics.Paint paint
         0: .line 373
            aload 0 /* this */
            aload 4 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 374
            aload 0 /* this */
            aload 1 /* rect */
            getfield android.graphics.RectF.left:F
            aload 1 /* rect */
            getfield android.graphics.RectF.top:F
            aload 1 /* rect */
            getfield android.graphics.RectF.right:F
            aload 1 /* rect */
            getfield android.graphics.RectF.bottom:F
            fload 2 /* rx */
            fload 3 /* ry */
            aload 4 /* paint */
            invokevirtual android.graphics.BaseCanvas.drawRoundRect:(FFFFFFLandroid/graphics/Paint;)V
         2: .line 375
            return
        end local 4 // android.graphics.Paint paint
        end local 3 // float ry
        end local 2 // float rx
        end local 1 // android.graphics.RectF rect
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/graphics/BaseCanvas;
            0    3     1   rect  Landroid/graphics/RectF;
            0    3     2     rx  F
            0    3     3     ry  F
            0    3     4  paint  Landroid/graphics/Paint;
    MethodParameters:
       Name  Flags
      rect   
      rx     
      ry     
      paint  

  public void drawText(char[], int, int, float, float, android.graphics.Paint);
    descriptor: ([CIIFFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=7
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // char[] text
        start local 2 // int index
        start local 3 // int count
        start local 4 // float x
        start local 5 // float y
        start local 6 // android.graphics.Paint paint
         0: .line 379
            iload 2 /* index */
            iload 3 /* count */
            ior
            iload 2 /* index */
            iload 3 /* count */
            iadd
            ior
         1: .line 380
            aload 1 /* text */
            arraylength
            iload 2 /* index */
            isub
            iload 3 /* count */
            isub
         2: .line 379
            ior
            ifge 4
         3: .line 381
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         4: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         5: .line 384
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* text */
            iload 2 /* index */
            iload 3 /* count */
            fload 4 /* x */
            fload 5 /* y */
            aload 6 /* paint */
            getfield android.graphics.Paint.mBidiFlags:I
         6: .line 385
            aload 6 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
         7: .line 384
            invokestatic android.graphics.BaseCanvas.nDrawText:(J[CIIFFIJ)V
         8: .line 386
            return
        end local 6 // android.graphics.Paint paint
        end local 5 // float y
        end local 4 // float x
        end local 3 // int count
        end local 2 // int index
        end local 1 // char[] text
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Landroid/graphics/BaseCanvas;
            0    9     1   text  [C
            0    9     2  index  I
            0    9     3  count  I
            0    9     4      x  F
            0    9     5      y  F
            0    9     6  paint  Landroid/graphics/Paint;
    MethodParameters:
       Name  Flags
      text   
      index  
      count  
      x      
      y      
      paint  

  public void drawText(java.lang.CharSequence, int, int, float, float, android.graphics.Paint);
    descriptor: (Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=7
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // java.lang.CharSequence text
        start local 2 // int start
        start local 3 // int end
        start local 4 // float x
        start local 5 // float y
        start local 6 // android.graphics.Paint paint
         0: .line 390
            iload 2 /* start */
            iload 3 /* end */
            ior
            iload 3 /* end */
            iload 2 /* start */
            isub
            ior
            aload 1 /* text */
            invokeinterface java.lang.CharSequence.length:()I
            iload 3 /* end */
            isub
            ior
            ifge 2
         1: .line 391
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         3: .line 394
            aload 1 /* text */
            instanceof java.lang.String
            ifne 5
            aload 1 /* text */
            instanceof android.text.SpannedString
            ifne 5
         4: .line 395
            aload 1 /* text */
            instanceof android.text.SpannableString
            ifeq 9
         5: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* text */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            iload 2 /* start */
            iload 3 /* end */
            fload 4 /* x */
            fload 5 /* y */
         6: .line 397
            aload 6 /* paint */
            getfield android.graphics.Paint.mBidiFlags:I
            aload 6 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
         7: .line 396
            invokestatic android.graphics.BaseCanvas.nDrawText:(JLjava/lang/String;IIFFIJ)V
         8: .line 398
            goto 20
      StackMap locals:
      StackMap stack:
         9: aload 1 /* text */
            instanceof android.text.GraphicsOperations
            ifeq 14
        10: .line 399
            aload 1 /* text */
            checkcast android.text.GraphicsOperations
            aload 0 /* this */
            iload 2 /* start */
            iload 3 /* end */
            fload 4 /* x */
            fload 5 /* y */
        11: .line 400
            aload 6 /* paint */
        12: .line 399
            invokeinterface android.text.GraphicsOperations.drawText:(Landroid/graphics/BaseCanvas;IIFFLandroid/graphics/Paint;)V
        13: .line 401
            goto 20
        14: .line 402
      StackMap locals:
      StackMap stack:
            iload 3 /* end */
            iload 2 /* start */
            isub
            invokestatic android.graphics.TemporaryBuffer.obtain:(I)[C
            astore 7 /* buf */
        start local 7 // char[] buf
        15: .line 403
            aload 1 /* text */
            iload 2 /* start */
            iload 3 /* end */
            aload 7 /* buf */
            iconst_0
            invokestatic android.text.TextUtils.getChars:(Ljava/lang/CharSequence;II[CI)V
        16: .line 404
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 7 /* buf */
            iconst_0
            iload 3 /* end */
            iload 2 /* start */
            isub
            fload 4 /* x */
            fload 5 /* y */
        17: .line 405
            aload 6 /* paint */
            getfield android.graphics.Paint.mBidiFlags:I
            aload 6 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
        18: .line 404
            invokestatic android.graphics.BaseCanvas.nDrawText:(J[CIIFFIJ)V
        19: .line 406
            aload 7 /* buf */
            invokestatic android.graphics.TemporaryBuffer.recycle:([C)V
        end local 7 // char[] buf
        20: .line 408
      StackMap locals:
      StackMap stack:
            return
        end local 6 // android.graphics.Paint paint
        end local 5 // float y
        end local 4 // float x
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.CharSequence text
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0   this  Landroid/graphics/BaseCanvas;
            0   21     1   text  Ljava/lang/CharSequence;
            0   21     2  start  I
            0   21     3    end  I
            0   21     4      x  F
            0   21     5      y  F
            0   21     6  paint  Landroid/graphics/Paint;
           15   20     7    buf  [C
    MethodParameters:
       Name  Flags
      text   
      start  
      end    
      x      
      y      
      paint  

  public void drawText(java.lang.String, float, float, android.graphics.Paint);
    descriptor: (Ljava/lang/String;FFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=5
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // java.lang.String text
        start local 2 // float x
        start local 3 // float y
        start local 4 // android.graphics.Paint paint
         0: .line 411
            aload 0 /* this */
            aload 4 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         1: .line 412
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* text */
            iconst_0
            aload 1 /* text */
            invokevirtual java.lang.String.length:()I
            fload 2 /* x */
            fload 3 /* y */
            aload 4 /* paint */
            getfield android.graphics.Paint.mBidiFlags:I
         2: .line 413
            aload 4 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
         3: .line 412
            invokestatic android.graphics.BaseCanvas.nDrawText:(JLjava/lang/String;IIFFIJ)V
         4: .line 414
            return
        end local 4 // android.graphics.Paint paint
        end local 3 // float y
        end local 2 // float x
        end local 1 // java.lang.String text
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/graphics/BaseCanvas;
            0    5     1   text  Ljava/lang/String;
            0    5     2      x  F
            0    5     3      y  F
            0    5     4  paint  Landroid/graphics/Paint;
    MethodParameters:
       Name  Flags
      text   
      x      
      y      
      paint  

  public void drawText(java.lang.String, int, int, float, float, android.graphics.Paint);
    descriptor: (Ljava/lang/String;IIFFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=7
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // java.lang.String text
        start local 2 // int start
        start local 3 // int end
        start local 4 // float x
        start local 5 // float y
        start local 6 // android.graphics.Paint paint
         0: .line 418
            iload 2 /* start */
            iload 3 /* end */
            ior
            iload 3 /* end */
            iload 2 /* start */
            isub
            ior
            aload 1 /* text */
            invokevirtual java.lang.String.length:()I
            iload 3 /* end */
            isub
            ior
            ifge 2
         1: .line 419
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         3: .line 422
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* text */
            iload 2 /* start */
            iload 3 /* end */
            fload 4 /* x */
            fload 5 /* y */
            aload 6 /* paint */
            getfield android.graphics.Paint.mBidiFlags:I
         4: .line 423
            aload 6 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
         5: .line 422
            invokestatic android.graphics.BaseCanvas.nDrawText:(JLjava/lang/String;IIFFIJ)V
         6: .line 424
            return
        end local 6 // android.graphics.Paint paint
        end local 5 // float y
        end local 4 // float x
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.String text
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Landroid/graphics/BaseCanvas;
            0    7     1   text  Ljava/lang/String;
            0    7     2  start  I
            0    7     3    end  I
            0    7     4      x  F
            0    7     5      y  F
            0    7     6  paint  Landroid/graphics/Paint;
    MethodParameters:
       Name  Flags
      text   
      start  
      end    
      x      
      y      
      paint  

  public void drawTextOnPath(char[], int, int, android.graphics.Path, float, float, android.graphics.Paint);
    descriptor: ([CIILandroid/graphics/Path;FFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=8, args_size=8
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // char[] text
        start local 2 // int index
        start local 3 // int count
        start local 4 // android.graphics.Path path
        start local 5 // float hOffset
        start local 6 // float vOffset
        start local 7 // android.graphics.Paint paint
         0: .line 428
            iload 2 /* index */
            iflt 1
            iload 2 /* index */
            iload 3 /* count */
            iadd
            aload 1 /* text */
            arraylength
            if_icmple 2
         1: .line 429
      StackMap locals:
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 431
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         3: .line 432
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* text */
            iload 2 /* index */
            iload 3 /* count */
         4: .line 433
            aload 4 /* path */
            invokevirtual android.graphics.Path.readOnlyNI:()J
            fload 5 /* hOffset */
            fload 6 /* vOffset */
         5: .line 434
            aload 7 /* paint */
            getfield android.graphics.Paint.mBidiFlags:I
            aload 7 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
         6: .line 432
            invokestatic android.graphics.BaseCanvas.nDrawTextOnPath:(J[CIIJFFIJ)V
         7: .line 435
            return
        end local 7 // android.graphics.Paint paint
        end local 6 // float vOffset
        end local 5 // float hOffset
        end local 4 // android.graphics.Path path
        end local 3 // int count
        end local 2 // int index
        end local 1 // char[] text
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Landroid/graphics/BaseCanvas;
            0    8     1     text  [C
            0    8     2    index  I
            0    8     3    count  I
            0    8     4     path  Landroid/graphics/Path;
            0    8     5  hOffset  F
            0    8     6  vOffset  F
            0    8     7    paint  Landroid/graphics/Paint;
    MethodParameters:
         Name  Flags
      text     
      index    
      count    
      path     
      hOffset  
      vOffset  
      paint    

  public void drawTextOnPath(java.lang.String, android.graphics.Path, float, float, android.graphics.Paint);
    descriptor: (Ljava/lang/String;Landroid/graphics/Path;FFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=6, args_size=6
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // java.lang.String text
        start local 2 // android.graphics.Path path
        start local 3 // float hOffset
        start local 4 // float vOffset
        start local 5 // android.graphics.Paint paint
         0: .line 439
            aload 1 /* text */
            invokevirtual java.lang.String.length:()I
            ifle 5
         1: .line 440
            aload 0 /* this */
            aload 5 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
         2: .line 441
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* text */
            aload 2 /* path */
            invokevirtual android.graphics.Path.readOnlyNI:()J
            fload 3 /* hOffset */
            fload 4 /* vOffset */
         3: .line 442
            aload 5 /* paint */
            getfield android.graphics.Paint.mBidiFlags:I
            aload 5 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
         4: .line 441
            invokestatic android.graphics.BaseCanvas.nDrawTextOnPath:(JLjava/lang/String;JFFIJ)V
         5: .line 444
      StackMap locals:
      StackMap stack:
            return
        end local 5 // android.graphics.Paint paint
        end local 4 // float vOffset
        end local 3 // float hOffset
        end local 2 // android.graphics.Path path
        end local 1 // java.lang.String text
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Landroid/graphics/BaseCanvas;
            0    6     1     text  Ljava/lang/String;
            0    6     2     path  Landroid/graphics/Path;
            0    6     3  hOffset  F
            0    6     4  vOffset  F
            0    6     5    paint  Landroid/graphics/Paint;
    MethodParameters:
         Name  Flags
      text     
      path     
      hOffset  
      vOffset  
      paint    

  public void drawTextRun(char[], int, int, int, int, float, float, boolean, android.graphics.Paint);
    descriptor: ([CIIIIFFZLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=10, args_size=10
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // char[] text
        start local 2 // int index
        start local 3 // int count
        start local 4 // int contextIndex
        start local 5 // int contextCount
        start local 6 // float x
        start local 7 // float y
        start local 8 // boolean isRtl
        start local 9 // android.graphics.Paint paint
         0: .line 449
            aload 1 /* text */
            ifnonnull 2
         1: .line 450
            new java.lang.NullPointerException
            dup
            ldc "text is null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 452
      StackMap locals:
      StackMap stack:
            aload 9 /* paint */
            ifnonnull 4
         3: .line 453
            new java.lang.NullPointerException
            dup
            ldc "paint is null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 455
      StackMap locals:
      StackMap stack:
            iload 2 /* index */
            iload 3 /* count */
            ior
            iload 4 /* contextIndex */
            ior
            iload 5 /* contextCount */
            ior
            iload 2 /* index */
            iload 4 /* contextIndex */
            isub
            ior
         5: .line 456
            iload 4 /* contextIndex */
            iload 5 /* contextCount */
            iadd
            iload 2 /* index */
            iload 3 /* count */
            iadd
            isub
         6: .line 455
            ior
         7: .line 457
            aload 1 /* text */
            arraylength
            iload 4 /* contextIndex */
            iload 5 /* contextCount */
            iadd
            isub
         8: .line 455
            ior
            ifge 10
         9: .line 458
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
        10: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
        11: .line 462
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* text */
            iload 2 /* index */
            iload 3 /* count */
            iload 4 /* contextIndex */
            iload 5 /* contextCount */
        12: .line 463
            fload 6 /* x */
            fload 7 /* y */
            iload 8 /* isRtl */
            aload 9 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            lconst_0
        13: .line 462
            invokestatic android.graphics.BaseCanvas.nDrawTextRun:(J[CIIIIFFZJJ)V
        14: .line 464
            return
        end local 9 // android.graphics.Paint paint
        end local 8 // boolean isRtl
        end local 7 // float y
        end local 6 // float x
        end local 5 // int contextCount
        end local 4 // int contextIndex
        end local 3 // int count
        end local 2 // int index
        end local 1 // char[] text
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Landroid/graphics/BaseCanvas;
            0   15     1          text  [C
            0   15     2         index  I
            0   15     3         count  I
            0   15     4  contextIndex  I
            0   15     5  contextCount  I
            0   15     6             x  F
            0   15     7             y  F
            0   15     8         isRtl  Z
            0   15     9         paint  Landroid/graphics/Paint;
    MethodParameters:
              Name  Flags
      text          
      index         
      count         
      contextIndex  
      contextCount  
      x             
      y             
      isRtl         
      paint         

  public void drawTextRun(java.lang.CharSequence, int, int, int, int, float, float, boolean, android.graphics.Paint);
    descriptor: (Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=17, args_size=10
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // java.lang.CharSequence text
        start local 2 // int start
        start local 3 // int end
        start local 4 // int contextStart
        start local 5 // int contextEnd
        start local 6 // float x
        start local 7 // float y
        start local 8 // boolean isRtl
        start local 9 // android.graphics.Paint paint
         0: .line 469
            aload 1 /* text */
            ifnonnull 2
         1: .line 470
            new java.lang.NullPointerException
            dup
            ldc "text is null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 472
      StackMap locals:
      StackMap stack:
            aload 9 /* paint */
            ifnonnull 4
         3: .line 473
            new java.lang.NullPointerException
            dup
            ldc "paint is null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 475
      StackMap locals:
      StackMap stack:
            iload 2 /* start */
            iload 3 /* end */
            ior
            iload 4 /* contextStart */
            ior
            iload 5 /* contextEnd */
            ior
            iload 2 /* start */
            iload 4 /* contextStart */
            isub
            ior
            iload 3 /* end */
            iload 2 /* start */
            isub
            ior
         5: .line 476
            iload 5 /* contextEnd */
            iload 3 /* end */
            isub
         6: .line 475
            ior
         7: .line 476
            aload 1 /* text */
            invokeinterface java.lang.CharSequence.length:()I
            iload 5 /* contextEnd */
            isub
         8: .line 475
            ior
            ifge 10
         9: .line 477
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
        10: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
        11: .line 481
            aload 1 /* text */
            instanceof java.lang.String
            ifne 13
            aload 1 /* text */
            instanceof android.text.SpannedString
            ifne 13
        12: .line 482
            aload 1 /* text */
            instanceof android.text.SpannableString
            ifeq 17
        13: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* text */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            iload 2 /* start */
            iload 3 /* end */
            iload 4 /* contextStart */
        14: .line 484
            iload 5 /* contextEnd */
            fload 6 /* x */
            fload 7 /* y */
            iload 8 /* isRtl */
            aload 9 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
        15: .line 483
            invokestatic android.graphics.BaseCanvas.nDrawTextRun:(JLjava/lang/String;IIIIFFZJ)V
        16: .line 485
            goto 36
      StackMap locals:
      StackMap stack:
        17: aload 1 /* text */
            instanceof android.text.GraphicsOperations
            ifeq 22
        18: .line 486
            aload 1 /* text */
            checkcast android.text.GraphicsOperations
            aload 0 /* this */
            iload 2 /* start */
            iload 3 /* end */
        19: .line 487
            iload 4 /* contextStart */
            iload 5 /* contextEnd */
            fload 6 /* x */
            fload 7 /* y */
            iload 8 /* isRtl */
            aload 9 /* paint */
        20: .line 486
            invokeinterface android.text.GraphicsOperations.drawTextRun:(Landroid/graphics/BaseCanvas;IIIIFFZLandroid/graphics/Paint;)V
        21: .line 488
            goto 36
        22: .line 489
      StackMap locals:
      StackMap stack:
            iload 5 /* contextEnd */
            iload 4 /* contextStart */
            isub
            istore 10 /* contextLen */
        start local 10 // int contextLen
        23: .line 490
            iload 3 /* end */
            iload 2 /* start */
            isub
            istore 11 /* len */
        start local 11 // int len
        24: .line 491
            iload 10 /* contextLen */
            invokestatic android.graphics.TemporaryBuffer.obtain:(I)[C
            astore 12 /* buf */
        start local 12 // char[] buf
        25: .line 492
            aload 1 /* text */
            iload 4 /* contextStart */
            iload 5 /* contextEnd */
            aload 12 /* buf */
            iconst_0
            invokestatic android.text.TextUtils.getChars:(Ljava/lang/CharSequence;II[CI)V
        26: .line 493
            lconst_0
            lstore 13 /* measuredTextPtr */
        start local 13 // long measuredTextPtr
        27: .line 494
            aload 1 /* text */
            instanceof android.text.PrecomputedText
            ifeq 32
        28: .line 495
            aload 1 /* text */
            checkcast android.text.PrecomputedText
            astore 15 /* mt */
        start local 15 // android.text.PrecomputedText mt
        29: .line 496
            aload 15 /* mt */
            iload 2 /* start */
            invokevirtual android.text.PrecomputedText.findParaIndex:(I)I
            istore 16 /* paraIndex */
        start local 16 // int paraIndex
        30: .line 497
            iload 3 /* end */
            aload 15 /* mt */
            iload 16 /* paraIndex */
            invokevirtual android.text.PrecomputedText.getParagraphEnd:(I)I
            if_icmpgt 32
        31: .line 499
            aload 15 /* mt */
            iload 16 /* paraIndex */
            invokevirtual android.text.PrecomputedText.getMeasuredParagraph:(I)Landroid/text/MeasuredParagraph;
            invokevirtual android.text.MeasuredParagraph.getNativePtr:()J
            lstore 13 /* measuredTextPtr */
        end local 16 // int paraIndex
        end local 15 // android.text.PrecomputedText mt
        32: .line 502
      StackMap locals: android.graphics.BaseCanvas java.lang.CharSequence int int int int float float int android.graphics.Paint int int char[] long
      StackMap stack:
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 12 /* buf */
            iload 2 /* start */
            iload 4 /* contextStart */
            isub
            iload 11 /* len */
        33: .line 503
            iconst_0
            iload 10 /* contextLen */
            fload 6 /* x */
            fload 7 /* y */
            iload 8 /* isRtl */
            aload 9 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
            lload 13 /* measuredTextPtr */
        34: .line 502
            invokestatic android.graphics.BaseCanvas.nDrawTextRun:(J[CIIIIFFZJJ)V
        35: .line 504
            aload 12 /* buf */
            invokestatic android.graphics.TemporaryBuffer.recycle:([C)V
        end local 13 // long measuredTextPtr
        end local 12 // char[] buf
        end local 11 // int len
        end local 10 // int contextLen
        36: .line 506
      StackMap locals: android.graphics.BaseCanvas java.lang.CharSequence int int int int float float int android.graphics.Paint
      StackMap stack:
            return
        end local 9 // android.graphics.Paint paint
        end local 8 // boolean isRtl
        end local 7 // float y
        end local 6 // float x
        end local 5 // int contextEnd
        end local 4 // int contextStart
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.CharSequence text
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   37     0             this  Landroid/graphics/BaseCanvas;
            0   37     1             text  Ljava/lang/CharSequence;
            0   37     2            start  I
            0   37     3              end  I
            0   37     4     contextStart  I
            0   37     5       contextEnd  I
            0   37     6                x  F
            0   37     7                y  F
            0   37     8            isRtl  Z
            0   37     9            paint  Landroid/graphics/Paint;
           23   36    10       contextLen  I
           24   36    11              len  I
           25   36    12              buf  [C
           27   36    13  measuredTextPtr  J
           29   32    15               mt  Landroid/text/PrecomputedText;
           30   32    16        paraIndex  I
    MethodParameters:
              Name  Flags
      text          
      start         
      end           
      contextStart  
      contextEnd    
      x             
      y             
      isRtl         
      paint         

  public void drawVertices(android.graphics.Canvas$VertexMode, int, float[], int, float[], int, int[], int, short[], int, int, android.graphics.Paint);
    descriptor: (Landroid/graphics/Canvas$VertexMode;I[FI[FI[II[SIILandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=13, args_size=13
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Canvas$VertexMode mode
        start local 2 // int vertexCount
        start local 3 // float[] verts
        start local 4 // int vertOffset
        start local 5 // float[] texs
        start local 6 // int texOffset
        start local 7 // int[] colors
        start local 8 // int colorOffset
        start local 9 // short[] indices
        start local 10 // int indexOffset
        start local 11 // int indexCount
        start local 12 // android.graphics.Paint paint
         0: .line 512
            aload 3 /* verts */
            arraylength
            iload 4 /* vertOffset */
            iload 2 /* vertexCount */
            invokestatic android.graphics.BaseCanvas.checkRange:(III)V
         1: .line 513
            aload 0 /* this */
            invokevirtual android.graphics.BaseCanvas.isHardwareAccelerated:()Z
            ifeq 3
         2: .line 514
            return
         3: .line 516
      StackMap locals:
      StackMap stack:
            aload 5 /* texs */
            ifnull 5
         4: .line 517
            aload 5 /* texs */
            arraylength
            iload 6 /* texOffset */
            iload 2 /* vertexCount */
            invokestatic android.graphics.BaseCanvas.checkRange:(III)V
         5: .line 519
      StackMap locals:
      StackMap stack:
            aload 7 /* colors */
            ifnull 7
         6: .line 520
            aload 7 /* colors */
            arraylength
            iload 8 /* colorOffset */
            iload 2 /* vertexCount */
            iconst_2
            idiv
            invokestatic android.graphics.BaseCanvas.checkRange:(III)V
         7: .line 522
      StackMap locals:
      StackMap stack:
            aload 9 /* indices */
            ifnull 9
         8: .line 523
            aload 9 /* indices */
            arraylength
            iload 10 /* indexOffset */
            iload 11 /* indexCount */
            invokestatic android.graphics.BaseCanvas.checkRange:(III)V
         9: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* paint */
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Paint;)V
        10: .line 526
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mNativeCanvasWrapper:J
            aload 1 /* mode */
            getfield android.graphics.Canvas$VertexMode.nativeInt:I
            iload 2 /* vertexCount */
            aload 3 /* verts */
        11: .line 527
            iload 4 /* vertOffset */
            aload 5 /* texs */
            iload 6 /* texOffset */
            aload 7 /* colors */
            iload 8 /* colorOffset */
        12: .line 528
            aload 9 /* indices */
            iload 10 /* indexOffset */
            iload 11 /* indexCount */
            aload 12 /* paint */
            invokevirtual android.graphics.Paint.getNativeInstance:()J
        13: .line 526
            invokestatic android.graphics.BaseCanvas.nDrawVertices:(JII[FI[FI[II[SIIJ)V
        14: .line 529
            return
        end local 12 // android.graphics.Paint paint
        end local 11 // int indexCount
        end local 10 // int indexOffset
        end local 9 // short[] indices
        end local 8 // int colorOffset
        end local 7 // int[] colors
        end local 6 // int texOffset
        end local 5 // float[] texs
        end local 4 // int vertOffset
        end local 3 // float[] verts
        end local 2 // int vertexCount
        end local 1 // android.graphics.Canvas$VertexMode mode
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Landroid/graphics/BaseCanvas;
            0   15     1         mode  Landroid/graphics/Canvas$VertexMode;
            0   15     2  vertexCount  I
            0   15     3        verts  [F
            0   15     4   vertOffset  I
            0   15     5         texs  [F
            0   15     6    texOffset  I
            0   15     7       colors  [I
            0   15     8  colorOffset  I
            0   15     9      indices  [S
            0   15    10  indexOffset  I
            0   15    11   indexCount  I
            0   15    12        paint  Landroid/graphics/Paint;
    MethodParameters:
             Name  Flags
      mode         
      vertexCount  
      verts        
      vertOffset   
      texs         
      texOffset    
      colors       
      colorOffset  
      indices      
      indexOffset  
      indexCount   
      paint        

  public void setHwBitmapsInSwModeEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // boolean enabled
         0: .line 535
            aload 0 /* this */
            iload 1 /* enabled */
            putfield android.graphics.BaseCanvas.mAllowHwBitmapsInSwMode:Z
         1: .line 536
            return
        end local 1 // boolean enabled
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/graphics/BaseCanvas;
            0    2     1  enabled  Z
    MethodParameters:
         Name  Flags
      enabled  

  public boolean isHwBitmapsInSwModeEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.graphics.BaseCanvas this
         0: .line 542
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mAllowHwBitmapsInSwMode:Z
            ireturn
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/graphics/BaseCanvas;

  protected void onHwBitmapInSwMode();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.graphics.BaseCanvas this
         0: .line 549
            aload 0 /* this */
            getfield android.graphics.BaseCanvas.mAllowHwBitmapsInSwMode:Z
            ifne 4
         1: .line 550
            new java.lang.IllegalArgumentException
            dup
         2: .line 551
            ldc "Software rendering doesn't support hardware bitmaps"
         3: .line 550
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 553
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/graphics/BaseCanvas;

  private void throwIfHwBitmapInSwMode(android.graphics.Bitmap);
    descriptor: (Landroid/graphics/Bitmap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Bitmap bitmap
         0: .line 556
            aload 0 /* this */
            invokevirtual android.graphics.BaseCanvas.isHardwareAccelerated:()Z
            ifne 2
            aload 1 /* bitmap */
            invokevirtual android.graphics.Bitmap.getConfig:()Landroid/graphics/Bitmap$Config;
            getstatic android.graphics.Bitmap$Config.HARDWARE:Landroid/graphics/Bitmap$Config;
            if_acmpne 2
         1: .line 557
            aload 0 /* this */
            invokevirtual android.graphics.BaseCanvas.onHwBitmapInSwMode:()V
         2: .line 559
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.graphics.Bitmap bitmap
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/graphics/BaseCanvas;
            0    3     1  bitmap  Landroid/graphics/Bitmap;
    MethodParameters:
        Name  Flags
      bitmap  

  private void throwIfHasHwBitmapInSwMode(android.graphics.Paint);
    descriptor: (Landroid/graphics/Paint;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Paint p
         0: .line 562
            aload 0 /* this */
            invokevirtual android.graphics.BaseCanvas.isHardwareAccelerated:()Z
            ifne 1
            aload 1 /* p */
            ifnonnull 2
         1: .line 563
      StackMap locals:
      StackMap stack:
            return
         2: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* p */
            invokevirtual android.graphics.Paint.getShader:()Landroid/graphics/Shader;
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Shader;)V
         3: .line 566
            return
        end local 1 // android.graphics.Paint p
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/graphics/BaseCanvas;
            0    4     1     p  Landroid/graphics/Paint;
    MethodParameters:
      Name  Flags
      p     

  private void throwIfHasHwBitmapInSwMode(android.graphics.Shader);
    descriptor: (Landroid/graphics/Shader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.graphics.BaseCanvas this
        start local 1 // android.graphics.Shader shader
         0: .line 569
            aload 1 /* shader */
            ifnonnull 2
         1: .line 570
            return
         2: .line 572
      StackMap locals:
      StackMap stack:
            aload 1 /* shader */
            instanceof android.graphics.BitmapShader
            ifeq 4
         3: .line 573
            aload 0 /* this */
            aload 1 /* shader */
            checkcast android.graphics.BitmapShader
            getfield android.graphics.BitmapShader.mBitmap:Landroid/graphics/Bitmap;
            invokevirtual android.graphics.BaseCanvas.throwIfHwBitmapInSwMode:(Landroid/graphics/Bitmap;)V
         4: .line 575
      StackMap locals:
      StackMap stack:
            aload 1 /* shader */
            instanceof android.graphics.ComposeShader
            ifeq 7
         5: .line 576
            aload 0 /* this */
            aload 1 /* shader */
            checkcast android.graphics.ComposeShader
            getfield android.graphics.ComposeShader.mShaderA:Landroid/graphics/Shader;
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Shader;)V
         6: .line 577
            aload 0 /* this */
            aload 1 /* shader */
            checkcast android.graphics.ComposeShader
            getfield android.graphics.ComposeShader.mShaderB:Landroid/graphics/Shader;
            invokevirtual android.graphics.BaseCanvas.throwIfHasHwBitmapInSwMode:(Landroid/graphics/Shader;)V
         7: .line 579
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.graphics.Shader shader
        end local 0 // android.graphics.BaseCanvas this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Landroid/graphics/BaseCanvas;
            0    8     1  shader  Landroid/graphics/Shader;
    MethodParameters:
        Name  Flags
      shader  

  private static native void nDrawBitmap(long, android.graphics.Bitmap, float, float, long, int, int, int);
    descriptor: (JLandroid/graphics/Bitmap;FFJIII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                   Name  Flags
      nativeCanvas       
      bitmap             
      left               
      top                
      nativePaintOrZero  
      canvasDensity      
      screenDensity      
      bitmapDensity      

  private static native void nDrawBitmap(long, android.graphics.Bitmap, float, float, float, float, float, float, float, float, long, int, int);
    descriptor: (JLandroid/graphics/Bitmap;FFFFFFFFJII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                   Name  Flags
      nativeCanvas       
      bitmap             
      srcLeft            
      srcTop             
      srcRight           
      srcBottom          
      dstLeft            
      dstTop             
      dstRight           
      dstBottom          
      nativePaintOrZero  
      screenDensity      
      bitmapDensity      

  private static native void nDrawBitmap(long, int[], int, int, float, float, int, int, boolean, long);
    descriptor: (J[IIIFFIIZJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                   Name  Flags
      nativeCanvas       
      colors             
      offset             
      stride             
      x                  
      y                  
      width              
      height             
      hasAlpha           
      nativePaintOrZero  

  private static native void nDrawColor(long, int, int);
    descriptor: (JII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      color         
      mode          

  private static native void nDrawPaint(long, long);
    descriptor: (JJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      nativePaint   

  private static native void nDrawPoint(long, float, float, long);
    descriptor: (JFFJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      canvasHandle  
      x             
      y             
      paintHandle   

  private static native void nDrawPoints(long, float[], int, int, long);
    descriptor: (J[FIIJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      canvasHandle  
      pts           
      offset        
      count         
      paintHandle   

  private static native void nDrawLine(long, float, float, float, float, long);
    descriptor: (JFFFFJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      startX        
      startY        
      stopX         
      stopY         
      nativePaint   

  private static native void nDrawLines(long, float[], int, int, long);
    descriptor: (J[FIIJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      canvasHandle  
      pts           
      offset        
      count         
      paintHandle   

  private static native void nDrawRect(long, float, float, float, float, long);
    descriptor: (JFFFFJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      left          
      top           
      right         
      bottom        
      nativePaint   

  private static native void nDrawOval(long, float, float, float, float, long);
    descriptor: (JFFFFJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      left          
      top           
      right         
      bottom        
      nativePaint   

  private static native void nDrawCircle(long, float, float, float, long);
    descriptor: (JFFFJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      cx            
      cy            
      radius        
      nativePaint   

  private static native void nDrawArc(long, float, float, float, float, float, float, boolean, long);
    descriptor: (JFFFFFFZJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      left          
      top           
      right         
      bottom        
      startAngle    
      sweep         
      useCenter     
      nativePaint   

  private static native void nDrawRoundRect(long, float, float, float, float, float, float, long);
    descriptor: (JFFFFFFJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      left          
      top           
      right         
      bottom        
      rx            
      ry            
      nativePaint   

  private static native void nDrawPath(long, long, long);
    descriptor: (JJJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      nativePath    
      nativePaint   

  private static native void nDrawRegion(long, long, long);
    descriptor: (JJJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      nativeRegion  
      nativePaint   

  private static native void nDrawNinePatch(long, long, long, float, float, float, float, long, int, int);
    descriptor: (JJJFFFFJII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                   Name  Flags
      nativeCanvas       
      nativeBitmap       
      ninePatch          
      dstLeft            
      dstTop             
      dstRight           
      dstBottom          
      nativePaintOrZero  
      screenDensity      
      bitmapDensity      

  private static native void nDrawBitmapMatrix(long, android.graphics.Bitmap, long, long);
    descriptor: (JLandroid/graphics/Bitmap;JJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      bitmap        
      nativeMatrix  
      nativePaint   

  private static native void nDrawBitmapMesh(long, android.graphics.Bitmap, int, int, float[], int, int[], int, long);
    descriptor: (JLandroid/graphics/Bitmap;II[FI[IIJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      bitmap        
      meshWidth     
      meshHeight    
      verts         
      vertOffset    
      colors        
      colorOffset   
      nativePaint   

  private static native void nDrawVertices(long, int, int, float[], int, float[], int, int[], int, short[], int, int, long);
    descriptor: (JII[FI[FI[II[SIIJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      mode          
      n             
      verts         
      vertOffset    
      texs          
      texOffset     
      colors        
      colorOffset   
      indices       
      indexOffset   
      indexCount    
      nativePaint   

  private static native void nDrawText(long, char[], int, int, float, float, int, long);
    descriptor: (J[CIIFFIJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      text          
      index         
      count         
      x             
      y             
      flags         
      nativePaint   

  private static native void nDrawText(long, java.lang.String, int, int, float, float, int, long);
    descriptor: (JLjava/lang/String;IIFFIJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      text          
      start         
      end           
      x             
      y             
      flags         
      nativePaint   

  private static native void nDrawTextRun(long, java.lang.String, int, int, int, int, float, float, boolean, long);
    descriptor: (JLjava/lang/String;IIIIFFZJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      text          
      start         
      end           
      contextStart  
      contextEnd    
      x             
      y             
      isRtl         
      nativePaint   

  private static native void nDrawTextRun(long, char[], int, int, int, int, float, float, boolean, long, long);
    descriptor: (J[CIIIIFFZJJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                       Name  Flags
      nativeCanvas           
      text                   
      start                  
      count                  
      contextStart           
      contextCount           
      x                      
      y                      
      isRtl                  
      nativePaint            
      nativePrecomputedText  

  private static native void nDrawTextOnPath(long, char[], int, int, long, float, float, int, long);
    descriptor: (J[CIIJFFIJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      text          
      index         
      count         
      nativePath    
      hOffset       
      vOffset       
      bidiFlags     
      nativePaint   

  private static native void nDrawTextOnPath(long, java.lang.String, long, float, float, int, long);
    descriptor: (JLjava/lang/String;JFFIJ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      nativeCanvas  
      text          
      nativePath    
      hOffset       
      vOffset       
      flags         
      nativePaint   
}
SourceFile: "BaseCanvas.java"
InnerClasses:
  public final Config = android.graphics.Bitmap$Config of android.graphics.Bitmap
  public final VertexMode = android.graphics.Canvas$VertexMode of android.graphics.Canvas
  public final Mode = android.graphics.PorterDuff$Mode of android.graphics.PorterDuff