Lanterna: How to 'draw' a blinking caret on the screen

32 Views Asked by At

I want to draw a blinking caret in the screen like it was done in the "Norton Commander" but also use the GUI to render Windows etc. I don't see anything I draw on the GUI screen, why?

val screen: Screen = DefaultTerminalFactory().createScreen()
screen.startScreen()


val window = BasicWindow("title")

val panel=Panel()
panel.layoutManager=GridLayout(2)
panel.addComponent(Button("Ok"))
panel.addComponent(Label("Text"))
window.component=panel

val gui = MultiWindowTextGUI(screen, DefaultWindowManager(), EmptySpace(TextColor.ANSI.BLUE))

gui.addWindow(window)
window.textGUI.guiThread.invokeAndWait { 
    val tg=screen.newTextGraphics()
    tg.setBackgroundColor(TextColor.ANSI.BLACK)
    tg.setForegroundColor(TextColor.ANSI.WHITE)
    tg.setModifiers(of(SGR.BLINK))
    tg.setCharacter(1,23,'_')
}


window.waitUntilClosed()
0

There are 0 best solutions below