StyleSet<TextGraphics>
ThemedTextGraphics
AbstractTextGraphics
, DoublePrintingTextGraphics
, TextGUIGraphics
public interface TextGraphics extends StyleSet<TextGraphics>
The basic concept behind a TextGraphics implementation is that it keeps a state on four things:
Don't hold on to your TextGraphics objects for too long; ideally create them and let them be GC:ed when you are done with them. The reason is that not all implementations will handle the underlying terminal changing size.
StyleSet.Set
Modifier and Type | Method | Description |
---|---|---|
TextGraphics |
drawImage(TerminalPosition topLeft,
TextImage image) |
Takes a TextImage and draws it on the surface this TextGraphics is targeting, given the coordinates on the target
that is specifying where the top-left corner of the image should be drawn.
|
TextGraphics |
drawImage(TerminalPosition topLeft,
TextImage image,
TerminalPosition sourceImageTopLeft,
TerminalSize sourceImageSize) |
Takes a TextImage and draws it on the surface this TextGraphics is targeting, given the coordinates on the target
that is specifying where the top-left corner of the image should be drawn.
|
TextGraphics |
drawLine(int fromX,
int fromY,
int toX,
int toY,
char character) |
Draws a line from a specified position to a specified position, using a supplied character.
|
TextGraphics |
drawLine(int fromX,
int fromY,
int toX,
int toY,
TextCharacter character) |
Draws a line from a specified position to a specified position, using a supplied character.
|
TextGraphics |
drawLine(TerminalPosition fromPoint,
TerminalPosition toPoint,
char character) |
Draws a line from a specified position to a specified position, using a supplied character.
|
TextGraphics |
drawLine(TerminalPosition fromPoint,
TerminalPosition toPoint,
TextCharacter character) |
Draws a line from a specified position to a specified position, using a supplied TextCharacter.
|
TextGraphics |
drawRectangle(TerminalPosition topLeft,
TerminalSize size,
char character) |
Draws the outline of a rectangle with a particular character (and the currently active colors and
modifiers).
|
TextGraphics |
drawRectangle(TerminalPosition topLeft,
TerminalSize size,
TextCharacter character) |
Draws the outline of a rectangle with a particular TextCharacter, ignoring the current colors and modifiers of
this TextGraphics.
|
TextGraphics |
drawTriangle(TerminalPosition p1,
TerminalPosition p2,
TerminalPosition p3,
char character) |
Draws the outline of a triangle on the screen, using a supplied character.
|
TextGraphics |
drawTriangle(TerminalPosition p1,
TerminalPosition p2,
TerminalPosition p3,
TextCharacter character) |
Draws the outline of a triangle on the screen, using a supplied character.
|
TextGraphics |
fill(char c) |
Fills the entire writable area with a single character, using current foreground color, background color and modifiers.
|
TextGraphics |
fillRectangle(TerminalPosition topLeft,
TerminalSize size,
char character) |
Takes a rectangle and fills it with a particular character (and the currently active colors and
modifiers).
|
TextGraphics |
fillRectangle(TerminalPosition topLeft,
TerminalSize size,
TextCharacter character) |
Takes a rectangle and fills it using a particular TextCharacter, ignoring the current colors and modifiers of
this TextGraphics.
|
TextGraphics |
fillTriangle(TerminalPosition p1,
TerminalPosition p2,
TerminalPosition p3,
char character) |
Draws a filled triangle, using a supplied character.
|
TextGraphics |
fillTriangle(TerminalPosition p1,
TerminalPosition p2,
TerminalPosition p3,
TextCharacter character) |
Draws a filled triangle, using a supplied character.
|
TextCharacter |
getCharacter(int column,
int row) |
Returns the character at the specific position in the terminal.
|
TextCharacter |
getCharacter(TerminalPosition position) |
Returns the character at the specific position in the terminal.
|
TerminalSize |
getSize() |
Returns the size of the area that this text graphic can write to.
|
TabBehaviour |
getTabBehaviour() |
Retrieves the current tab behaviour, which is what the TextGraphics will use when expanding \t characters to
spaces.
|
TextGraphics |
newTextGraphics(TerminalPosition topLeftCorner,
TerminalSize size) |
Creates a new TextGraphics of the same type as this one, using the same underlying subsystem.
|
TextGraphics |
putCSIStyledString(int column,
int row,
String string) |
Puts a string on the screen at the specified position with the current colors and modifiers.
|
TextGraphics |
putCSIStyledString(TerminalPosition position,
String string) |
Puts a string on the screen at the specified position with the current colors and modifiers.
|
TextGraphics |
putString(int column,
int row,
String string) |
Puts a string on the screen at the specified position with the current colors and modifiers.
|
TextGraphics |
putString(int column,
int row,
String string,
SGR extraModifier,
SGR... optionalExtraModifiers) |
Puts a string on the screen at the specified position with the current colors and modifiers.
|
TextGraphics |
putString(int column,
int row,
String string,
Collection<SGR> extraModifiers) |
Puts a string on the screen at the specified position with the current colors and modifiers.
|
TextGraphics |
putString(TerminalPosition position,
String string) |
Shortcut to calling:
|
TextGraphics |
putString(TerminalPosition position,
String string,
SGR extraModifier,
SGR... optionalExtraModifiers) |
Shortcut to calling:
|
TextGraphics |
setCharacter(int column,
int row,
char character) |
Sets the character at the current position to the specified value
|
TextGraphics |
setCharacter(int column,
int row,
TextCharacter character) |
Sets the character at the current position to the specified value, without using the current colors and modifiers
of this TextGraphics.
|
TextGraphics |
setCharacter(TerminalPosition position,
char character) |
Sets the character at the current position to the specified value
|
TextGraphics |
setCharacter(TerminalPosition position,
TextCharacter character) |
Sets the character at the current position to the specified value, without using the current colors and modifiers
of this TextGraphics.
|
TextGraphics |
setTabBehaviour(TabBehaviour tabBehaviour) |
Sets the behaviour to use when expanding tab characters (\t) to spaces
|
clearModifiers, disableModifiers, enableModifiers, getActiveModifiers, getBackgroundColor, getForegroundColor, setBackgroundColor, setForegroundColor, setModifiers, setStyleFrom
TerminalSize getSize()
TextGraphics newTextGraphics(TerminalPosition topLeftCorner, TerminalSize size) throws IllegalArgumentException
newTextGraphics(TerminalPosition.TOP_LEFT_CORNER, textGraphics.getSize())
then the resulting object will be identical to this one, but having a separated state for colors, position and
modifiers.topLeftCorner
- Position of this TextGraphics's writable area that is to become the top-left corner (0x0) of
the new TextGraphicssize
- How large area, counted from the topLeftCorner, the new TextGraphics can write to. This cannot be
larger than the current TextGraphics's writable area (adjusted by topLeftCorner)IllegalArgumentException
- If the size the of new TextGraphics exceeds the dimensions of this
TextGraphics in any way.TabBehaviour getTabBehaviour()
TextGraphics setTabBehaviour(TabBehaviour tabBehaviour)
tabBehaviour
- Behaviour to use when expanding tabs to spacesTextGraphics fill(char c)
c
- Character to fill the writable area withTextGraphics setCharacter(int column, int row, char character)
column
- column of the location to set the characterrow
- row of the location to set the charactercharacter
- Character to set at the current positionTextGraphics setCharacter(int column, int row, TextCharacter character)
column
- column of the location to set the characterrow
- row of the location to set the charactercharacter
- Character data to set at the current positionTextGraphics setCharacter(TerminalPosition position, char character)
position
- position of the location to set the charactercharacter
- Character to set at the current positionTextGraphics setCharacter(TerminalPosition position, TextCharacter character)
position
- position of the location to set the charactercharacter
- Character data to set at the current positionTextGraphics drawLine(TerminalPosition fromPoint, TerminalPosition toPoint, char character)
fromPoint
- From where to draw the linetoPoint
- Where to draw the linecharacter
- Character to use for the lineTextGraphics drawLine(TerminalPosition fromPoint, TerminalPosition toPoint, TextCharacter character)
fromPoint
- From where to draw the linetoPoint
- Where to draw the linecharacter
- Character data to use for the line, including character, colors and modifiersTextGraphics drawLine(int fromX, int fromY, int toX, int toY, char character)
fromX
- Column of the starting position to draw the line from (inclusive)fromY
- Row of the starting position to draw the line from (inclusive)toX
- Column of the end position to draw the line to (inclusive)toY
- Row of the end position to draw the line to (inclusive)character
- Character to use for the lineTextGraphics drawLine(int fromX, int fromY, int toX, int toY, TextCharacter character)
fromX
- Column of the starting position to draw the line from (inclusive)fromY
- Row of the starting position to draw the line from (inclusive)toX
- Column of the end position to draw the line to (inclusive)toY
- Row of the end position to draw the line to (inclusive)character
- Character data to use for the line, including character, colors and modifiersTextGraphics drawTriangle(TerminalPosition p1, TerminalPosition p2, TerminalPosition p3, char character)
p1
- First point on the screen of the trianglep2
- Second point on the screen of the trianglep3
- Third point on the screen of the trianglecharacter
- What character to use when drawing the lines of the triangleTextGraphics drawTriangle(TerminalPosition p1, TerminalPosition p2, TerminalPosition p3, TextCharacter character)
p1
- First point on the screen of the trianglep2
- Second point on the screen of the trianglep3
- Third point on the screen of the trianglecharacter
- What character data to use when drawing the lines of the triangleTextGraphics fillTriangle(TerminalPosition p1, TerminalPosition p2, TerminalPosition p3, char character)
p1
- First point on the screen of the trianglep2
- Second point on the screen of the trianglep3
- Third point on the screen of the trianglecharacter
- What character to use when drawing the triangleTextGraphics fillTriangle(TerminalPosition p1, TerminalPosition p2, TerminalPosition p3, TextCharacter character)
p1
- First point on the screen of the trianglep2
- Second point on the screen of the trianglep3
- Third point on the screen of the trianglecharacter
- What character data to use when drawing the triangleTextGraphics drawRectangle(TerminalPosition topLeft, TerminalSize size, char character)
For example, calling drawRectangle with size being the size of the terminal and top-left value being the terminal's top-left (0x0) corner will draw a border around the terminal.
The current foreground color, background color and modifiers will be applied.
topLeft
- Coordinates of the top-left position of the rectanglesize
- Size (in columns and rows) of the area to drawcharacter
- What character to use when drawing the outline of the rectangleTextGraphics drawRectangle(TerminalPosition topLeft, TerminalSize size, TextCharacter character)
For example, calling drawRectangle with size being the size of the terminal and top-left value being the terminal's top-left (0x0) corner will draw a border around the terminal.
The current foreground color, background color and modifiers will not be modified by this call.
topLeft
- Coordinates of the top-left position of the rectanglesize
- Size (in columns and rows) of the area to drawcharacter
- What character data to use when drawing the outline of the rectangleTextGraphics fillRectangle(TerminalPosition topLeft, TerminalSize size, char character)
For example, calling fillRectangle with size being the size of the terminal and top-left value being the terminal's top-left (0x0) corner will fill the entire terminal with this character.
The current foreground color, background color and modifiers will be applied.
topLeft
- Coordinates of the top-left position of the rectanglesize
- Size (in columns and rows) of the area to drawcharacter
- What character to use when filling the rectangleTextGraphics fillRectangle(TerminalPosition topLeft, TerminalSize size, TextCharacter character)
For example, calling fillRectangle with size being the size of the terminal and top-left value being the terminal's top-left (0x0) corner will fill the entire terminal with this character.
The current foreground color, background color and modifiers will not be modified by this call.
topLeft
- Coordinates of the top-left position of the rectanglesize
- Size (in columns and rows) of the area to drawcharacter
- What character data to use when filling the rectangleTextGraphics drawImage(TerminalPosition topLeft, TextImage image)
drawImage(topLeft, image, TerminalPosition.TOP_LEFT_CORNER, image.getSize()
.topLeft
- Position of the top-left corner of the image on the targetimage
- Image to drawTextGraphics drawImage(TerminalPosition topLeft, TextImage image, TerminalPosition sourceImageTopLeft, TerminalSize sourceImageSize)
topLeft
- Position of the top-left corner of the image on the targetimage
- Image to drawsourceImageTopLeft
- Position of the top-left corner in the source image to draw at the topLeft position on
the targetsourceImageSize
- How much of the source image to draw on the target, counted from the sourceImageTopLeft
positionTextGraphics putString(int column, int row, String string)
column
- What column to put the string atrow
- What row to put the string atstring
- String to put on the screenTextGraphics putString(TerminalPosition position, String string)
putString(position.getColumn(), position.getRow(), string);
position
- Position to put the string atstring
- String to put on the screenTextGraphics putString(int column, int row, String string, SGR extraModifier, SGR... optionalExtraModifiers)
column
- What column to put the string atrow
- What row to put the string atstring
- String to put on the screenextraModifier
- Modifier to apply to the stringoptionalExtraModifiers
- Optional extra modifiers to apply to the stringTextGraphics putString(TerminalPosition position, String string, SGR extraModifier, SGR... optionalExtraModifiers)
putString(position.getColumn(), position.getRow(), string, modifiers, optionalExtraModifiers);
position
- Position to put the string atstring
- String to put on the screenextraModifier
- Modifier to apply to the stringoptionalExtraModifiers
- Optional extra modifiers to apply to the stringTextGraphics putString(int column, int row, String string, Collection<SGR> extraModifiers)
column
- What column to put the string atrow
- What row to put the string atstring
- String to put on the screenextraModifiers
- Modifier to apply to the stringTextGraphics putCSIStyledString(int column, int row, String string)
This method has an additional functionality to the regular putString(int, int, String)
;
if you embed ANSI CSI-style control sequences (like modifying text color or controlling SGR status), they will be
interpreted as the string is printed and mutates the TextGraphics
object. In this version of Lanterna,
the following sequences are supported:
TextGraphics
object will return to the color/style state it was in at the
start of the call.column
- What column to put the string atrow
- What row to put the string atstring
- String to put on the screenTextGraphics putCSIStyledString(TerminalPosition position, String string)
This method has an additional functionality to the regular putString(int, int, String)
;
if you embed ANSI CSI-style control sequences (like modifying text color or controlling SGR status), they will be
interpreted as the string is printed and mutates the TextGraphics
object. In this version of Lanterna,
the following sequences are supported:
TextGraphics
object will return to the color/style state it was in at the
start of the call.position
- Position to put the string atstring
- String to put on the screenTextCharacter getCharacter(TerminalPosition position)
null
if the TextGraphics
implementation doesn't support it or doesn't know what the character is.position
- Position to return the character fornull
if not availableTextCharacter getCharacter(int column, int row)
null
if the TextGraphics
implementation doesn't support it or doesn't know what the character is.column
- Column to return the character forrow
- Row to return the character fornull
if not availableCopyright © 2020. All rights reserved.