public class com.sun.scenario.effect.impl.prism.PrReflectionPeer extends com.sun.scenario.effect.impl.EffectPeer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.scenario.effect.impl.prism.PrReflectionPeer
  super_class: com.sun.scenario.effect.impl.EffectPeer
{
  public void <init>(com.sun.scenario.effect.FilterContext, com.sun.scenario.effect.impl.Renderer, java.lang.String);
    descriptor: (Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/impl/Renderer;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.scenario.effect.impl.prism.PrReflectionPeer this
        start local 1 // com.sun.scenario.effect.FilterContext fctx
        start local 2 // com.sun.scenario.effect.impl.Renderer r
        start local 3 // java.lang.String uniqueName
         0: .line 43
            aload 0 /* this */
            aload 1 /* fctx */
            aload 2 /* r */
            aload 3 /* uniqueName */
            invokespecial com.sun.scenario.effect.impl.EffectPeer.<init>:(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/impl/Renderer;Ljava/lang/String;)V
         1: .line 44
            return
        end local 3 // java.lang.String uniqueName
        end local 2 // com.sun.scenario.effect.impl.Renderer r
        end local 1 // com.sun.scenario.effect.FilterContext fctx
        end local 0 // com.sun.scenario.effect.impl.prism.PrReflectionPeer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/sun/scenario/effect/impl/prism/PrReflectionPeer;
            0    2     1        fctx  Lcom/sun/scenario/effect/FilterContext;
            0    2     2           r  Lcom/sun/scenario/effect/impl/Renderer;
            0    2     3  uniqueName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      fctx        
      r           
      uniqueName  

  public com.sun.scenario.effect.ImageData filter(com.sun.scenario.effect.Effect, com.sun.scenario.effect.impl.state.RenderState, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.Rectangle, com.sun.scenario.effect.ImageData[]);
    descriptor: (Lcom/sun/scenario/effect/Effect;Lcom/sun/scenario/effect/impl/state/RenderState;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;[Lcom/sun/scenario/effect/ImageData;)Lcom/sun/scenario/effect/ImageData;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=12, locals=26, args_size=6
        start local 0 // com.sun.scenario.effect.impl.prism.PrReflectionPeer this
        start local 1 // com.sun.scenario.effect.Effect effect
        start local 2 // com.sun.scenario.effect.impl.state.RenderState rstate
        start local 3 // com.sun.javafx.geom.transform.BaseTransform transform
        start local 4 // com.sun.javafx.geom.Rectangle outputClip
        start local 5 // com.sun.scenario.effect.ImageData[] inputs
         0: .line 53
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.impl.prism.PrReflectionPeer.getFilterContext:()Lcom/sun/scenario/effect/FilterContext;
            astore 6 /* fctx */
        start local 6 // com.sun.scenario.effect.FilterContext fctx
         1: .line 54
            aload 1 /* effect */
            checkcast com.sun.scenario.effect.Reflection
            astore 7 /* reflect */
        start local 7 // com.sun.scenario.effect.Reflection reflect
         2: .line 56
            aload 5 /* inputs */
            iconst_0
            aaload
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedBounds:()Lcom/sun/javafx/geom/Rectangle;
            astore 8 /* inputbounds */
        start local 8 // com.sun.javafx.geom.Rectangle inputbounds
         3: .line 57
            aload 8 /* inputbounds */
            getfield com.sun.javafx.geom.Rectangle.width:I
            istore 9 /* srcW */
        start local 9 // int srcW
         4: .line 58
            aload 8 /* inputbounds */
            getfield com.sun.javafx.geom.Rectangle.height:I
            istore 10 /* srcH */
        start local 10 // int srcH
         5: .line 59
            iload 10 /* srcH */
            i2f
            aload 7 /* reflect */
            invokevirtual com.sun.scenario.effect.Reflection.getTopOffset:()F
            fadd
            fstore 11 /* refY */
        start local 11 // float refY
         6: .line 60
            aload 7 /* reflect */
            invokevirtual com.sun.scenario.effect.Reflection.getFraction:()F
            iload 10 /* srcH */
            i2f
            fmul
            fstore 12 /* refH */
        start local 12 // float refH
         7: .line 61
            fload 11 /* refY */
            f2d
            invokestatic java.lang.Math.floor:(D)D
            d2i
            istore 13 /* irefY1 */
        start local 13 // int irefY1
         8: .line 62
            fload 11 /* refY */
            fload 12 /* refH */
            fadd
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            istore 14 /* irefY2 */
        start local 14 // int irefY2
         9: .line 63
            iload 14 /* irefY2 */
            iload 13 /* irefY1 */
            isub
            istore 15 /* irefH */
        start local 15 // int irefH
        10: .line 65
            iload 14 /* irefY2 */
            iload 10 /* srcH */
            if_icmple 11
            iload 14 /* irefY2 */
            goto 12
      StackMap locals: com.sun.scenario.effect.impl.prism.PrReflectionPeer com.sun.scenario.effect.Effect com.sun.scenario.effect.impl.state.RenderState com.sun.javafx.geom.transform.BaseTransform com.sun.javafx.geom.Rectangle com.sun.scenario.effect.ImageData[] com.sun.scenario.effect.FilterContext com.sun.scenario.effect.Reflection com.sun.javafx.geom.Rectangle int int float float int int int
      StackMap stack:
        11: iload 10 /* srcH */
      StackMap locals:
      StackMap stack: int
        12: istore 16 /* dstH */
        start local 16 // int dstH
        13: .line 67
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.impl.prism.PrReflectionPeer.getRenderer:()Lcom/sun/scenario/effect/impl/Renderer;
            iload 9 /* srcW */
            iload 16 /* dstH */
            invokevirtual com.sun.scenario.effect.impl.Renderer.getCompatibleImage:(II)Lcom/sun/scenario/effect/impl/PoolFilterable;
            checkcast com.sun.scenario.effect.impl.prism.PrDrawable
            astore 17 /* dst */
        start local 17 // com.sun.scenario.effect.impl.prism.PrDrawable dst
        14: .line 68
            aload 5 /* inputs */
            iconst_0
            aaload
            aload 6 /* fctx */
            invokevirtual com.sun.scenario.effect.ImageData.validate:(Lcom/sun/scenario/effect/FilterContext;)Z
            ifeq 15
            aload 17 /* dst */
            ifnonnull 16
        15: .line 69
      StackMap locals: int com.sun.scenario.effect.impl.prism.PrDrawable
      StackMap stack:
            new com.sun.scenario.effect.ImageData
            dup
            aload 6 /* fctx */
            aconst_null
            aload 8 /* inputbounds */
            invokespecial com.sun.scenario.effect.ImageData.<init>:(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/Filterable;Lcom/sun/javafx/geom/Rectangle;)V
            areturn
        16: .line 71
      StackMap locals:
      StackMap stack:
            aload 5 /* inputs */
            iconst_0
            aaload
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
            checkcast com.sun.scenario.effect.impl.prism.PrDrawable
            astore 18 /* src */
        start local 18 // com.sun.scenario.effect.impl.prism.PrDrawable src
        17: .line 72
            aload 18 /* src */
            invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.getTextureObject:()Lcom/sun/prism/Texture;
            astore 19 /* srctex */
        start local 19 // com.sun.prism.Texture srctex
        18: .line 74
            aload 17 /* dst */
            invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.createGraphics:()Lcom/sun/prism/Graphics;
            astore 20 /* gdst */
        start local 20 // com.sun.prism.Graphics gdst
        19: .line 75
            aload 20 /* gdst */
            aload 5 /* inputs */
            iconst_0
            aaload
            invokevirtual com.sun.scenario.effect.ImageData.getTransform:()Lcom/sun/javafx/geom/transform/BaseTransform;
            invokeinterface com.sun.prism.Graphics.transform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
        20: .line 76
            fconst_0
            fstore 21 /* sx1 */
        start local 21 // float sx1
        21: .line 77
            iload 10 /* srcH */
            iload 15 /* irefH */
            isub
            i2f
            fstore 22 /* sy1 */
        start local 22 // float sy1
        22: .line 78
            iload 9 /* srcW */
            i2f
            fstore 23 /* sx2 */
        start local 23 // float sx2
        23: .line 79
            iload 10 /* srcH */
            i2f
            fstore 24 /* sy2 */
        start local 24 // float sy2
        24: .line 80
            aload 20 /* gdst */
            aload 19 /* srctex */
        25: .line 81
            aload 7 /* reflect */
            invokevirtual com.sun.scenario.effect.Reflection.getBottomOpacity:()F
        26: .line 82
            aload 7 /* reflect */
            invokevirtual com.sun.scenario.effect.Reflection.getTopOpacity:()F
        27: .line 83
            fconst_0
            iload 14 /* irefY2 */
            i2f
            iload 9 /* srcW */
            i2f
            iload 13 /* irefY1 */
            i2f
        28: .line 84
            fload 21 /* sx1 */
            fload 22 /* sy1 */
            fload 23 /* sx2 */
            fload 24 /* sy2 */
        29: .line 80
            invokeinterface com.sun.prism.Graphics.drawTextureVO:(Lcom/sun/prism/Texture;FFFFFFFFFF)V
        30: .line 85
            aload 20 /* gdst */
            aload 19 /* srctex */
            fconst_0
            fconst_0
            iload 9 /* srcW */
            i2f
            iload 10 /* srcH */
            i2f
            invokeinterface com.sun.prism.Graphics.drawTexture:(Lcom/sun/prism/Texture;FFFF)V
        31: .line 88
            new com.sun.javafx.geom.Rectangle
            dup
            aload 8 /* inputbounds */
            getfield com.sun.javafx.geom.Rectangle.x:I
            aload 8 /* inputbounds */
            getfield com.sun.javafx.geom.Rectangle.y:I
            iload 9 /* srcW */
            iload 16 /* dstH */
            invokespecial com.sun.javafx.geom.Rectangle.<init>:(IIII)V
        32: .line 87
            astore 25 /* newbounds */
        start local 25 // com.sun.javafx.geom.Rectangle newbounds
        33: .line 89
            new com.sun.scenario.effect.ImageData
            dup
            aload 6 /* fctx */
            aload 17 /* dst */
            aload 25 /* newbounds */
            invokespecial com.sun.scenario.effect.ImageData.<init>:(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/Filterable;Lcom/sun/javafx/geom/Rectangle;)V
            areturn
        end local 25 // com.sun.javafx.geom.Rectangle newbounds
        end local 24 // float sy2
        end local 23 // float sx2
        end local 22 // float sy1
        end local 21 // float sx1
        end local 20 // com.sun.prism.Graphics gdst
        end local 19 // com.sun.prism.Texture srctex
        end local 18 // com.sun.scenario.effect.impl.prism.PrDrawable src
        end local 17 // com.sun.scenario.effect.impl.prism.PrDrawable dst
        end local 16 // int dstH
        end local 15 // int irefH
        end local 14 // int irefY2
        end local 13 // int irefY1
        end local 12 // float refH
        end local 11 // float refY
        end local 10 // int srcH
        end local 9 // int srcW
        end local 8 // com.sun.javafx.geom.Rectangle inputbounds
        end local 7 // com.sun.scenario.effect.Reflection reflect
        end local 6 // com.sun.scenario.effect.FilterContext fctx
        end local 5 // com.sun.scenario.effect.ImageData[] inputs
        end local 4 // com.sun.javafx.geom.Rectangle outputClip
        end local 3 // com.sun.javafx.geom.transform.BaseTransform transform
        end local 2 // com.sun.scenario.effect.impl.state.RenderState rstate
        end local 1 // com.sun.scenario.effect.Effect effect
        end local 0 // com.sun.scenario.effect.impl.prism.PrReflectionPeer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0         this  Lcom/sun/scenario/effect/impl/prism/PrReflectionPeer;
            0   34     1       effect  Lcom/sun/scenario/effect/Effect;
            0   34     2       rstate  Lcom/sun/scenario/effect/impl/state/RenderState;
            0   34     3    transform  Lcom/sun/javafx/geom/transform/BaseTransform;
            0   34     4   outputClip  Lcom/sun/javafx/geom/Rectangle;
            0   34     5       inputs  [Lcom/sun/scenario/effect/ImageData;
            1   34     6         fctx  Lcom/sun/scenario/effect/FilterContext;
            2   34     7      reflect  Lcom/sun/scenario/effect/Reflection;
            3   34     8  inputbounds  Lcom/sun/javafx/geom/Rectangle;
            4   34     9         srcW  I
            5   34    10         srcH  I
            6   34    11         refY  F
            7   34    12         refH  F
            8   34    13       irefY1  I
            9   34    14       irefY2  I
           10   34    15        irefH  I
           13   34    16         dstH  I
           14   34    17          dst  Lcom/sun/scenario/effect/impl/prism/PrDrawable;
           17   34    18          src  Lcom/sun/scenario/effect/impl/prism/PrDrawable;
           18   34    19       srctex  Lcom/sun/prism/Texture;
           19   34    20         gdst  Lcom/sun/prism/Graphics;
           21   34    21          sx1  F
           22   34    22          sy1  F
           23   34    23          sx2  F
           24   34    24          sy2  F
           33   34    25    newbounds  Lcom/sun/javafx/geom/Rectangle;
    MethodParameters:
            Name  Flags
      effect      
      rstate      
      transform   
      outputClip  
      inputs      
}
SourceFile: "PrReflectionPeer.java"