Interface TextGUIGraphics
- All Superinterfaces:
StyleSet<TextGraphics>, TextGraphics, ThemedTextGraphics
- All Known Implementing Classes:
DefaultTextGUIGraphics
-
Nested Class Summary
Nested classes/interfaces inherited from interface StyleSet
StyleSet.Set -
Method Summary
Modifier and TypeMethodDescriptionapplyThemeStyle(ThemeStyle themeStyle) Takes a ThemeStyle as applies it to this TextGraphics.Removes all active modifiersdisableModifiers(SGR... modifiers) Removes zero or more modifiers from the set of currently active modifiersdrawImage(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.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.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.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.drawLine(TerminalPosition fromPoint, TerminalPosition toPoint, char character) Draws a line from a specified position to a specified position, using a supplied character.drawLine(TerminalPosition fromPoint, TerminalPosition toPoint, TextCharacter character) Draws a line from a specified position to a specified position, using a supplied TextCharacter.drawRectangle(TerminalPosition topLeft, TerminalSize size, char character) Draws the outline of a rectangle with a particular character (and the currently active colors and modifiers).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.drawTriangle(TerminalPosition p1, TerminalPosition p2, TerminalPosition p3, char character) Draws the outline of a triangle on the screen, using a supplied character.drawTriangle(TerminalPosition p1, TerminalPosition p2, TerminalPosition p3, TextCharacter character) Draws the outline of a triangle on the screen, using a supplied character.enableModifiers(SGR... modifiers) Adds zero or more modifiers to the set of currently active modifiersfill(char c) Fills the entire writable area with a single character, using current foreground color, background color and modifiers.fillRectangle(TerminalPosition topLeft, TerminalSize size, char character) Takes a rectangle and fills it with a particular character (and the currently active colors and modifiers).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.fillTriangle(TerminalPosition p1, TerminalPosition p2, TerminalPosition p3, char character) Draws a filled triangle, using a supplied character.fillTriangle(TerminalPosition p1, TerminalPosition p2, TerminalPosition p3, TextCharacter character) Draws a filled triangle, using a supplied character.Returns theTextGUIthisTextGUIGraphicsbelongs tonewTextGraphics(TerminalPosition topLeftCorner, TerminalSize size) Creates a new TextGraphics of the same type as this one, using the same underlying subsystem.putCSIStyledString(int column, int row, String string) Puts a string on the screen at the specified position with the current colors and modifiers.putCSIStyledString(TerminalPosition position, String string) Puts a string on the screen at the specified position with the current colors and modifiers.Puts a string on the screen at the specified position with the current colors and modifiers.Puts a string on the screen at the specified position with the current colors and modifiers.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.putString(TerminalPosition position, String string) Shortcut to calling:putString(TerminalPosition position, String string, SGR extraModifier, SGR... optionalExtraModifiers) Shortcut to calling:setBackgroundColor(TextColor backgroundColor) Updates the current background colorsetCharacter(int column, int row, char character) Sets the character at the current position to the specified valuesetCharacter(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.setCharacter(TerminalPosition position, char character) Sets the character at the current position to the specified valuesetCharacter(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.setForegroundColor(TextColor foregroundColor) Updates the current foreground colorsetModifiers(EnumSet<SGR> modifiers) Sets the active modifiers to exactly the set passed in to this method.setStyleFrom(StyleSet<?> source) copy colors and set of SGR codessetTabBehaviour(TabBehaviour tabBehaviour) Sets the behaviour to use when expanding tab characters (\t) to spacesMethods inherited from interface StyleSet
getActiveModifiers, getBackgroundColor, getForegroundColorMethods inherited from interface TextGraphics
getCharacter, getCharacter, getSize, getTabBehaviour
-
Method Details
-
getTextGUI
TextGUI getTextGUI()Returns theTextGUIthisTextGUIGraphicsbelongs to- Returns:
TextGUIthisTextGUIGraphicsbelongs to
-
newTextGraphics
TextGUIGraphics newTextGraphics(TerminalPosition topLeftCorner, TerminalSize size) throws IllegalArgumentException Description copied from interface:TextGraphicsCreates a new TextGraphics of the same type as this one, using the same underlying subsystem. Using this method, you need to specify a section of the current TextGraphics valid area that this new TextGraphic shall be restricted to. If you callnewTextGraphics(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.- Specified by:
newTextGraphicsin interfaceTextGraphics- Parameters:
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)- Returns:
- A new TextGraphics with the same underlying subsystem, that can write to only the specified area
- Throws:
IllegalArgumentException- If the size the of new TextGraphics exceeds the dimensions of this TextGraphics in any way.
-
applyThemeStyle
Description copied from interface:ThemedTextGraphicsTakes a ThemeStyle as applies it to this TextGraphics. This will effectively set the foreground color, the background color and all the SGRs.- Specified by:
applyThemeStylein interfaceThemedTextGraphics- Parameters:
themeStyle- ThemeStyle to apply- Returns:
- Itself
-
setBackgroundColor
Description copied from interface:StyleSetUpdates the current background color- Specified by:
setBackgroundColorin interfaceStyleSet<TextGraphics>- Parameters:
backgroundColor- New background color- Returns:
- Itself
-
setForegroundColor
Description copied from interface:StyleSetUpdates the current foreground color- Specified by:
setForegroundColorin interfaceStyleSet<TextGraphics>- Parameters:
foregroundColor- New foreground color- Returns:
- Itself
-
enableModifiers
Description copied from interface:StyleSetAdds zero or more modifiers to the set of currently active modifiers- Specified by:
enableModifiersin interfaceStyleSet<TextGraphics>- Parameters:
modifiers- Modifiers to add to the set of currently active modifiers- Returns:
- Itself
-
disableModifiers
Description copied from interface:StyleSetRemoves zero or more modifiers from the set of currently active modifiers- Specified by:
disableModifiersin interfaceStyleSet<TextGraphics>- Parameters:
modifiers- Modifiers to remove from the set of currently active modifiers- Returns:
- Itself
-
setModifiers
Description copied from interface:StyleSetSets the active modifiers to exactly the set passed in to this method. Any previous state of which modifiers are enabled doesn't matter.- Specified by:
setModifiersin interfaceStyleSet<TextGraphics>- Parameters:
modifiers- Modifiers to set as active- Returns:
- Itself
-
clearModifiers
TextGUIGraphics clearModifiers()Description copied from interface:StyleSetRemoves all active modifiers- Specified by:
clearModifiersin interfaceStyleSet<TextGraphics>- Returns:
- Itself
-
setTabBehaviour
Description copied from interface:TextGraphicsSets the behaviour to use when expanding tab characters (\t) to spaces- Specified by:
setTabBehaviourin interfaceTextGraphics- Parameters:
tabBehaviour- Behaviour to use when expanding tabs to spaces- Returns:
- Itself
-
fill
Description copied from interface:TextGraphicsFills the entire writable area with a single character, using current foreground color, background color and modifiers.- Specified by:
fillin interfaceTextGraphics- Parameters:
c- Character to fill the writable area with- Returns:
- Itself
-
fillRectangle
Description copied from interface:TextGraphicsTakes a rectangle and fills it with a particular character (and the currently active colors and modifiers). The topLeft coordinate is inclusive.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.
- Specified by:
fillRectanglein interfaceTextGraphics- Parameters:
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 rectangle- Returns:
- Itself
-
fillRectangle
Description copied from interface:TextGraphicsTakes a rectangle and fills it using a particular TextCharacter, ignoring the current colors and modifiers of this TextGraphics. The topLeft coordinate is inclusive.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.
- Specified by:
fillRectanglein interfaceTextGraphics- Parameters:
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 rectangle- Returns:
- Itself
-
drawRectangle
Description copied from interface:TextGraphicsDraws the outline of a rectangle with a particular character (and the currently active colors and modifiers). The topLeft coordinate is inclusive.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.
- Specified by:
drawRectanglein interfaceTextGraphics- Parameters:
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 rectangle- Returns:
- Itself
-
drawRectangle
Description copied from interface:TextGraphicsDraws the outline of a rectangle with a particular TextCharacter, ignoring the current colors and modifiers of this TextGraphics.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.
- Specified by:
drawRectanglein interfaceTextGraphics- Parameters:
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 rectangle- Returns:
- Itself
-
fillTriangle
TextGUIGraphics fillTriangle(TerminalPosition p1, TerminalPosition p2, TerminalPosition p3, char character) Description copied from interface:TextGraphicsDraws a filled triangle, using a supplied character. The triangle will begin at p1, go through p2 and then p3 and then back to p1. The current foreground color, background color and modifiers will be applied.- Specified by:
fillTrianglein interfaceTextGraphics- Parameters:
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 triangle- Returns:
- Itself
-
fillTriangle
TextGUIGraphics fillTriangle(TerminalPosition p1, TerminalPosition p2, TerminalPosition p3, TextCharacter character) Description copied from interface:TextGraphicsDraws a filled triangle, using a supplied character. The triangle will begin at p1, go through p2 and then p3 and then back to p1. The current foreground color, background color and modifiers of this TextGraphics will not be used and will not be modified by this call.- Specified by:
fillTrianglein interfaceTextGraphics- Parameters:
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 triangle- Returns:
- Itself
-
drawTriangle
TextGUIGraphics drawTriangle(TerminalPosition p1, TerminalPosition p2, TerminalPosition p3, char character) Description copied from interface:TextGraphicsDraws the outline of a triangle on the screen, using a supplied character. The triangle will begin at p1, go through p2 and then p3 and then back to p1. The current foreground color, background color and modifiers will be applied.- Specified by:
drawTrianglein interfaceTextGraphics- Parameters:
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 triangle- Returns:
- Itself
-
drawTriangle
TextGUIGraphics drawTriangle(TerminalPosition p1, TerminalPosition p2, TerminalPosition p3, TextCharacter character) Description copied from interface:TextGraphicsDraws the outline of a triangle on the screen, using a supplied character. The triangle will begin at p1, go through p2 and then p3 and then back to p1. The current foreground color, background color and modifiers of this TextGraphics will not be used and will not be modified by this call.- Specified by:
drawTrianglein interfaceTextGraphics- Parameters:
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 triangle- Returns:
- Itself
-
drawLine
Description copied from interface:TextGraphicsDraws a line from a specified position to a specified position, using a supplied character. The current foreground color, background color and modifiers will be applied.- Specified by:
drawLinein interfaceTextGraphics- Parameters:
fromPoint- From where to draw the linetoPoint- Where to draw the linecharacter- Character to use for the line- Returns:
- Itself
-
drawLine
TextGUIGraphics drawLine(TerminalPosition fromPoint, TerminalPosition toPoint, TextCharacter character) Description copied from interface:TextGraphicsDraws a line from a specified position to a specified position, using a supplied TextCharacter. The current foreground color, background color and modifiers of this TextGraphics will not be used and will not be modified by this call.- Specified by:
drawLinein interfaceTextGraphics- Parameters:
fromPoint- From where to draw the linetoPoint- Where to draw the linecharacter- Character data to use for the line, including character, colors and modifiers- Returns:
- Itself
-
drawLine
Description copied from interface:TextGraphicsDraws a line from a specified position to a specified position, using a supplied character. The current foreground color, background color and modifiers will be applied.- Specified by:
drawLinein interfaceTextGraphics- Parameters:
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 line- Returns:
- Itself
-
drawLine
Description copied from interface:TextGraphicsDraws a line from a specified position to a specified position, using a supplied character. The current foreground color, background color and modifiers of this TextGraphics will not be used and will not be modified by this call.- Specified by:
drawLinein interfaceTextGraphics- Parameters:
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 modifiers- Returns:
- Itself
-
drawImage
Description copied from interface:TextGraphicsTakes 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. This is equivalent of callingdrawImage(topLeft, image, TerminalPosition.TOP_LEFT_CORNER, image.getSize().- Specified by:
drawImagein interfaceTextGraphics- Parameters:
topLeft- Position of the top-left corner of the image on the targetimage- Image to draw- Returns:
- Itself
-
drawImage
TextGUIGraphics drawImage(TerminalPosition topLeft, TextImage image, TerminalPosition sourceImageTopLeft, TerminalSize sourceImageSize) Description copied from interface:TextGraphicsTakes 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. This overload will only draw a portion of the image to the target, as specified by the two last parameters.- Specified by:
drawImagein interfaceTextGraphics- Parameters:
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 position- Returns:
- Itself
-
setCharacter
Description copied from interface:TextGraphicsSets the character at the current position to the specified value- Specified by:
setCharacterin interfaceTextGraphics- Parameters:
position- position of the location to set the charactercharacter- Character to set at the current position- Returns:
- Itself
-
setCharacter
Description copied from interface:TextGraphicsSets the character at the current position to the specified value, without using the current colors and modifiers of this TextGraphics.- Specified by:
setCharacterin interfaceTextGraphics- Parameters:
position- position of the location to set the charactercharacter- Character data to set at the current position- Returns:
- Itself
-
setCharacter
Description copied from interface:TextGraphicsSets the character at the current position to the specified value- Specified by:
setCharacterin interfaceTextGraphics- Parameters:
column- column of the location to set the characterrow- row of the location to set the charactercharacter- Character to set at the current position- Returns:
- Itself
-
setCharacter
Description copied from interface:TextGraphicsSets the character at the current position to the specified value, without using the current colors and modifiers of this TextGraphics.- Specified by:
setCharacterin interfaceTextGraphics- Parameters:
column- column of the location to set the characterrow- row of the location to set the charactercharacter- Character data to set at the current position- Returns:
- Itself
-
putString
Description copied from interface:TextGraphicsPuts a string on the screen at the specified position with the current colors and modifiers. If the string contains newlines (\r and/or \n), the method will stop at the character before that; you have to manage multi-line strings yourself! The current foreground color, background color and modifiers will be applied.- Specified by:
putStringin interfaceTextGraphics- Parameters:
column- What column to put the string atrow- What row to put the string atstring- String to put on the screen- Returns:
- Itself
-
putString
Description copied from interface:TextGraphicsShortcut to calling:putString(position.getColumn(), position.getRow(), string);
- Specified by:
putStringin interfaceTextGraphics- Parameters:
position- Position to put the string atstring- String to put on the screen- Returns:
- Itself
-
putString
TextGUIGraphics putString(int column, int row, String string, SGR extraModifier, SGR... optionalExtraModifiers) Description copied from interface:TextGraphicsPuts a string on the screen at the specified position with the current colors and modifiers. If the string contains newlines (\r and/or \n), the method will stop at the character before that; you have to manage multi-line strings yourself! If you supplied any extra modifiers, they will be applied when writing the string as well but not recorded into the state of the TextGraphics object.- Specified by:
putStringin interfaceTextGraphics- Parameters:
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 string- Returns:
- Itself
-
putString
TextGUIGraphics putString(TerminalPosition position, String string, SGR extraModifier, SGR... optionalExtraModifiers) Description copied from interface:TextGraphicsShortcut to calling:putString(position.getColumn(), position.getRow(), string, modifiers, optionalExtraModifiers);
- Specified by:
putStringin interfaceTextGraphics- Parameters:
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 string- Returns:
- Itself
-
putString
Description copied from interface:TextGraphicsPuts a string on the screen at the specified position with the current colors and modifiers. If the string contains newlines (\r and/or \n), the method will stop at the character before that; you have to manage multi-line strings yourself! If you supplied any extra modifiers, they will be applied when writing the string as well but not recorded into the state of the TextGraphics object.- Specified by:
putStringin interfaceTextGraphics- Parameters:
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 string- Returns:
- Itself
-
putCSIStyledString
Description copied from interface:TextGraphicsPuts a string on the screen at the specified position with the current colors and modifiers. If the string contains newlines (\r and/or \n), the method will stop at the character before that; you have to manage multi-line strings yourself!This method has an additional functionality to the regular
TextGraphics.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 theTextGraphicsobject. In this version of Lanterna, the following sequences are supported:- Set foreground color
- Set background color
- Set/Clear bold style
- Set/Clear underline style
- Set/Clear blink style
- Set/Clear reverse style
- Clear all styles and colors (notice that this will return the state to what it was at the start of the method)
TextGraphicsobject will return to the color/style state it was in at the start of the call.- Specified by:
putCSIStyledStringin interfaceTextGraphics- Parameters:
column- What column to put the string atrow- What row to put the string atstring- String to put on the screen- Returns:
- Itself
-
putCSIStyledString
Description copied from interface:TextGraphicsPuts a string on the screen at the specified position with the current colors and modifiers. If the string contains newlines (\r and/or \n), the method will stop at the character before that; you have to manage multi-line strings yourself!This method has an additional functionality to the regular
TextGraphics.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 theTextGraphicsobject. In this version of Lanterna, the following sequences are supported:- Set foreground color
- Set background color
- Set/Clear bold style
- Set/Clear underline style
- Set/Clear blink style
- Set/Clear reverse style
- Clear all styles and colors (notice that this will return the state to what it was at the start of the method)
TextGraphicsobject will return to the color/style state it was in at the start of the call.- Specified by:
putCSIStyledStringin interfaceTextGraphics- Parameters:
position- Position to put the string atstring- String to put on the screen- Returns:
- Itself
-
setStyleFrom
Description copied from interface:StyleSetcopy colors and set of SGR codes- Specified by:
setStyleFromin interfaceStyleSet<TextGraphics>- Parameters:
source- Modifiers to set as active- Returns:
- Itself
-