class javax.swing.plaf.nimbus.DropShadowEffect extends javax.swing.plaf.nimbus.ShadowEffect
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.swing.plaf.nimbus.DropShadowEffect
  super_class: javax.swing.plaf.nimbus.ShadowEffect
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.nimbus.DropShadowEffect this
         0: .line 38
            aload 0 /* this */
            invokespecial javax.swing.plaf.nimbus.ShadowEffect.<init>:()V
            return
        end local 0 // javax.swing.plaf.nimbus.DropShadowEffect this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/nimbus/DropShadowEffect;

  javax.swing.plaf.nimbus.Effect$EffectType getEffectType();
    descriptor: ()Ljavax/swing/plaf/nimbus/Effect$EffectType;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.nimbus.DropShadowEffect this
         0: .line 52
            getstatic javax.swing.plaf.nimbus.Effect$EffectType.UNDER:Ljavax/swing/plaf/nimbus/Effect$EffectType;
            areturn
        end local 0 // javax.swing.plaf.nimbus.DropShadowEffect this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/nimbus/DropShadowEffect;

  java.awt.image.BufferedImage applyEffect(java.awt.image.BufferedImage, java.awt.image.BufferedImage, int, int);
    descriptor: (Ljava/awt/image/BufferedImage;Ljava/awt/image/BufferedImage;II)Ljava/awt/image/BufferedImage;
    flags: (0x0000) 
    Code:
      stack=6, locals=28, args_size=5
        start local 0 // javax.swing.plaf.nimbus.DropShadowEffect this
        start local 1 // java.awt.image.BufferedImage src
        start local 2 // java.awt.image.BufferedImage dst
        start local 3 // int w
        start local 4 // int h
         0: .line 69
            aload 1 /* src */
            ifnull 1
            aload 1 /* src */
            invokevirtual java.awt.image.BufferedImage.getType:()I
            iconst_2
            if_icmpeq 2
         1: .line 70
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Effect only works with source images of type BufferedImage.TYPE_INT_ARGB."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 73
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            ifnull 4
            aload 2 /* dst */
            invokevirtual java.awt.image.BufferedImage.getType:()I
            iconst_2
            if_icmpeq 4
         3: .line 74
            new java.lang.IllegalArgumentException
            dup
            ldc "Effect only works with destination images of type BufferedImage.TYPE_INT_ARGB."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.angle:I
            bipush 90
            isub
            i2d
            invokestatic java.lang.Math.toRadians:(D)D
            dstore 5 /* trangleAngle */
        start local 5 // double trangleAngle
         5: .line 79
            dload 5 /* trangleAngle */
            invokestatic java.lang.Math.sin:(D)D
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.distance:I
            i2d
            dmul
            d2i
            istore 7 /* offsetX */
        start local 7 // int offsetX
         6: .line 80
            dload 5 /* trangleAngle */
            invokestatic java.lang.Math.cos:(D)D
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.distance:I
            i2d
            dmul
            d2i
            istore 8 /* offsetY */
        start local 8 // int offsetY
         7: .line 82
            iload 7 /* offsetX */
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.size:I
            iadd
            istore 9 /* tmpOffX */
        start local 9 // int tmpOffX
         8: .line 83
            iload 7 /* offsetX */
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.size:I
            iadd
            istore 10 /* tmpOffY */
        start local 10 // int tmpOffY
         9: .line 84
            iload 3 /* w */
            iload 7 /* offsetX */
            iadd
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.size:I
            iadd
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.size:I
            iadd
            istore 11 /* tmpW */
        start local 11 // int tmpW
        10: .line 85
            iload 4 /* h */
            iload 7 /* offsetX */
            iadd
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.size:I
            iadd
            istore 12 /* tmpH */
        start local 12 // int tmpH
        11: .line 87
            invokestatic javax.swing.plaf.nimbus.DropShadowEffect.getArrayCache:()Ljavax/swing/plaf/nimbus/Effect$ArrayCache;
            iload 3 /* w */
            invokevirtual javax.swing.plaf.nimbus.Effect$ArrayCache.getTmpIntArray:(I)[I
            astore 13 /* lineBuf */
        start local 13 // int[] lineBuf
        12: .line 88
            invokestatic javax.swing.plaf.nimbus.DropShadowEffect.getArrayCache:()Ljavax/swing/plaf/nimbus/Effect$ArrayCache;
            iload 11 /* tmpW */
            iload 12 /* tmpH */
            imul
            invokevirtual javax.swing.plaf.nimbus.Effect$ArrayCache.getTmpByteArray1:(I)[B
            astore 14 /* tmpBuf1 */
        start local 14 // byte[] tmpBuf1
        13: .line 89
            aload 14 /* tmpBuf1 */
            iconst_0
            invokestatic java.util.Arrays.fill:([BB)V
        14: .line 90
            invokestatic javax.swing.plaf.nimbus.DropShadowEffect.getArrayCache:()Ljavax/swing/plaf/nimbus/Effect$ArrayCache;
            iload 11 /* tmpW */
            iload 12 /* tmpH */
            imul
            invokevirtual javax.swing.plaf.nimbus.Effect$ArrayCache.getTmpByteArray2:(I)[B
            astore 15 /* tmpBuf2 */
        start local 15 // byte[] tmpBuf2
        15: .line 92
            aload 1 /* src */
            invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
            astore 16 /* srcRaster */
        start local 16 // java.awt.image.Raster srcRaster
        16: .line 93
            iconst_0
            istore 17 /* y */
        start local 17 // int y
        17: goto 28
        18: .line 94
      StackMap locals: javax.swing.plaf.nimbus.DropShadowEffect java.awt.image.BufferedImage java.awt.image.BufferedImage int int double int int int int int int int[] byte[] byte[] java.awt.image.Raster int
      StackMap stack:
            iload 17 /* y */
            iload 10 /* tmpOffY */
            iadd
            istore 18 /* dy */
        start local 18 // int dy
        19: .line 95
            iload 18 /* dy */
            iload 11 /* tmpW */
            imul
            istore 19 /* offset */
        start local 19 // int offset
        20: .line 96
            aload 16 /* srcRaster */
            iconst_0
            iload 17 /* y */
            iload 3 /* w */
            iconst_1
            aload 13 /* lineBuf */
            invokevirtual java.awt.image.Raster.getDataElements:(IIIILjava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 97
            iconst_0
            istore 20 /* x */
        start local 20 // int x
        22: goto 26
        23: .line 98
      StackMap locals: int int int
      StackMap stack:
            iload 20 /* x */
            iload 9 /* tmpOffX */
            iadd
            istore 21 /* dx */
        start local 21 // int dx
        24: .line 99
            aload 14 /* tmpBuf1 */
            iload 19 /* offset */
            iload 21 /* dx */
            iadd
            aload 13 /* lineBuf */
            iload 20 /* x */
            iaload
            ldc -16777216
            iand
            bipush 24
            iushr
            i2b
            bastore
        end local 21 // int dx
        25: .line 97
            iinc 20 /* x */ 1
      StackMap locals:
      StackMap stack:
        26: iload 20 /* x */
            iload 3 /* w */
            if_icmplt 23
        end local 20 // int x
        end local 19 // int offset
        end local 18 // int dy
        27: .line 93
            iinc 17 /* y */ 1
      StackMap locals:
      StackMap stack:
        28: iload 17 /* y */
            iload 4 /* h */
            if_icmplt 18
        end local 17 // int y
        29: .line 103
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.size:I
            invokestatic javax.swing.plaf.nimbus.EffectUtils.createGaussianKernel:(I)[F
            astore 17 /* kernel */
        start local 17 // float[] kernel
        30: .line 104
            aload 14 /* tmpBuf1 */
            aload 15 /* tmpBuf2 */
            iload 11 /* tmpW */
            iload 12 /* tmpH */
            aload 17 /* kernel */
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.size:I
            invokestatic javax.swing.plaf.nimbus.EffectUtils.blur:([B[BII[FI)V
        31: .line 105
            aload 15 /* tmpBuf2 */
            aload 14 /* tmpBuf1 */
            iload 12 /* tmpH */
            iload 11 /* tmpW */
            aload 17 /* kernel */
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.size:I
            invokestatic javax.swing.plaf.nimbus.EffectUtils.blur:([B[BII[FI)V
        32: .line 107
            fconst_1
            fconst_1
            ldc 0.01
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.spread:I
            i2f
            fmul
            fsub
            fdiv
            ldc 255.0
            invokestatic java.lang.Math.min:(FF)F
            fstore 18 /* spread */
        start local 18 // float spread
        33: .line 108
            iconst_0
            istore 19 /* i */
        start local 19 // int i
        34: goto 40
        35: .line 109
      StackMap locals: javax.swing.plaf.nimbus.DropShadowEffect java.awt.image.BufferedImage java.awt.image.BufferedImage int int double int int int int int int int[] byte[] byte[] java.awt.image.Raster float[] float int
      StackMap stack:
            aload 14 /* tmpBuf1 */
            iload 19 /* i */
            baload
            sipush 255
            iand
            i2f
            fload 18 /* spread */
            fmul
            f2i
            istore 20 /* val */
        start local 20 // int val
        36: .line 110
            aload 14 /* tmpBuf1 */
            iload 19 /* i */
            iload 20 /* val */
            sipush 255
            if_icmple 37
            iconst_m1
            goto 38
      StackMap locals: javax.swing.plaf.nimbus.DropShadowEffect java.awt.image.BufferedImage java.awt.image.BufferedImage int int double int int int int int int int[] byte[] byte[] java.awt.image.Raster float[] float int int
      StackMap stack: byte[] int
        37: iload 20 /* val */
            i2b
      StackMap locals: javax.swing.plaf.nimbus.DropShadowEffect java.awt.image.BufferedImage java.awt.image.BufferedImage int int double int int int int int int int[] byte[] byte[] java.awt.image.Raster float[] float int int
      StackMap stack: byte[] int int
        38: bastore
        end local 20 // int val
        39: .line 108
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 19 /* i */
            aload 14 /* tmpBuf1 */
            arraylength
            if_icmplt 35
        end local 19 // int i
        41: .line 113
            aload 2 /* dst */
            ifnonnull 43
            new java.awt.image.BufferedImage
            dup
            iload 3 /* w */
            iload 4 /* h */
        42: .line 114
            iconst_2
            invokespecial java.awt.image.BufferedImage.<init>:(III)V
            astore 2 /* dst */
        43: .line 115
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
            astore 19 /* shadowRaster */
        start local 19 // java.awt.image.WritableRaster shadowRaster
        44: .line 116
            aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.color:Ljava/awt/Color;
            invokevirtual java.awt.Color.getRed:()I
            istore 20 /* red */
        start local 20 // int red
        45: aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.color:Ljava/awt/Color;
            invokevirtual java.awt.Color.getGreen:()I
            istore 21 /* green */
        start local 21 // int green
        46: aload 0 /* this */
            getfield javax.swing.plaf.nimbus.DropShadowEffect.color:Ljava/awt/Color;
            invokevirtual java.awt.Color.getBlue:()I
            istore 22 /* blue */
        start local 22 // int blue
        47: .line 117
            iconst_0
            istore 23 /* y */
        start local 23 // int y
        48: goto 59
        49: .line 118
      StackMap locals: javax.swing.plaf.nimbus.DropShadowEffect java.awt.image.BufferedImage java.awt.image.BufferedImage int int double int int int int int int int[] byte[] byte[] java.awt.image.Raster float[] float java.awt.image.WritableRaster int int int int
      StackMap stack:
            iload 23 /* y */
            iload 10 /* tmpOffY */
            iadd
            istore 24 /* srcY */
        start local 24 // int srcY
        50: .line 119
            iload 24 /* srcY */
            iload 8 /* offsetY */
            isub
            iload 11 /* tmpW */
            imul
            istore 25 /* shadowOffset */
        start local 25 // int shadowOffset
        51: .line 120
            iconst_0
            istore 26 /* x */
        start local 26 // int x
        52: goto 56
        53: .line 121
      StackMap locals: int int int
      StackMap stack:
            iload 26 /* x */
            iload 9 /* tmpOffX */
            iadd
            istore 27 /* srcX */
        start local 27 // int srcX
        54: .line 122
            aload 13 /* lineBuf */
            iload 26 /* x */
            aload 14 /* tmpBuf1 */
            iload 25 /* shadowOffset */
            iload 27 /* srcX */
            iload 7 /* offsetX */
            isub
            iadd
            baload
            bipush 24
            ishl
            iload 20 /* red */
            bipush 16
            ishl
            ior
            iload 21 /* green */
            bipush 8
            ishl
            ior
            iload 22 /* blue */
            ior
            iastore
        end local 27 // int srcX
        55: .line 120
            iinc 26 /* x */ 1
      StackMap locals:
      StackMap stack:
        56: iload 26 /* x */
            iload 3 /* w */
            if_icmplt 53
        end local 26 // int x
        57: .line 124
            aload 19 /* shadowRaster */
            iconst_0
            iload 23 /* y */
            iload 3 /* w */
            iconst_1
            aload 13 /* lineBuf */
            invokevirtual java.awt.image.WritableRaster.setDataElements:(IIIILjava/lang/Object;)V
        end local 25 // int shadowOffset
        end local 24 // int srcY
        58: .line 117
            iinc 23 /* y */ 1
      StackMap locals:
      StackMap stack:
        59: iload 23 /* y */
            iload 4 /* h */
            if_icmplt 49
        end local 23 // int y
        60: .line 126
            aload 2 /* dst */
            areturn
        end local 22 // int blue
        end local 21 // int green
        end local 20 // int red
        end local 19 // java.awt.image.WritableRaster shadowRaster
        end local 18 // float spread
        end local 17 // float[] kernel
        end local 16 // java.awt.image.Raster srcRaster
        end local 15 // byte[] tmpBuf2
        end local 14 // byte[] tmpBuf1
        end local 13 // int[] lineBuf
        end local 12 // int tmpH
        end local 11 // int tmpW
        end local 10 // int tmpOffY
        end local 9 // int tmpOffX
        end local 8 // int offsetY
        end local 7 // int offsetX
        end local 5 // double trangleAngle
        end local 4 // int h
        end local 3 // int w
        end local 2 // java.awt.image.BufferedImage dst
        end local 1 // java.awt.image.BufferedImage src
        end local 0 // javax.swing.plaf.nimbus.DropShadowEffect this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   61     0          this  Ljavax/swing/plaf/nimbus/DropShadowEffect;
            0   61     1           src  Ljava/awt/image/BufferedImage;
            0   61     2           dst  Ljava/awt/image/BufferedImage;
            0   61     3             w  I
            0   61     4             h  I
            5   61     5  trangleAngle  D
            6   61     7       offsetX  I
            7   61     8       offsetY  I
            8   61     9       tmpOffX  I
            9   61    10       tmpOffY  I
           10   61    11          tmpW  I
           11   61    12          tmpH  I
           12   61    13       lineBuf  [I
           13   61    14       tmpBuf1  [B
           15   61    15       tmpBuf2  [B
           16   61    16     srcRaster  Ljava/awt/image/Raster;
           17   29    17             y  I
           19   27    18            dy  I
           20   27    19        offset  I
           22   27    20             x  I
           24   25    21            dx  I
           30   61    17        kernel  [F
           33   61    18        spread  F
           34   41    19             i  I
           36   39    20           val  I
           44   61    19  shadowRaster  Ljava/awt/image/WritableRaster;
           45   61    20           red  I
           46   61    21         green  I
           47   61    22          blue  I
           48   60    23             y  I
           50   58    24          srcY  I
           51   58    25  shadowOffset  I
           52   57    26             x  I
           54   55    27          srcX  I
    MethodParameters:
      Name  Flags
      src   
      dst   
      w     
      h     
}
SourceFile: "DropShadowEffect.java"
InnerClasses:
  protected ArrayCache = javax.swing.plaf.nimbus.Effect$ArrayCache of javax.swing.plaf.nimbus.Effect
  final EffectType = javax.swing.plaf.nimbus.Effect$EffectType of javax.swing.plaf.nimbus.Effect