public class com.googlecode.lanterna.gui2.WindowShadowRenderer implements com.googlecode.lanterna.gui2.WindowPostRenderer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.googlecode.lanterna.gui2.WindowShadowRenderer
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.googlecode.lanterna.gui2.WindowShadowRenderer this
0: .line 30
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.googlecode.lanterna.gui2.WindowShadowRenderer this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/gui2/WindowShadowRenderer;
public void postRender(com.googlecode.lanterna.graphics.ThemedTextGraphics, com.googlecode.lanterna.gui2.TextGUI, com.googlecode.lanterna.gui2.Window);
descriptor: (Lcom/googlecode/lanterna/graphics/ThemedTextGraphics;Lcom/googlecode/lanterna/gui2/TextGUI;Lcom/googlecode/lanterna/gui2/Window;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=17, args_size=4
start local 0 // com.googlecode.lanterna.gui2.WindowShadowRenderer this
start local 1 // com.googlecode.lanterna.graphics.ThemedTextGraphics textGraphics
start local 2 // com.googlecode.lanterna.gui2.TextGUI textGUI
start local 3 // com.googlecode.lanterna.gui2.Window window
0: .line 37
aload 3 /* window */
invokeinterface com.googlecode.lanterna.gui2.Window.getPosition:()Lcom/googlecode/lanterna/TerminalPosition;
astore 4 /* windowPosition */
start local 4 // com.googlecode.lanterna.TerminalPosition windowPosition
1: .line 38
aload 3 /* window */
invokeinterface com.googlecode.lanterna.gui2.Window.getDecoratedSize:()Lcom/googlecode/lanterna/TerminalSize;
astore 5 /* decoratedWindowSize */
start local 5 // com.googlecode.lanterna.TerminalSize decoratedWindowSize
2: .line 39
aload 3 /* window */
invokeinterface com.googlecode.lanterna.gui2.Window.getTheme:()Lcom/googlecode/lanterna/graphics/Theme;
ldc Lcom/googlecode/lanterna/gui2/WindowShadowRenderer;
invokeinterface com.googlecode.lanterna.graphics.Theme.getDefinition:(Ljava/lang/Class;)Lcom/googlecode/lanterna/graphics/ThemeDefinition;
astore 6 /* themeDefinition */
start local 6 // com.googlecode.lanterna.graphics.ThemeDefinition themeDefinition
3: .line 40
aload 1 /* textGraphics */
aload 6 /* themeDefinition */
invokeinterface com.googlecode.lanterna.graphics.ThemeDefinition.getNormal:()Lcom/googlecode/lanterna/graphics/ThemeStyle;
invokeinterface com.googlecode.lanterna.graphics.ThemedTextGraphics.applyThemeStyle:(Lcom/googlecode/lanterna/graphics/ThemeStyle;)Lcom/googlecode/lanterna/graphics/ThemedTextGraphics;
pop
4: .line 41
aload 6 /* themeDefinition */
ldc "FILLER"
bipush 32
invokeinterface com.googlecode.lanterna.graphics.ThemeDefinition.getCharacter:(Ljava/lang/String;C)C
istore 7 /* filler */
start local 7 // char filler
5: .line 42
aload 6 /* themeDefinition */
ldc "DOUBLE_WIDTH"
iconst_1
invokeinterface com.googlecode.lanterna.graphics.ThemeDefinition.getBooleanProperty:(Ljava/lang/String;Z)Z
istore 8 /* useDoubleWidth */
start local 8 // boolean useDoubleWidth
6: .line 43
aload 6 /* themeDefinition */
ldc "TRANSPARENT"
iconst_0
invokeinterface com.googlecode.lanterna.graphics.ThemeDefinition.getBooleanProperty:(Ljava/lang/String;Z)Z
istore 9 /* useTransparency */
start local 9 // boolean useTransparency
7: .line 45
aload 4 /* windowPosition */
iload 8 /* useDoubleWidth */
ifeq 8
iconst_2
goto 9
StackMap locals: com.googlecode.lanterna.gui2.WindowShadowRenderer com.googlecode.lanterna.graphics.ThemedTextGraphics com.googlecode.lanterna.gui2.TextGUI com.googlecode.lanterna.gui2.Window com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.graphics.ThemeDefinition int int int
StackMap stack: com.googlecode.lanterna.TerminalPosition
8: iconst_1
StackMap locals: com.googlecode.lanterna.gui2.WindowShadowRenderer com.googlecode.lanterna.graphics.ThemedTextGraphics com.googlecode.lanterna.gui2.TextGUI com.googlecode.lanterna.gui2.Window com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.graphics.ThemeDefinition int int int
StackMap stack: com.googlecode.lanterna.TerminalPosition int
9: invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
aload 5 /* decoratedWindowSize */
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 10 /* lowerLeft */
start local 10 // com.googlecode.lanterna.TerminalPosition lowerLeft
10: .line 46
aload 10 /* lowerLeft */
aload 5 /* decoratedWindowSize */
invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
iload 8 /* useDoubleWidth */
ifeq 11
iconst_3
goto 12
StackMap locals: com.googlecode.lanterna.gui2.WindowShadowRenderer com.googlecode.lanterna.graphics.ThemedTextGraphics com.googlecode.lanterna.gui2.TextGUI com.googlecode.lanterna.gui2.Window com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.graphics.ThemeDefinition int int int com.googlecode.lanterna.TerminalPosition
StackMap stack: com.googlecode.lanterna.TerminalPosition int
11: iconst_2
StackMap locals: com.googlecode.lanterna.gui2.WindowShadowRenderer com.googlecode.lanterna.graphics.ThemedTextGraphics com.googlecode.lanterna.gui2.TextGUI com.googlecode.lanterna.gui2.Window com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.graphics.ThemeDefinition int int int com.googlecode.lanterna.TerminalPosition
StackMap stack: com.googlecode.lanterna.TerminalPosition int int
12: isub
invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 11 /* lowerRight */
start local 11 // com.googlecode.lanterna.TerminalPosition lowerRight
13: .line 47
aload 10 /* lowerLeft */
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
istore 12 /* column */
start local 12 // int column
14: goto 24
15: .line 48
StackMap locals: com.googlecode.lanterna.TerminalPosition int
StackMap stack:
iload 7 /* filler */
istore 13 /* characterToDraw */
start local 13 // char characterToDraw
16: .line 49
iload 9 /* useTransparency */
ifeq 20
17: .line 50
aload 1 /* textGraphics */
iload 12 /* column */
aload 10 /* lowerLeft */
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
invokeinterface com.googlecode.lanterna.graphics.ThemedTextGraphics.getCharacter:(II)Lcom/googlecode/lanterna/TextCharacter;
astore 14 /* tc */
start local 14 // com.googlecode.lanterna.TextCharacter tc
18: .line 51
aload 14 /* tc */
ifnull 20
19: .line 52
aload 14 /* tc */
invokevirtual com.googlecode.lanterna.TextCharacter.getCharacterString:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 13 /* characterToDraw */
end local 14 // com.googlecode.lanterna.TextCharacter tc
20: .line 55
StackMap locals: int
StackMap stack:
aload 1 /* textGraphics */
iload 12 /* column */
aload 10 /* lowerLeft */
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
iload 13 /* characterToDraw */
invokeinterface com.googlecode.lanterna.graphics.ThemedTextGraphics.setCharacter:(IIC)Lcom/googlecode/lanterna/graphics/TextGraphics;
pop
21: .line 56
iload 13 /* characterToDraw */
invokestatic com.googlecode.lanterna.TerminalTextUtils.isCharDoubleWidth:(C)Z
ifeq 23
22: .line 57
iinc 12 /* column */ 1
end local 13 // char characterToDraw
23: .line 47
StackMap locals:
StackMap stack:
iinc 12 /* column */ 1
StackMap locals:
StackMap stack:
24: iload 12 /* column */
aload 11 /* lowerRight */
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iconst_1
iadd
if_icmple 15
end local 12 // int column
25: .line 61
aload 11 /* lowerRight */
iconst_1
invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 11 /* lowerRight */
26: .line 62
aload 11 /* lowerRight */
aload 5 /* decoratedWindowSize */
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
ineg
iconst_1
iadd
invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 12 /* upperRight */
start local 12 // com.googlecode.lanterna.TerminalPosition upperRight
27: .line 63
iconst_0
istore 13 /* hasDoubleWidthShadow */
start local 13 // boolean hasDoubleWidthShadow
28: .line 64
aload 12 /* upperRight */
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
istore 14 /* row */
start local 14 // int row
29: goto 39
30: .line 65
StackMap locals: com.googlecode.lanterna.gui2.WindowShadowRenderer com.googlecode.lanterna.graphics.ThemedTextGraphics com.googlecode.lanterna.gui2.TextGUI com.googlecode.lanterna.gui2.Window com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.graphics.ThemeDefinition int int int com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TerminalPosition int int
StackMap stack:
iload 7 /* filler */
istore 15 /* characterToDraw */
start local 15 // char characterToDraw
31: .line 66
iload 9 /* useTransparency */
ifeq 35
32: .line 67
aload 1 /* textGraphics */
aload 12 /* upperRight */
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iload 14 /* row */
invokeinterface com.googlecode.lanterna.graphics.ThemedTextGraphics.getCharacter:(II)Lcom/googlecode/lanterna/TextCharacter;
astore 16 /* tc */
start local 16 // com.googlecode.lanterna.TextCharacter tc
33: .line 68
aload 16 /* tc */
ifnull 35
34: .line 69
aload 16 /* tc */
invokevirtual com.googlecode.lanterna.TextCharacter.getCharacterString:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 15 /* characterToDraw */
end local 16 // com.googlecode.lanterna.TextCharacter tc
35: .line 72
StackMap locals: int
StackMap stack:
aload 1 /* textGraphics */
aload 12 /* upperRight */
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iload 14 /* row */
iload 15 /* characterToDraw */
invokeinterface com.googlecode.lanterna.graphics.ThemedTextGraphics.setCharacter:(IIC)Lcom/googlecode/lanterna/graphics/TextGraphics;
pop
36: .line 73
iload 15 /* characterToDraw */
invokestatic com.googlecode.lanterna.TerminalTextUtils.isCharDoubleWidth:(C)Z
ifeq 38
37: .line 74
iconst_1
istore 13 /* hasDoubleWidthShadow */
end local 15 // char characterToDraw
38: .line 64
StackMap locals:
StackMap stack:
iinc 14 /* row */ 1
StackMap locals:
StackMap stack:
39: iload 14 /* row */
aload 11 /* lowerRight */
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
if_icmplt 30
end local 14 // int row
40: .line 78
aload 1 /* textGraphics */
aload 6 /* themeDefinition */
invokeinterface com.googlecode.lanterna.graphics.ThemeDefinition.getNormal:()Lcom/googlecode/lanterna/graphics/ThemeStyle;
invokeinterface com.googlecode.lanterna.graphics.ThemedTextGraphics.applyThemeStyle:(Lcom/googlecode/lanterna/graphics/ThemeStyle;)Lcom/googlecode/lanterna/graphics/ThemedTextGraphics;
pop
41: .line 79
iload 8 /* useDoubleWidth */
ifne 42
iload 13 /* hasDoubleWidthShadow */
ifeq 55
42: .line 81
StackMap locals:
StackMap stack:
aload 12 /* upperRight */
iconst_1
invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 12 /* upperRight */
43: .line 82
aload 12 /* upperRight */
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
istore 14 /* row */
start local 14 // int row
44: goto 54
45: .line 83
StackMap locals: int
StackMap stack:
iload 7 /* filler */
istore 15 /* characterToDraw */
start local 15 // char characterToDraw
46: .line 84
iload 9 /* useTransparency */
ifeq 50
47: .line 85
aload 1 /* textGraphics */
aload 12 /* upperRight */
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iload 14 /* row */
invokeinterface com.googlecode.lanterna.graphics.ThemedTextGraphics.getCharacter:(II)Lcom/googlecode/lanterna/TextCharacter;
astore 16 /* tc */
start local 16 // com.googlecode.lanterna.TextCharacter tc
48: .line 86
aload 16 /* tc */
ifnull 50
aload 16 /* tc */
invokevirtual com.googlecode.lanterna.TextCharacter.isDoubleWidth:()Z
ifne 50
49: .line 87
aload 16 /* tc */
invokevirtual com.googlecode.lanterna.TextCharacter.getCharacterString:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 15 /* characterToDraw */
end local 16 // com.googlecode.lanterna.TextCharacter tc
50: .line 90
StackMap locals: int
StackMap stack:
aload 1 /* textGraphics */
aload 12 /* upperRight */
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iconst_1
isub
iload 14 /* row */
invokeinterface com.googlecode.lanterna.graphics.ThemedTextGraphics.getCharacter:(II)Lcom/googlecode/lanterna/TextCharacter;
astore 16 /* neighbour */
start local 16 // com.googlecode.lanterna.TextCharacter neighbour
51: .line 92
aload 16 /* neighbour */
ifnull 53
aload 16 /* neighbour */
invokevirtual com.googlecode.lanterna.TextCharacter.isDoubleWidth:()Z
ifne 53
52: .line 93
aload 1 /* textGraphics */
aload 12 /* upperRight */
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iload 14 /* row */
iload 15 /* characterToDraw */
invokeinterface com.googlecode.lanterna.graphics.ThemedTextGraphics.setCharacter:(IIC)Lcom/googlecode/lanterna/graphics/TextGraphics;
pop
end local 16 // com.googlecode.lanterna.TextCharacter neighbour
end local 15 // char characterToDraw
53: .line 82
StackMap locals:
StackMap stack:
iinc 14 /* row */ 1
StackMap locals:
StackMap stack:
54: iload 14 /* row */
aload 11 /* lowerRight */
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
if_icmple 45
end local 14 // int row
55: .line 97
StackMap locals:
StackMap stack:
return
end local 13 // boolean hasDoubleWidthShadow
end local 12 // com.googlecode.lanterna.TerminalPosition upperRight
end local 11 // com.googlecode.lanterna.TerminalPosition lowerRight
end local 10 // com.googlecode.lanterna.TerminalPosition lowerLeft
end local 9 // boolean useTransparency
end local 8 // boolean useDoubleWidth
end local 7 // char filler
end local 6 // com.googlecode.lanterna.graphics.ThemeDefinition themeDefinition
end local 5 // com.googlecode.lanterna.TerminalSize decoratedWindowSize
end local 4 // com.googlecode.lanterna.TerminalPosition windowPosition
end local 3 // com.googlecode.lanterna.gui2.Window window
end local 2 // com.googlecode.lanterna.gui2.TextGUI textGUI
end local 1 // com.googlecode.lanterna.graphics.ThemedTextGraphics textGraphics
end local 0 // com.googlecode.lanterna.gui2.WindowShadowRenderer this
LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lcom/googlecode/lanterna/gui2/WindowShadowRenderer;
0 56 1 textGraphics Lcom/googlecode/lanterna/graphics/ThemedTextGraphics;
0 56 2 textGUI Lcom/googlecode/lanterna/gui2/TextGUI;
0 56 3 window Lcom/googlecode/lanterna/gui2/Window;
1 56 4 windowPosition Lcom/googlecode/lanterna/TerminalPosition;
2 56 5 decoratedWindowSize Lcom/googlecode/lanterna/TerminalSize;
3 56 6 themeDefinition Lcom/googlecode/lanterna/graphics/ThemeDefinition;
5 56 7 filler C
6 56 8 useDoubleWidth Z
7 56 9 useTransparency Z
10 56 10 lowerLeft Lcom/googlecode/lanterna/TerminalPosition;
13 56 11 lowerRight Lcom/googlecode/lanterna/TerminalPosition;
14 25 12 column I
16 23 13 characterToDraw C
18 20 14 tc Lcom/googlecode/lanterna/TextCharacter;
27 56 12 upperRight Lcom/googlecode/lanterna/TerminalPosition;
28 56 13 hasDoubleWidthShadow Z
29 40 14 row I
31 38 15 characterToDraw C
33 35 16 tc Lcom/googlecode/lanterna/TextCharacter;
44 55 14 row I
46 53 15 characterToDraw C
48 50 16 tc Lcom/googlecode/lanterna/TextCharacter;
51 53 16 neighbour Lcom/googlecode/lanterna/TextCharacter;
MethodParameters:
Name Flags
textGraphics
textGUI
window
}
SourceFile: "WindowShadowRenderer.java"