public class org.apache.batik.svggen.SVGLookupOp extends org.apache.batik.svggen.AbstractSVGFilterConverter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.batik.svggen.SVGLookupOp
super_class: org.apache.batik.svggen.AbstractSVGFilterConverter
{
private static final double GAMMA;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.4166666666666667
private static final int[] linearToSRGBLut;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] sRGBToLinear;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=0
0: sipush 256
newarray 10
putstatic org.apache.batik.svggen.SVGLookupOp.linearToSRGBLut:[I
1: sipush 256
newarray 10
putstatic org.apache.batik.svggen.SVGLookupOp.sRGBToLinear:[I
2: iconst_0
istore 0
start local 0 3: goto 17
4: StackMap locals: int
StackMap stack:
iload 0
i2f
ldc 255.0
fdiv
fstore 1
start local 1 5: fload 1
f2d
ldc 0.0031308
dcmpg
ifgt 8
6: fload 1
ldc 12.92
fmul
fstore 1
7: goto 9
8: StackMap locals: float
StackMap stack:
ldc 1.055
fload 1
f2d
ldc 0.4166666666666667
invokestatic java.lang.Math.pow:(DD)D
d2f
fmul
ldc 0.055
fsub
fstore 1
9: StackMap locals:
StackMap stack:
getstatic org.apache.batik.svggen.SVGLookupOp.linearToSRGBLut:[I
iload 0
fload 1
ldc 255.0
fmul
invokestatic java.lang.Math.round:(F)I
iastore
10: iload 0
i2f
ldc 255.0
fdiv
fstore 1
11: fload 1
f2d
ldc 0.04045
dcmpg
ifgt 14
12: fload 1
ldc 12.92
fdiv
fstore 1
13: goto 15
14: StackMap locals:
StackMap stack:
fload 1
ldc 0.055
fadd
ldc 1.055
fdiv
f2d
ldc 2.4
invokestatic java.lang.Math.pow:(DD)D
d2f
fstore 1
15: StackMap locals:
StackMap stack:
getstatic org.apache.batik.svggen.SVGLookupOp.sRGBToLinear:[I
iload 0
fload 1
ldc 255.0
fmul
invokestatic java.lang.Math.round:(F)I
iastore
end local 1 16: iinc 0 1
StackMap locals:
StackMap stack:
17: iload 0
sipush 256
if_icmplt 4
end local 0 18: return
LocalVariableTable:
Start End Slot Name Signature
3 18 0 i I
5 16 1 value F
public void <init>(org.apache.batik.svggen.SVGGeneratorContext);
descriptor: (Lorg/apache/batik/svggen/SVGGeneratorContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.apache.batik.svggen.AbstractSVGFilterConverter.<init>:(Lorg/apache/batik/svggen/SVGGeneratorContext;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/batik/svggen/SVGLookupOp;
0 2 1 generatorContext Lorg/apache/batik/svggen/SVGGeneratorContext;
MethodParameters:
Name Flags
generatorContext
public org.apache.batik.svggen.SVGFilterDescriptor toSVG(java.awt.image.BufferedImageOp, java.awt.Rectangle);
descriptor: (Ljava/awt/image/BufferedImageOp;Ljava/awt/Rectangle;)Lorg/apache/batik/svggen/SVGFilterDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof java.awt.image.LookupOp
ifeq 2
1: aload 0
aload 1
checkcast java.awt.image.LookupOp
invokevirtual org.apache.batik.svggen.SVGLookupOp.toSVG:(Ljava/awt/image/LookupOp;)Lorg/apache/batik/svggen/SVGFilterDescriptor;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/batik/svggen/SVGLookupOp;
0 3 1 filter Ljava/awt/image/BufferedImageOp;
0 3 2 filterRect Ljava/awt/Rectangle;
MethodParameters:
Name Flags
filter
filterRect
public org.apache.batik.svggen.SVGFilterDescriptor toSVG(java.awt.image.LookupOp);
descriptor: (Ljava/awt/image/LookupOp;)Lorg/apache/batik/svggen/SVGFilterDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.batik.svggen.SVGLookupOp.descMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.batik.svggen.SVGFilterDescriptor
1: astore 2
start local 2 2: aload 0
getfield org.apache.batik.svggen.SVGLookupOp.generatorContext:Lorg/apache/batik/svggen/SVGGeneratorContext;
getfield org.apache.batik.svggen.SVGGeneratorContext.domFactory:Lorg/w3c/dom/Document;
astore 3
start local 3 3: aload 2
ifnonnull 73
4: aload 3
ldc "http://www.w3.org/2000/svg"
5: ldc "filter"
6: invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
astore 4
start local 4 7: aload 3
ldc "http://www.w3.org/2000/svg"
8: ldc "feComponentTransfer"
9: invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
10: astore 5
start local 5 11: aload 0
aload 1
invokevirtual org.apache.batik.svggen.SVGLookupOp.convertLookupTables:(Ljava/awt/image/LookupOp;)[Ljava/lang/String;
astore 6
start local 6 12: aload 3
ldc "http://www.w3.org/2000/svg"
13: ldc "feFuncR"
14: invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
astore 7
start local 7 15: aload 3
ldc "http://www.w3.org/2000/svg"
16: ldc "feFuncG"
17: invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
astore 8
start local 8 18: aload 3
ldc "http://www.w3.org/2000/svg"
19: ldc "feFuncB"
20: invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
astore 9
start local 9 21: aconst_null
astore 10
start local 10 22: ldc "table"
astore 11
start local 11 23: aload 6
arraylength
iconst_1
if_icmpne 37
24: aload 7
aconst_null
ldc "type"
aload 11
invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
25: aload 8
aconst_null
ldc "type"
aload 11
invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
26: aload 9
aconst_null
ldc "type"
aload 11
invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
27: aload 7
aconst_null
ldc "tableValues"
28: aload 6
iconst_0
aaload
29: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
30: aload 8
aconst_null
ldc "tableValues"
31: aload 6
iconst_0
aaload
32: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
33: aload 9
aconst_null
ldc "tableValues"
34: aload 6
iconst_0
aaload
35: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
36: goto 58
37: StackMap locals: org.apache.batik.svggen.SVGLookupOp java.awt.image.LookupOp org.apache.batik.svggen.SVGFilterDescriptor org.w3c.dom.Document org.w3c.dom.Element org.w3c.dom.Element java.lang.String[] org.w3c.dom.Element org.w3c.dom.Element org.w3c.dom.Element org.w3c.dom.Element java.lang.String
StackMap stack:
aload 6
arraylength
iconst_3
if_icmplt 58
38: aload 7
aconst_null
ldc "type"
aload 11
invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
39: aload 8
aconst_null
ldc "type"
aload 11
invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
40: aload 9
aconst_null
ldc "type"
aload 11
invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
41: aload 7
aconst_null
ldc "tableValues"
42: aload 6
iconst_0
aaload
43: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
44: aload 8
aconst_null
ldc "tableValues"
45: aload 6
iconst_1
aaload
46: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
47: aload 9
aconst_null
ldc "tableValues"
48: aload 6
iconst_2
aaload
49: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
50: aload 6
arraylength
iconst_4
if_icmpne 58
51: aload 3
ldc "http://www.w3.org/2000/svg"
52: ldc "feFuncA"
53: invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
astore 10
54: aload 10
aconst_null
ldc "type"
aload 11
invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
55: aload 10
aconst_null
ldc "tableValues"
56: aload 6
iconst_3
aaload
57: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
58: StackMap locals:
StackMap stack:
aload 5
aload 7
invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
pop
59: aload 5
aload 8
invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
pop
60: aload 5
aload 9
invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
pop
61: aload 10
ifnull 63
62: aload 5
aload 10
invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
pop
63: StackMap locals:
StackMap stack:
aload 4
aload 5
invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
pop
64: aload 4
65: aconst_null
ldc "id"
66: aload 0
getfield org.apache.batik.svggen.SVGLookupOp.generatorContext:Lorg/apache/batik/svggen/SVGGeneratorContext;
getfield org.apache.batik.svggen.SVGGeneratorContext.idGenerator:Lorg/apache/batik/svggen/SVGIDGenerator;
67: ldc "componentTransfer"
invokevirtual org.apache.batik.svggen.SVGIDGenerator.generateID:(Ljava/lang/String;)Ljava/lang/String;
68: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
69: new java.lang.StringBuilder
dup
ldc "url(#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
aconst_null
ldc "id"
invokeinterface org.w3c.dom.Element.getAttributeNS:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 12
start local 12 70: new org.apache.batik.svggen.SVGFilterDescriptor
dup
aload 12
aload 4
invokespecial org.apache.batik.svggen.SVGFilterDescriptor.<init>:(Ljava/lang/String;Lorg/w3c/dom/Element;)V
astore 2
71: aload 0
getfield org.apache.batik.svggen.SVGLookupOp.defSet:Ljava/util/List;
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
72: aload 0
getfield org.apache.batik.svggen.SVGLookupOp.descMap:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 73: StackMap locals: org.apache.batik.svggen.SVGLookupOp java.awt.image.LookupOp org.apache.batik.svggen.SVGFilterDescriptor org.w3c.dom.Document
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 74 0 this Lorg/apache/batik/svggen/SVGLookupOp;
0 74 1 lookupOp Ljava/awt/image/LookupOp;
2 74 2 filterDesc Lorg/apache/batik/svggen/SVGFilterDescriptor;
3 74 3 domFactory Lorg/w3c/dom/Document;
7 73 4 filterDef Lorg/w3c/dom/Element;
11 73 5 feComponentTransferDef Lorg/w3c/dom/Element;
12 73 6 lookupTables [Ljava/lang/String;
15 73 7 feFuncR Lorg/w3c/dom/Element;
18 73 8 feFuncG Lorg/w3c/dom/Element;
21 73 9 feFuncB Lorg/w3c/dom/Element;
22 73 10 feFuncA Lorg/w3c/dom/Element;
23 73 11 type Ljava/lang/String;
70 73 12 filterAttrBuf Ljava/lang/String;
MethodParameters:
Name Flags
lookupOp
private java.lang.String[] convertLookupTables(java.awt.image.LookupOp);
descriptor: (Ljava/awt/image/LookupOp;)[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.awt.image.LookupOp.getTable:()Ljava/awt/image/LookupTable;
astore 2
start local 2 1: aload 2
invokevirtual java.awt.image.LookupTable.getNumComponents:()I
istore 3
start local 3 2: iload 3
iconst_1
if_icmpeq 4
iload 3
iconst_3
if_icmpeq 4
iload 3
iconst_4
if_icmpeq 4
3: new org.apache.batik.svggen.SVGGraphics2DRuntimeException
dup
ldc "BufferedImage LookupOp should have 1, 3 or 4 lookup arrays"
invokespecial org.apache.batik.svggen.SVGGraphics2DRuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.awt.image.LookupTable int
StackMap stack:
iload 3
anewarray java.lang.StringBuffer
astore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 9
7: StackMap locals: java.lang.StringBuffer[] int
StackMap stack:
aload 4
iload 5
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
aastore
8: iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 3
if_icmplt 7
end local 5 10: aload 2
instanceof java.awt.image.ByteLookupTable
ifne 35
11: iload 3
newarray 10
astore 5
start local 5 12: iload 3
newarray 10
astore 6
start local 6 13: aload 2
invokevirtual java.awt.image.LookupTable.getOffset:()I
istore 7
start local 7 14: iconst_0
istore 8
start local 8 15: goto 22
16: StackMap locals: org.apache.batik.svggen.SVGLookupOp java.awt.image.LookupOp java.awt.image.LookupTable int java.lang.StringBuffer[] int[] int[] int int
StackMap stack:
iconst_0
istore 9
start local 9 17: goto 20
18: StackMap locals: int
StackMap stack:
aload 4
iload 9
aaload
aload 0
iload 8
i2d
ldc 255.0
ddiv
invokevirtual org.apache.batik.svggen.SVGLookupOp.doubleString:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
19: iinc 9 1
StackMap locals:
StackMap stack:
20: iload 9
iload 3
if_icmplt 18
end local 9 21: iinc 8 1
StackMap locals:
StackMap stack:
22: iload 8
iload 7
if_icmplt 16
end local 8 23: iload 7
istore 8
start local 8 24: goto 33
25: StackMap locals:
StackMap stack:
aload 5
iload 8
invokestatic java.util.Arrays.fill:([II)V
26: aload 2
aload 5
aload 6
invokevirtual java.awt.image.LookupTable.lookupPixel:([I[I)[I
pop
27: iconst_0
istore 9
start local 9 28: goto 31
29: StackMap locals: int
StackMap stack:
aload 4
iload 9
aaload
aload 0
aload 6
iload 9
iaload
i2d
ldc 255.0
ddiv
invokevirtual org.apache.batik.svggen.SVGLookupOp.doubleString:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
30: iinc 9 1
StackMap locals:
StackMap stack:
31: iload 9
iload 3
if_icmplt 29
end local 9 32: iinc 8 1
StackMap locals:
StackMap stack:
33: iload 8
sipush 255
if_icmple 25
end local 8 end local 7 end local 6 end local 5 34: goto 58
35: StackMap locals: org.apache.batik.svggen.SVGLookupOp java.awt.image.LookupOp java.awt.image.LookupTable int java.lang.StringBuffer[]
StackMap stack:
iload 3
newarray 8
astore 5
start local 5 36: iload 3
newarray 8
astore 6
start local 6 37: aload 2
invokevirtual java.awt.image.LookupTable.getOffset:()I
istore 7
start local 7 38: iconst_0
istore 8
start local 8 39: goto 46
40: StackMap locals: org.apache.batik.svggen.SVGLookupOp java.awt.image.LookupOp java.awt.image.LookupTable int java.lang.StringBuffer[] byte[] byte[] int int
StackMap stack:
iconst_0
istore 9
start local 9 41: goto 44
42: StackMap locals: int
StackMap stack:
aload 4
iload 9
aaload
aload 0
iload 8
i2d
ldc 255.0
ddiv
invokevirtual org.apache.batik.svggen.SVGLookupOp.doubleString:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
43: iinc 9 1
StackMap locals:
StackMap stack:
44: iload 9
iload 3
if_icmplt 42
end local 9 45: iinc 8 1
StackMap locals:
StackMap stack:
46: iload 8
iload 7
if_icmplt 40
end local 8 47: iconst_0
istore 8
start local 8 48: goto 57
49: StackMap locals:
StackMap stack:
aload 5
sipush 255
iload 8
iand
i2b
invokestatic java.util.Arrays.fill:([BB)V
50: aload 2
checkcast java.awt.image.ByteLookupTable
aload 5
aload 6
invokevirtual java.awt.image.ByteLookupTable.lookupPixel:([B[B)[B
pop
51: iconst_0
istore 9
start local 9 52: goto 55
53: StackMap locals: int
StackMap stack:
aload 4
iload 9
aaload
aload 0
sipush 255
aload 6
iload 9
baload
iand
i2d
ldc 255.0
ddiv
invokevirtual org.apache.batik.svggen.SVGLookupOp.doubleString:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
54: iinc 9 1
StackMap locals:
StackMap stack:
55: iload 9
iload 3
if_icmplt 53
end local 9 56: iinc 8 1
StackMap locals:
StackMap stack:
57: iload 8
sipush 255
if_icmple 49
end local 8 end local 7 end local 6 end local 5 58: StackMap locals: org.apache.batik.svggen.SVGLookupOp java.awt.image.LookupOp java.awt.image.LookupTable int java.lang.StringBuffer[]
StackMap stack:
iload 3
anewarray java.lang.String
astore 5
start local 5 59: iconst_0
istore 6
start local 6 60: goto 63
61: StackMap locals: java.lang.String[] int
StackMap stack:
aload 5
iload 6
aload 4
iload 6
aaload
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
aastore
62: iinc 6 1
StackMap locals:
StackMap stack:
63: iload 6
iload 3
if_icmplt 61
end local 6 64: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 65 0 this Lorg/apache/batik/svggen/SVGLookupOp;
0 65 1 lookupOp Ljava/awt/image/LookupOp;
1 65 2 lookupTable Ljava/awt/image/LookupTable;
2 65 3 nComponents I
5 65 4 lookupTableBuf [Ljava/lang/StringBuffer;
6 10 5 i I
12 34 5 src [I
13 34 6 dest [I
14 34 7 offset I
15 23 8 i I
17 21 9 j I
24 34 8 i I
28 32 9 j I
36 58 5 src [B
37 58 6 dest [B
38 58 7 offset I
39 47 8 i I
41 45 9 j I
48 58 8 i I
52 56 9 j I
59 65 5 lookupTables [Ljava/lang/String;
60 64 6 i I
MethodParameters:
Name Flags
lookupOp
}
SourceFile: "SVGLookupOp.java"