abstract class com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation implements com.googlecode.lanterna.terminal.IOSafeTerminal
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation
super_class: java.lang.Object
{
private final com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration deviceConfiguration;
descriptor: Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration colorConfiguration;
descriptor: Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal virtualTerminal;
descriptor: Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.BlockingQueue<com.googlecode.lanterna.input.KeyStroke> keyQueue;
descriptor: Ljava/util/concurrent/BlockingQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/BlockingQueue<Lcom/googlecode/lanterna/input/KeyStroke;>;
private final com.googlecode.lanterna.terminal.swing.TerminalScrollController scrollController;
descriptor: Lcom/googlecode/lanterna/terminal/swing/TerminalScrollController;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable dirtyCellsLookupTable;
descriptor: Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String enquiryString;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean cursorIsVisible;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean enableInput;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.Timer blinkTimer;
descriptor: Ljava/util/Timer;
flags: (0x0002) ACC_PRIVATE
private boolean hasBlinkingText;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean blinkOn;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean bellOn;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean needFullRedraw;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.googlecode.lanterna.TerminalPosition lastDrawnCursorPosition;
descriptor: Lcom/googlecode/lanterna/TerminalPosition;
flags: (0x0002) ACC_PRIVATE
private int lastBufferUpdateScrollPosition;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lastComponentWidth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lastComponentHeight;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.awt.image.BufferedImage backbuffer;
descriptor: Ljava/awt/image/BufferedImage;
flags: (0x0002) ACC_PRIVATE
private java.awt.image.BufferedImage copybuffer;
descriptor: Ljava/awt/image/BufferedImage;
flags: (0x0002) ACC_PRIVATE
private static final java.util.Set<java.lang.Character> TYPED_KEYS_TO_IGNORE;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Character;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new java.util.HashSet
dup
bipush 6
anewarray java.lang.Character
dup
iconst_0
bipush 10
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
dup
iconst_1
bipush 9
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
dup
iconst_2
bipush 13
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
dup
iconst_3
bipush 8
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
dup
iconst_4
bipush 27
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
dup
iconst_5
bipush 127
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
putstatic com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.TYPED_KEYS_TO_IGNORE:Ljava/util/Set;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.googlecode.lanterna.TerminalSize, com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration, com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration, com.googlecode.lanterna.terminal.swing.TerminalScrollController);
descriptor: (Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;Lcom/googlecode/lanterna/terminal/swing/TerminalScrollController;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 3
2: new com.googlecode.lanterna.TerminalSize
dup
bipush 80
bipush 24
invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
astore 1
3: StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration com.googlecode.lanterna.terminal.swing.TerminalScrollController
StackMap stack:
aload 0
new com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal
dup
aload 1
invokespecial com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.<init>:(Lcom/googlecode/lanterna/TerminalSize;)V
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
4: aload 0
new java.util.concurrent.LinkedBlockingQueue
dup
invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:()V
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.keyQueue:Ljava/util/concurrent/BlockingQueue;
5: aload 0
aload 2
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
6: aload 0
aload 3
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.colorConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
7: aload 0
aload 4
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.scrollController:Lcom/googlecode/lanterna/terminal/swing/TerminalScrollController;
8: aload 0
new com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable
dup
invokespecial com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.<init>:()V
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
9: aload 0
iconst_1
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.cursorIsVisible:Z
10: aload 0
iconst_0
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.enableInput:Z
11: aload 0
ldc "TerminalEmulator"
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.enquiryString:Ljava/lang/String;
12: aload 0
aconst_null
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastDrawnCursorPosition:Lcom/googlecode/lanterna/TerminalPosition;
13: aload 0
iconst_0
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastBufferUpdateScrollPosition:I
14: aload 0
iconst_0
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastComponentHeight:I
15: aload 0
iconst_0
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastComponentWidth:I
16: aload 0
aconst_null
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
17: aload 0
aconst_null
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.copybuffer:Ljava/awt/image/BufferedImage;
18: aload 0
aconst_null
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkTimer:Ljava/util/Timer;
19: aload 0
iconst_0
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.hasBlinkingText:Z
20: aload 0
iconst_1
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkOn:Z
21: aload 0
iconst_0
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.needFullRedraw:Z
22: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
aload 2
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.getLineBufferScrollbackSize:()I
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.setBacklogSize:(I)V
23: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 24 1 initialTerminalSize Lcom/googlecode/lanterna/TerminalSize;
0 24 2 deviceConfiguration Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
0 24 3 colorConfiguration Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
0 24 4 scrollController Lcom/googlecode/lanterna/terminal/swing/TerminalScrollController;
MethodParameters:
Name Flags
initialTerminalSize
deviceConfiguration
colorConfiguration
scrollController
com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration getDeviceConfiguration();
descriptor: ()Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration getColorConfiguration();
descriptor: ()Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.colorConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
abstract int getFontHeight();
descriptor: ()I
flags: (0x0400) ACC_ABSTRACT
abstract int getFontWidth();
descriptor: ()I
flags: (0x0400) ACC_ABSTRACT
abstract int getHeight();
descriptor: ()I
flags: (0x0400) ACC_ABSTRACT
abstract int getWidth();
descriptor: ()I
flags: (0x0400) ACC_ABSTRACT
abstract java.awt.Font getFontForCharacter(com.googlecode.lanterna.TextCharacter);
descriptor: (Lcom/googlecode/lanterna/TextCharacter;)Ljava/awt/Font;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
character
abstract boolean isTextAntiAliased();
descriptor: ()Z
flags: (0x0400) ACC_ABSTRACT
abstract void repaint();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
synchronized void onCreated();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.startBlinkTimer:()V
1: aload 0
iconst_1
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.enableInput:Z
2: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.keyQueue:Ljava/util/concurrent/BlockingQueue;
invokeinterface java.util.concurrent.BlockingQueue.clear:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
synchronized void onDestroyed();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.stopBlinkTimer:()V
1: aload 0
iconst_0
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.enableInput:Z
2: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.keyQueue:Ljava/util/concurrent/BlockingQueue;
new com.googlecode.lanterna.input.KeyStroke
dup
getstatic com.googlecode.lanterna.input.KeyType.EOF:Lcom/googlecode/lanterna/input/KeyType;
invokespecial com.googlecode.lanterna.input.KeyStroke.<init>:(Lcom/googlecode/lanterna/input/KeyType;)V
invokeinterface java.util.concurrent.BlockingQueue.add:(Ljava/lang/Object;)Z
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
synchronized void startBlinkTimer();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkTimer:Ljava/util/Timer;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
new java.util.Timer
dup
ldc "LanternaTerminalBlinkTimer"
iconst_1
invokespecial java.util.Timer.<init>:(Ljava/lang/String;Z)V
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkTimer:Ljava/util/Timer;
3: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkTimer:Ljava/util/Timer;
new com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$1
dup
aload 0
invokespecial com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$1.<init>:(Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;)V
4: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.getBlinkLengthInMilliSeconds:()I
i2l
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.getBlinkLengthInMilliSeconds:()I
i2l
5: invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;JJ)V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
synchronized void stopBlinkTimer();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkTimer:Ljava/util/Timer;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkTimer:Ljava/util/Timer;
invokevirtual java.util.Timer.cancel:()V
3: aload 0
aconst_null
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkTimer:Ljava/util/Timer;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
synchronized java.awt.Dimension getPreferredSize();
descriptor: ()Ljava/awt/Dimension;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=5, locals=1, args_size=1
start local 0 0: new java.awt.Dimension
dup
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getFontWidth:()I
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
imul
1: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getFontHeight:()I
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
imul
2: invokespecial java.awt.Dimension.<init>:(II)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
synchronized void paintComponent(java.awt.Graphics);
descriptor: (Ljava/awt/Graphics;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=11, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
istore 2
start local 2 1: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
istore 3
start local 3 2: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.scrollController:Lcom/googlecode/lanterna/terminal/swing/TerminalScrollController;
3: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getBufferLineCount:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getFontHeight:()I
imul
4: iload 3
5: invokeinterface com.googlecode.lanterna.terminal.swing.TerminalScrollController.updateModel:(II)V
6: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastBufferUpdateScrollPosition:I
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.scrollController:Lcom/googlecode/lanterna/terminal/swing/TerminalScrollController;
invokeinterface com.googlecode.lanterna.terminal.swing.TerminalScrollController.getScrollingOffset:()I
if_icmpne 10
7: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.hasBlinkingText:Z
ifne 10
8: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.needFullRedraw:Z
ifne 10
9: iconst_0
goto 11
StackMap locals: int int
StackMap stack:
10: iconst_1
StackMap locals:
StackMap stack: int
11: istore 4
start local 4 12: iload 2
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastComponentWidth:I
if_icmpne 13
iload 3
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastComponentHeight:I
if_icmpeq 18
13: StackMap locals: int
StackMap stack:
iload 2
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getFontWidth:()I
idiv
istore 5
start local 5 14: iload 3
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getFontHeight:()I
idiv
istore 6
start local 6 15: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
iload 5
invokevirtual com.googlecode.lanterna.TerminalSize.withColumns:(I)Lcom/googlecode/lanterna/TerminalSize;
iload 6
invokevirtual com.googlecode.lanterna.TerminalSize.withRows:(I)Lcom/googlecode/lanterna/TerminalSize;
astore 7
start local 7 16: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
aload 7
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.setTerminalSize:(Lcom/googlecode/lanterna/TerminalSize;)V
17: iconst_1
istore 4
end local 7 end local 6 end local 5 18: StackMap locals:
StackMap stack:
iload 4
ifeq 20
19: aload 0
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.scrollController:Lcom/googlecode/lanterna/terminal/swing/TerminalScrollController;
invokeinterface com.googlecode.lanterna.terminal.swing.TerminalScrollController.getScrollingOffset:()I
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.updateBackBuffer:(I)V
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.ensureGraphicBufferHasRightSize:()V
21: aload 1
invokevirtual java.awt.Graphics.getClipBounds:()Ljava/awt/Rectangle;
astore 5
start local 5 22: aload 5
ifnonnull 24
23: new java.awt.Rectangle
dup
iconst_0
iconst_0
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
invokespecial java.awt.Rectangle.<init>:(IIII)V
astore 5
24: StackMap locals: java.awt.Rectangle
StackMap stack:
aload 1
25: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
26: aload 5
getfield java.awt.Rectangle.x:I
27: aload 5
getfield java.awt.Rectangle.y:I
28: aload 5
getfield java.awt.Rectangle.width:I
29: aload 5
getfield java.awt.Rectangle.height:I
30: aload 5
getfield java.awt.Rectangle.x:I
31: aload 5
getfield java.awt.Rectangle.y:I
32: aload 5
getfield java.awt.Rectangle.width:I
33: aload 5
getfield java.awt.Rectangle.height:I
34: aconst_null
35: invokevirtual java.awt.Graphics.drawImage:(Ljava/awt/Image;IIIIIIIILjava/awt/image/ImageObserver;)Z
pop
36: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getFontWidth:()I
irem
istore 6
start local 6 37: aload 1
getstatic java.awt.Color.BLACK:Ljava/awt/Color;
invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
38: iload 6
ifle 40
39: aload 1
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
iload 6
isub
iconst_0
iload 6
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
invokevirtual java.awt.Graphics.fillRect:(IIII)V
40: StackMap locals: int
StackMap stack:
aload 0
iload 2
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastComponentWidth:I
41: aload 0
iload 3
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastComponentHeight:I
42: aload 1
invokevirtual java.awt.Graphics.dispose:()V
43: aload 0
invokevirtual java.lang.Object.notifyAll:()V
44: return
end local 6 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 45 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 45 1 componentGraphics Ljava/awt/Graphics;
1 45 2 width I
2 45 3 height I
12 45 4 needToUpdateBackBuffer Z
14 18 5 columns I
15 18 6 rows I
16 18 7 terminalSize Lcom/googlecode/lanterna/TerminalSize;
22 45 5 clipBounds Ljava/awt/Rectangle;
37 45 6 leftoverWidth I
MethodParameters:
Name Flags
componentGraphics
private synchronized void updateBackBuffer(int);
descriptor: (I)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=11, locals=14, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getFontWidth:()I
istore 2
start local 2 1: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getFontHeight:()I
istore 3
start local 3 2: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getCursorBufferPosition:()Lcom/googlecode/lanterna/TerminalPosition;
astore 4
start local 4 3: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
astore 5
start local 5 4: iload 1
iload 3
idiv
istore 6
start local 6 5: iload 1
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iadd
iload 3
idiv
istore 7
start local 7 6: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.ensureGraphicBufferHasRightSize:()V
7: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 8
start local 8 8: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.isTextAntiAliased:()Z
ifeq 11
9: aload 8
getstatic java.awt.RenderingHints.KEY_TEXT_ANTIALIASING:Ljava/awt/RenderingHints$Key;
getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_ON:Ljava/lang/Object;
invokevirtual java.awt.Graphics2D.setRenderingHint:(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)V
10: aload 8
getstatic java.awt.RenderingHints.KEY_RENDERING:Ljava/awt/RenderingHints$Key;
getstatic java.awt.RenderingHints.VALUE_RENDER_QUALITY:Ljava/lang/Object;
invokevirtual java.awt.Graphics2D.setRenderingHint:(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)V
11: StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation int int int com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TerminalSize int int java.awt.Graphics2D
StackMap stack:
new java.util.concurrent.atomic.AtomicBoolean
dup
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.isCursorBlinking:()Z
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
astore 9
start local 9 12: aload 0
iload 6
iload 7
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.buildDirtyCellsLookupTable:(II)V
13: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastBufferUpdateScrollPosition:I
iload 1
if_icmpge 31
14: iload 1
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastBufferUpdateScrollPosition:I
isub
istore 10
start local 10 15: iload 10
iload 3
idiv
aload 5
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
if_icmpge 29
16: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.copybuffer:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 11
start local 11 17: aload 11
iconst_0
iconst_0
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iload 10
isub
invokevirtual java.awt.Graphics2D.setClip:(IIII)V
18: aload 11
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
iconst_0
iload 10
ineg
aconst_null
invokevirtual java.awt.Graphics2D.drawImage:(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z
pop
19: aload 11
invokevirtual java.awt.Graphics2D.dispose:()V
20: aload 8
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.copybuffer:Ljava/awt/image/BufferedImage;
iconst_0
iconst_0
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iconst_0
iconst_0
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
aconst_null
invokevirtual java.awt.Graphics2D.drawImage:(Ljava/awt/Image;IIIIIIIILjava/awt/image/ImageObserver;)Z
pop
21: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.isAllDirty:()Z
ifne 48
22: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastBufferUpdateScrollPosition:I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iadd
iload 3
idiv
istore 12
start local 12 23: iload 12
istore 13
start local 13 24: goto 27
25: StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation int int int com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TerminalSize int int java.awt.Graphics2D java.util.concurrent.atomic.AtomicBoolean int java.awt.Graphics2D int int
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
iload 13
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.setRowDirty:(I)V
26: iinc 13 1
StackMap locals:
StackMap stack:
27: iload 13
iload 7
if_icmple 25
end local 13 end local 12 end local 11 28: goto 48
29: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.setAllDirty:()V
end local 10 30: goto 48
31: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastBufferUpdateScrollPosition:I
iload 1
if_icmple 48
32: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastBufferUpdateScrollPosition:I
iload 1
isub
istore 10
start local 10 33: iload 10
iload 3
idiv
aload 5
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
if_icmpge 47
34: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.copybuffer:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 11
start local 11 35: aload 11
iconst_0
iconst_0
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iload 10
isub
invokevirtual java.awt.Graphics2D.setClip:(IIII)V
36: aload 11
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
iconst_0
iconst_0
aconst_null
invokevirtual java.awt.Graphics2D.drawImage:(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z
pop
37: aload 11
invokevirtual java.awt.Graphics2D.dispose:()V
38: aload 8
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.copybuffer:Ljava/awt/image/BufferedImage;
iconst_0
iload 10
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iconst_0
iconst_0
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iload 10
isub
aconst_null
invokevirtual java.awt.Graphics2D.drawImage:(Ljava/awt/Image;IIIIIIIILjava/awt/image/ImageObserver;)Z
pop
39: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.isAllDirty:()Z
ifne 48
40: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastBufferUpdateScrollPosition:I
iload 3
idiv
istore 12
start local 12 41: iload 6
istore 13
start local 13 42: goto 45
43: StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation int int int com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TerminalSize int int java.awt.Graphics2D java.util.concurrent.atomic.AtomicBoolean int java.awt.Graphics2D int int
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
iload 13
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.setRowDirty:(I)V
44: iinc 13 1
StackMap locals:
StackMap stack:
45: iload 13
iload 12
if_icmple 43
end local 13 end local 12 end local 11 46: goto 48
47: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.setAllDirty:()V
end local 10 48: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastComponentWidth:I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
if_icmpge 57
49: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.isAllDirty:()Z
ifne 57
50: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
iload 2
idiv
istore 10
start local 10 51: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastComponentWidth:I
iload 2
idiv
istore 11
start local 11 52: iload 11
istore 12
start local 12 53: goto 56
54: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
iload 12
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.setColumnDirty:(I)V
55: iinc 12 1
StackMap locals:
StackMap stack:
56: iload 12
iload 10
if_icmple 54
end local 12 end local 11 end local 10 57: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastComponentHeight:I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
if_icmpge 65
58: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.isAllDirty:()Z
ifne 65
59: iload 1
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastComponentHeight:I
iadd
iload 3
idiv
istore 10
start local 10 60: iload 10
istore 11
start local 11 61: goto 64
62: StackMap locals: int int
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
iload 11
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.setRowDirty:(I)V
63: iinc 11 1
StackMap locals:
StackMap stack:
64: iload 11
iload 7
if_icmple 62
end local 11 end local 10 65: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
iload 6
iload 7
aload 0
aload 5
aload 4
aload 9
iload 2
aload 8
iload 3
iload 1
invokedynamic onLine(Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/TerminalPosition;Ljava/util/concurrent/atomic/AtomicBoolean;ILjava/awt/Graphics2D;II)Lcom/googlecode/lanterna/terminal/virtual/VirtualTerminal$BufferWalker;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(ILcom/googlecode/lanterna/terminal/virtual/VirtualTerminal$BufferLine;)V
com/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation.lambda$0(Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/TerminalPosition;Ljava/util/concurrent/atomic/AtomicBoolean;ILjava/awt/Graphics2D;IIILcom/googlecode/lanterna/terminal/virtual/VirtualTerminal$BufferLine;)V (7)
(ILcom/googlecode/lanterna/terminal/virtual/VirtualTerminal$BufferLine;)V
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.forEachLine:(IILcom/googlecode/lanterna/terminal/virtual/VirtualTerminal$BufferWalker;)V
66: aload 8
invokevirtual java.awt.Graphics2D.dispose:()V
67: aload 0
aload 9
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.hasBlinkingText:Z
68: aload 0
aload 4
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastDrawnCursorPosition:Lcom/googlecode/lanterna/TerminalPosition;
69: aload 0
iload 1
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastBufferUpdateScrollPosition:I
70: aload 0
iconst_0
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.needFullRedraw:Z
71: return
end local 9 end local 8 end local 7 end local 6 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 72 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 72 1 scrollOffsetFromTopInPixels I
1 72 2 fontWidth I
2 72 3 fontHeight I
3 72 4 cursorPosition Lcom/googlecode/lanterna/TerminalPosition;
4 72 5 viewportSize Lcom/googlecode/lanterna/TerminalSize;
5 72 6 firstVisibleRowIndex I
6 72 7 lastVisibleRowIndex I
8 72 8 backbufferGraphics Ljava/awt/Graphics2D;
12 72 9 foundBlinkingCharacters Ljava/util/concurrent/atomic/AtomicBoolean;
15 30 10 gap I
17 28 11 graphics Ljava/awt/Graphics2D;
23 28 12 previousLastVisibleRowIndex I
24 28 13 row I
33 48 10 gap I
35 46 11 graphics Ljava/awt/Graphics2D;
41 46 12 previousFirstVisibleRowIndex I
42 46 13 row I
51 57 10 lastVisibleColumnIndex I
52 57 11 previousLastVisibleColumnIndex I
53 57 12 column I
60 65 10 previousLastVisibleRowIndex I
61 65 11 row I
MethodParameters:
Name Flags
scrollOffsetFromTopInPixels final
private void buildDirtyCellsLookupTable(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.isWholeBufferDirtyThenReset:()Z
ifne 1
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.needFullRedraw:Z
ifeq 3
1: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.setAllDirty:()V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
astore 3
start local 3 4: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getCursorBufferPosition:()Lcom/googlecode/lanterna/TerminalPosition;
astore 4
start local 4 5: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
iload 1
iload 2
aload 3
invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.resetAndInitialize:(III)V
6: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
aload 4
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.setDirty:(Lcom/googlecode/lanterna/TerminalPosition;)V
7: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastDrawnCursorPosition:Lcom/googlecode/lanterna/TerminalPosition;
ifnull 13
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastDrawnCursorPosition:Lcom/googlecode/lanterna/TerminalPosition;
aload 4
invokevirtual com.googlecode.lanterna.TerminalPosition.equals:(Ljava/lang/Object;)Z
ifne 13
8: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastDrawnCursorPosition:Lcom/googlecode/lanterna/TerminalPosition;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getCharacter:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TextCharacter;
invokevirtual com.googlecode.lanterna.TextCharacter.isDoubleWidth:()Z
ifeq 10
9: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastDrawnCursorPosition:Lcom/googlecode/lanterna/TerminalPosition;
iconst_1
invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.setDirty:(Lcom/googlecode/lanterna/TerminalPosition;)V
10: StackMap locals: com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.TerminalPosition
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastDrawnCursorPosition:Lcom/googlecode/lanterna/TerminalPosition;
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
ifle 12
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastDrawnCursorPosition:Lcom/googlecode/lanterna/TerminalPosition;
iconst_m1
invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getCharacter:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TextCharacter;
invokevirtual com.googlecode.lanterna.TextCharacter.isDoubleWidth:()Z
ifeq 12
11: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastDrawnCursorPosition:Lcom/googlecode/lanterna/TerminalPosition;
iconst_m1
invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.setDirty:(Lcom/googlecode/lanterna/TerminalPosition;)V
12: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.lastDrawnCursorPosition:Lcom/googlecode/lanterna/TerminalPosition;
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.setDirty:(Lcom/googlecode/lanterna/TerminalPosition;)V
13: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getAndResetDirtyCells:()Ljava/util/TreeSet;
astore 5
start local 5 14: aload 5
invokevirtual java.util.TreeSet.iterator:()Ljava/util/Iterator;
astore 7
goto 17
StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation int int com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.TerminalPosition java.util.TreeSet top java.util.Iterator
StackMap stack:
15: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.googlecode.lanterna.TerminalPosition
astore 6
start local 6 16: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
aload 6
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.setDirty:(Lcom/googlecode/lanterna/TerminalPosition;)V
end local 6 17: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: return
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 19 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 19 1 firstRowOffset I
0 19 2 lastRowOffset I
4 19 3 viewportSize Lcom/googlecode/lanterna/TerminalSize;
5 19 4 cursorPosition Lcom/googlecode/lanterna/TerminalPosition;
14 19 5 dirtyCells Ljava/util/TreeSet<Lcom/googlecode/lanterna/TerminalPosition;>;
16 17 6 position Lcom/googlecode/lanterna/TerminalPosition;
MethodParameters:
Name Flags
firstRowOffset
lastRowOffset
private void ensureGraphicBufferHasRightSize();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
ifnonnull 7
1: aload 0
new java.awt.image.BufferedImage
dup
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
iconst_2
imul
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iconst_2
imul
iconst_1
invokespecial java.awt.image.BufferedImage.<init>:(III)V
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
2: aload 0
new java.awt.image.BufferedImage
dup
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
iconst_2
imul
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iconst_2
imul
iconst_1
invokespecial java.awt.image.BufferedImage.<init>:(III)V
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.copybuffer:Ljava/awt/image/BufferedImage;
3: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 1
start local 1 4: aload 1
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.colorConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
getstatic com.googlecode.lanterna.TextColor$ANSI.DEFAULT:Lcom/googlecode/lanterna/TextColor$ANSI;
iconst_0
iconst_0
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration.toAWTColor:(Lcom/googlecode/lanterna/TextColor;ZZ)Ljava/awt/Color;
invokevirtual java.awt.Graphics2D.setColor:(Ljava/awt/Color;)V
5: aload 1
iconst_0
iconst_0
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
iconst_2
imul
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iconst_2
imul
invokevirtual java.awt.Graphics2D.fillRect:(IIII)V
6: aload 1
invokevirtual java.awt.Graphics2D.dispose:()V
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.getWidth:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
if_icmplt 9
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.getWidth:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
iconst_4
imul
if_icmpgt 9
8: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.getHeight:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
if_icmplt 9
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.getHeight:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iconst_4
imul
if_icmple 16
9: StackMap locals:
StackMap stack:
new java.awt.image.BufferedImage
dup
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
iconst_1
invokestatic java.lang.Math.max:(II)I
iconst_2
imul
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iconst_1
invokestatic java.lang.Math.max:(II)I
iconst_2
imul
iconst_1
invokespecial java.awt.image.BufferedImage.<init>:(III)V
astore 1
start local 1 10: aload 1
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 2
start local 2 11: aload 2
iconst_0
iconst_0
aload 1
invokevirtual java.awt.image.BufferedImage.getWidth:()I
aload 1
invokevirtual java.awt.image.BufferedImage.getHeight:()I
invokevirtual java.awt.Graphics2D.fillRect:(IIII)V
12: aload 2
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
iconst_0
iconst_0
aconst_null
invokevirtual java.awt.Graphics2D.drawImage:(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z
pop
13: aload 2
invokevirtual java.awt.Graphics2D.dispose:()V
14: aload 0
aload 1
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
15: aload 0
new java.awt.image.BufferedImage
dup
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
iconst_1
invokestatic java.lang.Math.max:(II)I
iconst_2
imul
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
iconst_1
invokestatic java.lang.Math.max:(II)I
iconst_2
imul
iconst_1
invokespecial java.awt.image.BufferedImage.<init>:(III)V
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.copybuffer:Ljava/awt/image/BufferedImage;
end local 2 end local 1 16: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
4 7 1 graphics Ljava/awt/Graphics2D;
10 16 1 newBackbuffer Ljava/awt/image/BufferedImage;
11 16 2 graphics Ljava/awt/Graphics2D;
private void drawCharacter(java.awt.Graphics, com.googlecode.lanterna.TextCharacter, int, int, java.awt.Color, java.awt.Color, int, int, int, int, boolean);
descriptor: (Ljava/awt/Graphics;Lcom/googlecode/lanterna/TextCharacter;IILjava/awt/Color;Ljava/awt/Color;IIIIZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=19, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: iload 3
iload 7
imul
istore 12
start local 12 1: iload 4
iload 8
imul
iload 10
isub
istore 13
start local 13 2: aload 1
aload 6
invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
3: aload 1
iload 12
iload 13
iload 9
iload 8
invokevirtual java.awt.Graphics.setClip:(IIII)V
4: aload 1
iload 12
iload 13
iload 9
iload 8
invokevirtual java.awt.Graphics.fillRect:(IIII)V
5: aload 1
aload 5
invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
6: aload 0
aload 2
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getFontForCharacter:(Lcom/googlecode/lanterna/TextCharacter;)Ljava/awt/Font;
astore 14
start local 14 7: aload 1
aload 14
invokevirtual java.awt.Graphics.setFont:(Ljava/awt/Font;)V
8: aload 1
invokevirtual java.awt.Graphics.getFontMetrics:()Ljava/awt/FontMetrics;
astore 15
start local 15 9: aload 1
aload 2
invokevirtual com.googlecode.lanterna.TextCharacter.getCharacterString:()Ljava/lang/String;
iload 12
iload 13
iload 8
iadd
aload 15
invokevirtual java.awt.FontMetrics.getDescent:()I
isub
iconst_1
iadd
invokevirtual java.awt.Graphics.drawString:(Ljava/lang/String;II)V
10: aload 2
invokevirtual com.googlecode.lanterna.TextCharacter.isCrossedOut:()Z
ifeq 15
11: iload 12
istore 16
start local 16 12: iload 13
iload 8
iconst_2
idiv
iadd
istore 17
start local 17 13: iload 16
iload 9
iadd
istore 18
start local 18 14: aload 1
iload 16
iload 17
iload 18
iload 17
invokevirtual java.awt.Graphics.drawLine:(IIII)V
end local 18 end local 17 end local 16 15: StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation java.awt.Graphics com.googlecode.lanterna.TextCharacter int int java.awt.Color java.awt.Color int int int int int int int java.awt.Font java.awt.FontMetrics
StackMap stack:
aload 2
invokevirtual com.googlecode.lanterna.TextCharacter.isUnderlined:()Z
ifeq 20
16: iload 12
istore 16
start local 16 17: iload 13
iload 8
iadd
aload 15
invokevirtual java.awt.FontMetrics.getDescent:()I
isub
iconst_1
iadd
istore 17
start local 17 18: iload 16
iload 9
iadd
istore 18
start local 18 19: aload 1
iload 16
iload 17
iload 18
iload 17
invokevirtual java.awt.Graphics.drawLine:(IIII)V
end local 18 end local 17 end local 16 20: StackMap locals:
StackMap stack:
iload 11
ifeq 30
21: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.getCursorColor:()Lcom/googlecode/lanterna/TextColor;
ifnonnull 24
22: aload 1
aload 5
invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
23: goto 25
24: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.colorConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.getCursorColor:()Lcom/googlecode/lanterna/TextColor;
iconst_0
iconst_0
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration.toAWTColor:(Lcom/googlecode/lanterna/TextColor;ZZ)Ljava/awt/Color;
invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
25: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.getCursorStyle:()Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration$CursorStyle;
getstatic com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration$CursorStyle.UNDER_BAR:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration$CursorStyle;
if_acmpne 28
26: aload 1
iload 12
iload 13
iload 8
iadd
iconst_3
isub
iload 9
iconst_2
invokevirtual java.awt.Graphics.fillRect:(IIII)V
27: goto 30
28: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.getCursorStyle:()Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration$CursorStyle;
getstatic com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration$CursorStyle.VERTICAL_BAR:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration$CursorStyle;
if_acmpne 30
29: aload 1
iload 12
iload 13
iconst_1
iadd
iconst_2
iload 8
iconst_2
isub
invokevirtual java.awt.Graphics.fillRect:(IIII)V
30: StackMap locals:
StackMap stack:
return
end local 15 end local 14 end local 13 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 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 31 1 g Ljava/awt/Graphics;
0 31 2 character Lcom/googlecode/lanterna/TextCharacter;
0 31 3 columnIndex I
0 31 4 rowIndex I
0 31 5 foregroundColor Ljava/awt/Color;
0 31 6 backgroundColor Ljava/awt/Color;
0 31 7 fontWidth I
0 31 8 fontHeight I
0 31 9 characterWidth I
0 31 10 scrollingOffsetInPixels I
0 31 11 drawCursor Z
1 31 12 x I
2 31 13 y I
7 31 14 font Ljava/awt/Font;
9 31 15 fontMetrics Ljava/awt/FontMetrics;
12 15 16 lineStartX I
13 15 17 lineStartY I
14 15 18 lineEndX I
17 20 16 lineStartX I
18 20 17 lineStartY I
19 20 18 lineEndX I
MethodParameters:
Name Flags
g
character
columnIndex
rowIndex
foregroundColor
backgroundColor
fontWidth
fontHeight
characterWidth
scrollingOffsetInPixels
drawCursor
private java.awt.Color deriveTrueForegroundColor(com.googlecode.lanterna.TextCharacter, boolean);
descriptor: (Lcom/googlecode/lanterna/TextCharacter;Z)Ljava/awt/Color;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.googlecode.lanterna.TextCharacter.getForegroundColor:()Lcom/googlecode/lanterna/TextColor;
astore 3
start local 3 1: aload 1
invokevirtual com.googlecode.lanterna.TextCharacter.getBackgroundColor:()Lcom/googlecode/lanterna/TextColor;
astore 4
start local 4 2: aload 1
invokevirtual com.googlecode.lanterna.TextCharacter.isReversed:()Z
istore 5
start local 5 3: aload 1
invokevirtual com.googlecode.lanterna.TextCharacter.isBlinking:()Z
istore 6
start local 6 4: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.cursorIsVisible:Z
ifeq 8
iload 2
ifeq 8
5: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.getCursorStyle:()Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration$CursorStyle;
getstatic com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration$CursorStyle.REVERSED:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration$CursorStyle;
if_acmpne 8
6: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.isCursorBlinking:()Z
ifeq 7
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkOn:Z
ifne 8
7: StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation com.googlecode.lanterna.TextCharacter int com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor int int
StackMap stack:
iconst_1
istore 5
8: StackMap locals:
StackMap stack:
iload 5
ifeq 12
iload 6
ifeq 9
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkOn:Z
ifne 12
9: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.colorConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
aload 4
aload 4
getstatic com.googlecode.lanterna.TextColor$ANSI.DEFAULT:Lcom/googlecode/lanterna/TextColor$ANSI;
if_acmpeq 10
iconst_1
goto 11
StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation com.googlecode.lanterna.TextCharacter int com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor int int
StackMap stack: com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration com.googlecode.lanterna.TextColor
10: iconst_0
StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation com.googlecode.lanterna.TextCharacter int com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor int int
StackMap stack: com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration com.googlecode.lanterna.TextColor int
11: aload 1
invokevirtual com.googlecode.lanterna.TextCharacter.isBold:()Z
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration.toAWTColor:(Lcom/googlecode/lanterna/TextColor;ZZ)Ljava/awt/Color;
areturn
12: StackMap locals:
StackMap stack:
iload 5
ifne 14
iload 6
ifeq 14
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkOn:Z
ifeq 14
13: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.colorConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
aload 4
iconst_0
aload 1
invokevirtual com.googlecode.lanterna.TextCharacter.isBold:()Z
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration.toAWTColor:(Lcom/googlecode/lanterna/TextColor;ZZ)Ljava/awt/Color;
areturn
14: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.colorConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
aload 3
iconst_1
aload 1
invokevirtual com.googlecode.lanterna.TextCharacter.isBold:()Z
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration.toAWTColor:(Lcom/googlecode/lanterna/TextColor;ZZ)Ljava/awt/Color;
areturn
end local 6 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 15 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 15 1 character Lcom/googlecode/lanterna/TextCharacter;
0 15 2 atCursorLocation Z
1 15 3 foregroundColor Lcom/googlecode/lanterna/TextColor;
2 15 4 backgroundColor Lcom/googlecode/lanterna/TextColor;
3 15 5 reverse Z
4 15 6 blink Z
MethodParameters:
Name Flags
character
atCursorLocation
private java.awt.Color deriveTrueBackgroundColor(com.googlecode.lanterna.TextCharacter, boolean);
descriptor: (Lcom/googlecode/lanterna/TextCharacter;Z)Ljava/awt/Color;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.googlecode.lanterna.TextCharacter.getForegroundColor:()Lcom/googlecode/lanterna/TextColor;
astore 3
start local 3 1: aload 1
invokevirtual com.googlecode.lanterna.TextCharacter.getBackgroundColor:()Lcom/googlecode/lanterna/TextColor;
astore 4
start local 4 2: aload 1
invokevirtual com.googlecode.lanterna.TextCharacter.isReversed:()Z
istore 5
start local 5 3: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.cursorIsVisible:Z
ifeq 10
iload 2
ifeq 10
4: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.getCursorStyle:()Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration$CursorStyle;
getstatic com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration$CursorStyle.REVERSED:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration$CursorStyle;
if_acmpne 8
5: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.isCursorBlinking:()Z
ifeq 6
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkOn:Z
ifne 8
6: StackMap locals: com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor int
StackMap stack:
iconst_1
istore 5
7: goto 10
8: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.getCursorStyle:()Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration$CursorStyle;
getstatic com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration$CursorStyle.FIXED_BACKGROUND:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration$CursorStyle;
if_acmpne 10
9: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.getCursorColor:()Lcom/googlecode/lanterna/TextColor;
astore 4
10: StackMap locals:
StackMap stack:
iload 5
ifeq 14
11: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.colorConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
aload 3
aload 4
getstatic com.googlecode.lanterna.TextColor$ANSI.DEFAULT:Lcom/googlecode/lanterna/TextColor$ANSI;
if_acmpne 12
iconst_1
goto 13
StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation com.googlecode.lanterna.TextCharacter int com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor int
StackMap stack: com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration com.googlecode.lanterna.TextColor
12: iconst_0
StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation com.googlecode.lanterna.TextCharacter int com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor int
StackMap stack: com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration com.googlecode.lanterna.TextColor int
13: aload 1
invokevirtual com.googlecode.lanterna.TextCharacter.isBold:()Z
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration.toAWTColor:(Lcom/googlecode/lanterna/TextColor;ZZ)Ljava/awt/Color;
areturn
14: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.colorConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
aload 4
iconst_0
iconst_0
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration.toAWTColor:(Lcom/googlecode/lanterna/TextColor;ZZ)Ljava/awt/Color;
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 15 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 15 1 character Lcom/googlecode/lanterna/TextCharacter;
0 15 2 atCursorLocation Z
1 15 3 foregroundColor Lcom/googlecode/lanterna/TextColor;
2 15 4 backgroundColor Lcom/googlecode/lanterna/TextColor;
3 15 5 reverse Z
MethodParameters:
Name Flags
character
atCursorLocation
void addInput(com.googlecode.lanterna.input.KeyStroke);
descriptor: (Lcom/googlecode/lanterna/input/KeyStroke;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.keyQueue:Ljava/util/concurrent/BlockingQueue;
aload 1
invokeinterface java.util.concurrent.BlockingQueue.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 2 1 keyStroke Lcom/googlecode/lanterna/input/KeyStroke;
MethodParameters:
Name Flags
keyStroke
public com.googlecode.lanterna.input.KeyStroke pollInput();
descriptor: ()Lcom/googlecode/lanterna/input/KeyStroke;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.enableInput:Z
ifne 2
1: new com.googlecode.lanterna.input.KeyStroke
dup
getstatic com.googlecode.lanterna.input.KeyType.EOF:Lcom/googlecode/lanterna/input/KeyType;
invokespecial com.googlecode.lanterna.input.KeyStroke.<init>:(Lcom/googlecode/lanterna/input/KeyType;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.keyQueue:Ljava/util/concurrent/BlockingQueue;
invokeinterface java.util.concurrent.BlockingQueue.poll:()Ljava/lang/Object;
checkcast com.googlecode.lanterna.input.KeyStroke
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
public com.googlecode.lanterna.input.KeyStroke readInput();
descriptor: ()Lcom/googlecode/lanterna/input/KeyStroke;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.keyQueue:Ljava/util/concurrent/BlockingQueue;
dup
astore 1
monitorenter
1: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.enableInput:Z
ifne 4
2: new com.googlecode.lanterna.input.KeyStroke
dup
getstatic com.googlecode.lanterna.input.KeyType.EOF:Lcom/googlecode/lanterna/input/KeyType;
invokespecial com.googlecode.lanterna.input.KeyStroke.<init>:(Lcom/googlecode/lanterna/input/KeyType;)V
aload 1
monitorexit
3: areturn
4: StackMap locals: java.util.concurrent.BlockingQueue
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.keyQueue:Ljava/util/concurrent/BlockingQueue;
invokeinterface java.util.concurrent.BlockingQueue.take:()Ljava/lang/Object;
checkcast com.googlecode.lanterna.input.KeyStroke
5: aload 1
monitorexit
6: areturn
7: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
8: new java.lang.RuntimeException
dup
ldc "Blocking input was interrupted"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
10: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
Exception table:
from to target type
4 5 7 Class java.lang.InterruptedException
1 3 9 any
4 6 9 any
7 10 9 any
public synchronized void enterPrivateMode();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.enterPrivateMode:()V
1: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.clearBackBuffer:()V
2: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.flush:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
public synchronized void exitPrivateMode();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.exitPrivateMode:()V
1: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.clearBackBuffer:()V
2: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.flush:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
public synchronized void clearScreen();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.clearScreen:()V
1: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.clearBackBuffer:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
private void clearBackBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
ifnull 6
1: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.backbuffer:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 1
start local 1 2: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.colorConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorColorConfiguration;
getstatic com.googlecode.lanterna.TextColor$ANSI.DEFAULT:Lcom/googlecode/lanterna/TextColor$ANSI;
iconst_0
iconst_0
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorColorConfiguration.toAWTColor:(Lcom/googlecode/lanterna/TextColor;ZZ)Ljava/awt/Color;
astore 2
start local 2 3: aload 1
aload 2
invokevirtual java.awt.Graphics2D.setColor:(Ljava/awt/Color;)V
4: aload 1
iconst_0
iconst_0
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getWidth:()I
aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.getHeight:()I
invokevirtual java.awt.Graphics2D.fillRect:(IIII)V
5: aload 1
invokevirtual java.awt.Graphics2D.dispose:()V
end local 2 end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
2 6 1 graphics Ljava/awt/Graphics2D;
3 6 2 backgroundColor Ljava/awt/Color;
public synchronized void setCursorPosition(int, int);
descriptor: (II)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new com.googlecode.lanterna.TerminalPosition
dup
iload 1
iload 2
invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.setCursorPosition:(Lcom/googlecode/lanterna/TerminalPosition;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 2 1 x I
0 2 2 y I
MethodParameters:
Name Flags
x
y
public synchronized void setCursorPosition(com.googlecode.lanterna.TerminalPosition);
descriptor: (Lcom/googlecode/lanterna/TerminalPosition;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
ifge 2
1: aload 1
iconst_0
invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 1
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
ifge 4
3: aload 1
iconst_0
invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 1
4: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
aload 1
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.setCursorPosition:(Lcom/googlecode/lanterna/TerminalPosition;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 6 1 position Lcom/googlecode/lanterna/TerminalPosition;
MethodParameters:
Name Flags
position
public com.googlecode.lanterna.TerminalPosition getCursorPosition();
descriptor: ()Lcom/googlecode/lanterna/TerminalPosition;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getCursorPosition:()Lcom/googlecode/lanterna/TerminalPosition;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
public void setCursorVisible(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.cursorIsVisible:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 2 1 visible Z
MethodParameters:
Name Flags
visible final
public synchronized void putCharacter(char);
descriptor: (C)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
iload 1
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.putCharacter:(C)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 2 1 c C
MethodParameters:
Name Flags
c final
public void putString(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
aload 1
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.putString:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 2 1 string Ljava/lang/String;
MethodParameters:
Name Flags
string
public com.googlecode.lanterna.graphics.TextGraphics newTextGraphics();
descriptor: ()Lcom/googlecode/lanterna/graphics/TextGraphics;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.newTextGraphics:()Lcom/googlecode/lanterna/graphics/TextGraphics;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
public void enableSGR(com.googlecode.lanterna.SGR);
descriptor: (Lcom/googlecode/lanterna/SGR;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
aload 1
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.enableSGR:(Lcom/googlecode/lanterna/SGR;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 2 1 sgr Lcom/googlecode/lanterna/SGR;
MethodParameters:
Name Flags
sgr final
public void disableSGR(com.googlecode.lanterna.SGR);
descriptor: (Lcom/googlecode/lanterna/SGR;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
aload 1
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.disableSGR:(Lcom/googlecode/lanterna/SGR;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 2 1 sgr Lcom/googlecode/lanterna/SGR;
MethodParameters:
Name Flags
sgr final
public void resetColorAndSGR();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.resetColorAndSGR:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
public void setForegroundColor(com.googlecode.lanterna.TextColor);
descriptor: (Lcom/googlecode/lanterna/TextColor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
aload 1
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.setForegroundColor:(Lcom/googlecode/lanterna/TextColor;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 2 1 color Lcom/googlecode/lanterna/TextColor;
MethodParameters:
Name Flags
color final
public void setBackgroundColor(com.googlecode.lanterna.TextColor);
descriptor: (Lcom/googlecode/lanterna/TextColor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
aload 1
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.setBackgroundColor:(Lcom/googlecode/lanterna/TextColor;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 2 1 color Lcom/googlecode/lanterna/TextColor;
MethodParameters:
Name Flags
color final
public synchronized com.googlecode.lanterna.TerminalSize getTerminalSize();
descriptor: ()Lcom/googlecode/lanterna/TerminalSize;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
public byte[] enquireTerminal(int, java.util.concurrent.TimeUnit);
descriptor: (ILjava/util/concurrent/TimeUnit;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.enquiryString:Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 1 1 timeout I
0 1 2 timeoutUnit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
timeout
timeoutUnit
public void bell();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.bellOn:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.bellOn:Z
3: aload 0
iconst_1
putfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.needFullRedraw:Z
4: aload 0
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.scrollController:Lcom/googlecode/lanterna/terminal/swing/TerminalScrollController;
invokeinterface com.googlecode.lanterna.terminal.swing.TerminalScrollController.getScrollingOffset:()I
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.updateBackBuffer:(I)V
5: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.repaint:()V
6: new com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$2
dup
aload 0
ldc "BellSilencer"
invokespecial com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$2.<init>:(Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;Ljava/lang/String;)V
7: invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$2.start:()V
8: invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
invokevirtual java.awt.Toolkit.beep:()V
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
public synchronized void flush();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.scrollController:Lcom/googlecode/lanterna/terminal/swing/TerminalScrollController;
invokeinterface com.googlecode.lanterna.terminal.swing.TerminalScrollController.getScrollingOffset:()I
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.updateBackBuffer:(I)V
1: aload 0
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.repaint:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
public void addResizeListener(com.googlecode.lanterna.terminal.TerminalResizeListener);
descriptor: (Lcom/googlecode/lanterna/terminal/TerminalResizeListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
aload 1
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.addResizeListener:(Lcom/googlecode/lanterna/terminal/TerminalResizeListener;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 2 1 listener Lcom/googlecode/lanterna/terminal/TerminalResizeListener;
MethodParameters:
Name Flags
listener
public void removeResizeListener(com.googlecode.lanterna.terminal.TerminalResizeListener);
descriptor: (Lcom/googlecode/lanterna/terminal/TerminalResizeListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.virtualTerminal:Lcom/googlecode/lanterna/terminal/virtual/DefaultVirtualTerminal;
aload 1
invokevirtual com.googlecode.lanterna.terminal.virtual.DefaultVirtualTerminal.removeResizeListener:(Lcom/googlecode/lanterna/terminal/TerminalResizeListener;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 2 1 listener Lcom/googlecode/lanterna/terminal/TerminalResizeListener;
MethodParameters:
Name Flags
listener
private void pasteClipboardContent();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
invokevirtual java.awt.Toolkit.getSystemClipboard:()Ljava/awt/datatransfer/Clipboard;
astore 1
start local 1 1: aload 1
ifnull 5
2: aload 0
aload 1
getstatic java.awt.datatransfer.DataFlavor.stringFlavor:Ljava/awt/datatransfer/DataFlavor;
invokevirtual java.awt.datatransfer.Clipboard.getData:(Ljava/awt/datatransfer/DataFlavor;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.injectStringAsKeyStrokes:(Ljava/lang/String;)V
end local 1 3: goto 5
4: StackMap locals:
StackMap stack: java.lang.Exception
pop
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
1 3 1 systemClipboard Ljava/awt/datatransfer/Clipboard;
Exception table:
from to target type
0 3 4 Class java.lang.Exception
private void pasteSelectionContent();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
invokevirtual java.awt.Toolkit.getSystemSelection:()Ljava/awt/datatransfer/Clipboard;
astore 1
start local 1 1: aload 1
ifnull 5
2: aload 0
aload 1
getstatic java.awt.datatransfer.DataFlavor.stringFlavor:Ljava/awt/datatransfer/DataFlavor;
invokevirtual java.awt.datatransfer.Clipboard.getData:(Ljava/awt/datatransfer/DataFlavor;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.injectStringAsKeyStrokes:(Ljava/lang/String;)V
end local 1 3: goto 5
4: StackMap locals:
StackMap stack: java.lang.Exception
pop
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
1 3 1 systemSelection Ljava/awt/datatransfer/Clipboard;
Exception table:
from to target type
0 3 4 Class java.lang.Exception
private void injectStringAsKeyStrokes(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.io.StringReader
dup
aload 1
invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: new com.googlecode.lanterna.input.InputDecoder
dup
aload 2
invokespecial com.googlecode.lanterna.input.InputDecoder.<init>:(Ljava/io/Reader;)V
astore 3
start local 3 2: aload 3
new com.googlecode.lanterna.input.DefaultKeyDecodingProfile
dup
invokespecial com.googlecode.lanterna.input.DefaultKeyDecodingProfile.<init>:()V
invokevirtual com.googlecode.lanterna.input.InputDecoder.addProfile:(Lcom/googlecode/lanterna/input/KeyDecodingProfile;)V
3: aload 3
iconst_0
invokevirtual com.googlecode.lanterna.input.InputDecoder.getNextCharacter:(Z)Lcom/googlecode/lanterna/input/KeyStroke;
astore 4
start local 4 4: goto 7
5: StackMap locals: java.io.StringReader com.googlecode.lanterna.input.InputDecoder com.googlecode.lanterna.input.KeyStroke
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.keyQueue:Ljava/util/concurrent/BlockingQueue;
aload 4
invokeinterface java.util.concurrent.BlockingQueue.add:(Ljava/lang/Object;)Z
pop
6: aload 3
iconst_0
invokevirtual com.googlecode.lanterna.input.InputDecoder.getNextCharacter:(Z)Lcom/googlecode/lanterna/input/KeyStroke;
astore 4
7: StackMap locals:
StackMap stack:
aload 4
ifnull 10
aload 4
invokevirtual com.googlecode.lanterna.input.KeyStroke.getKeyType:()Lcom/googlecode/lanterna/input/KeyType;
getstatic com.googlecode.lanterna.input.KeyType.EOF:Lcom/googlecode/lanterna/input/KeyType;
if_acmpne 5
end local 4 8: goto 10
9: StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation java.lang.String java.io.StringReader com.googlecode.lanterna.input.InputDecoder
StackMap stack: java.io.IOException
pop
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 11 1 string Ljava/lang/String;
1 11 2 stringReader Ljava/io/StringReader;
2 11 3 inputDecoder Lcom/googlecode/lanterna/input/InputDecoder;
4 8 4 keyStroke Lcom/googlecode/lanterna/input/KeyStroke;
Exception table:
from to target type
3 8 9 Class java.io.IOException
MethodParameters:
Name Flags
string
private void lambda$0(com.googlecode.lanterna.TerminalSize, com.googlecode.lanterna.TerminalPosition, java.util.concurrent.atomic.AtomicBoolean, int, java.awt.Graphics2D, int, int, int, com.googlecode.lanterna.terminal.virtual.VirtualTerminal$BufferLine);
descriptor: (Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/TerminalPosition;Ljava/util/concurrent/atomic/AtomicBoolean;ILjava/awt/Graphics2D;IIILcom/googlecode/lanterna/terminal/virtual/VirtualTerminal$BufferLine;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=12, locals=19, args_size=10
start local 0 start local 8 start local 9 0: iconst_0
istore 10
start local 10 1: goto 41
2: StackMap locals: int
StackMap stack:
aload 9
iload 10
invokeinterface com.googlecode.lanterna.terminal.virtual.VirtualTerminal$BufferLine.getCharacterAt:(I)Lcom/googlecode/lanterna/TextCharacter;
astore 11
start local 11 3: aload 2
iload 10
iload 8
invokevirtual com.googlecode.lanterna.TerminalPosition.equals:(II)Z
istore 12
start local 12 4: iload 12
ifne 9
5: aload 2
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iload 10
iconst_1
iadd
if_icmpne 9
6: aload 2
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
iload 8
if_icmpne 9
7: aload 11
invokevirtual com.googlecode.lanterna.TextCharacter.isDoubleWidth:()Z
ifeq 9
8: iconst_1
istore 12
9: StackMap locals: com.googlecode.lanterna.TextCharacter int
StackMap stack:
aload 11
invokevirtual com.googlecode.lanterna.TextCharacter.getModifiers:()Ljava/util/EnumSet;
getstatic com.googlecode.lanterna.SGR.BLINK:Lcom/googlecode/lanterna/SGR;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
istore 13
start local 13 10: iload 13
ifeq 12
11: aload 3
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
12: StackMap locals: int
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.isAllDirty:()Z
ifne 13
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.dirtyCellsLookupTable:Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation$DirtyCellsLookupTable;
iload 8
iload 10
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable.isDirty:(II)Z
ifne 13
iload 13
ifeq 38
13: StackMap locals:
StackMap stack:
iload 4
aload 11
invokevirtual com.googlecode.lanterna.TextCharacter.isDoubleWidth:()Z
ifeq 14
iconst_2
goto 15
StackMap locals:
StackMap stack: int
14: iconst_1
StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.TerminalPosition java.util.concurrent.atomic.AtomicBoolean int java.awt.Graphics2D int int int com.googlecode.lanterna.terminal.virtual.VirtualTerminal$BufferLine int com.googlecode.lanterna.TextCharacter int int
StackMap stack: int int
15: imul
istore 14
start local 14 16: aload 0
aload 11
iload 12
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deriveTrueForegroundColor:(Lcom/googlecode/lanterna/TextCharacter;Z)Ljava/awt/Color;
astore 15
start local 15 17: aload 0
aload 11
iload 12
invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deriveTrueBackgroundColor:(Lcom/googlecode/lanterna/TextCharacter;Z)Ljava/awt/Color;
astore 16
start local 16 18: iload 12
ifeq 20
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.deviceConfiguration:Lcom/googlecode/lanterna/terminal/swing/TerminalEmulatorDeviceConfiguration;
invokevirtual com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration.isCursorBlinking:()Z
ifeq 19
aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.blinkOn:Z
ifeq 20
StackMap locals: int java.awt.Color java.awt.Color
StackMap stack:
19: iconst_1
goto 21
StackMap locals:
StackMap stack:
20: iconst_0
StackMap locals:
StackMap stack: int
21: istore 17
start local 17 22: aload 0
getfield com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.bellOn:Z
ifeq 26
23: aload 15
astore 18
start local 18 24: aload 16
astore 15
25: aload 18
astore 16
end local 18 26: StackMap locals: int
StackMap stack:
aload 0
aload 5
27: aload 11
28: iload 10
29: iload 8
30: aload 15
31: aload 16
32: iload 4
33: iload 6
34: iload 14
35: iload 7
36: iload 17
37: invokevirtual com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation.drawCharacter:(Ljava/awt/Graphics;Lcom/googlecode/lanterna/TextCharacter;IILjava/awt/Color;Ljava/awt/Color;IIIIZ)V
end local 17 end local 16 end local 15 end local 14 38: StackMap locals: com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.TerminalPosition java.util.concurrent.atomic.AtomicBoolean int java.awt.Graphics2D int int int com.googlecode.lanterna.terminal.virtual.VirtualTerminal$BufferLine int com.googlecode.lanterna.TextCharacter int int
StackMap stack:
aload 11
invokevirtual com.googlecode.lanterna.TextCharacter.isDoubleWidth:()Z
ifeq 40
39: iinc 10 1
end local 13 end local 12 end local 11 40: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
41: iload 10
aload 1
invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
if_icmplt 2
end local 10 42: return
end local 9 end local 8 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lcom/googlecode/lanterna/terminal/swing/GraphicalTerminalImplementation;
0 43 8 rowNumber I
0 43 9 bufferLine Lcom/googlecode/lanterna/terminal/virtual/VirtualTerminal$BufferLine;
1 42 10 column I
3 40 11 textCharacter Lcom/googlecode/lanterna/TextCharacter;
4 40 12 atCursorLocation Z
10 40 13 isBlinking Z
16 38 14 characterWidth I
17 38 15 foregroundColor Ljava/awt/Color;
18 38 16 backgroundColor Ljava/awt/Color;
22 38 17 drawCursor Z
24 26 18 temp Ljava/awt/Color;
}
SourceFile: "GraphicalTerminalImplementation.java"
NestMembers:
com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$1 com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$2 com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$TerminalInputListener com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$TerminalMouseListener
InnerClasses:
public final ANSI = com.googlecode.lanterna.TextColor$ANSI of com.googlecode.lanterna.TextColor
com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$1
com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$2
private DirtyCellsLookupTable = com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$DirtyCellsLookupTable of com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation
protected TerminalInputListener = com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$TerminalInputListener of com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation
protected TerminalMouseListener = com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation$TerminalMouseListener of com.googlecode.lanterna.terminal.swing.GraphicalTerminalImplementation
public final CursorStyle = com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration$CursorStyle of com.googlecode.lanterna.terminal.swing.TerminalEmulatorDeviceConfiguration
public abstract BufferLine = com.googlecode.lanterna.terminal.virtual.VirtualTerminal$BufferLine of com.googlecode.lanterna.terminal.virtual.VirtualTerminal
public abstract BufferWalker = com.googlecode.lanterna.terminal.virtual.VirtualTerminal$BufferWalker of com.googlecode.lanterna.terminal.virtual.VirtualTerminal
public abstract Key = java.awt.RenderingHints$Key of java.awt.RenderingHints
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles