| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package tea
- // renderer is the interface for Bubble Tea renderers.
- type renderer interface {
- // Start the renderer.
- start()
- // Stop the renderer, but render the final frame in the buffer, if any.
- stop()
- // Stop the renderer without doing any final rendering.
- kill()
- // Write a frame to the renderer. The renderer can write this data to
- // output at its discretion.
- write(string)
- // Request a full re-render. Note that this will not trigger a render
- // immediately. Rather, this method causes the next render to be a full
- // repaint. Because of this, it's safe to call this method multiple times
- // in succession.
- repaint()
- // Clears the terminal.
- clearScreen()
- // Whether or not the alternate screen buffer is enabled.
- altScreen() bool
- // Enable the alternate screen buffer.
- enterAltScreen()
- // Disable the alternate screen buffer.
- exitAltScreen()
- // Show the cursor.
- showCursor()
- // Hide the cursor.
- hideCursor()
- // enableMouseCellMotion enables mouse click, release, wheel and motion
- // events if a mouse button is pressed (i.e., drag events).
- enableMouseCellMotion()
- // DisableMouseCellMotion disables Mouse Cell Motion tracking.
- disableMouseCellMotion()
- // EnableMouseAllMotion enables mouse click, release, wheel and motion
- // events, regardless of whether a mouse button is pressed. Many modern
- // terminals support this, but not all.
- enableMouseAllMotion()
- // DisableMouseAllMotion disables All Motion mouse tracking.
- disableMouseAllMotion()
- }
- // repaintMsg forces a full repaint.
- type repaintMsg struct{}
|