@Environment(value=CLIENT)
public final class CodeSegment
extends java.lang.Object
| Constructor and Description |
|---|
CodeSegment(Segment parent,
java.lang.String text) |
| Modifier and Type | Method and Description |
|---|---|
protected int |
computeWrapIndent(net.minecraft.client.font.TextRenderer renderer) |
protected boolean |
ignoreLeadingWhitespace() |
protected static int |
indexOfFirstNonWhitespace(java.lang.String s) |
protected int |
lineHeight(net.minecraft.client.font.TextRenderer renderer) |
protected int |
maxChars(java.lang.String s,
int maxWidth,
int maxLineWidth,
net.minecraft.client.font.TextRenderer renderer) |
Segment |
next()
Set after construction of document, used for formatting, specifically
to compute the height for last segment on a line (to force a new line).
|
int |
nextX(int indent,
int maxWidth,
net.minecraft.client.font.TextRenderer renderer)
Get the X coordinate at which to render the next segment.
|
int |
nextY(int indent,
int maxWidth,
net.minecraft.client.font.TextRenderer renderer)
Get the Y coordinate at which to render the next segment.
|
Segment |
parent()
Parent segment, i.e.
|
java.lang.Iterable<Segment> |
refine(java.util.regex.Pattern pattern,
SegmentRefiner refiner)
Used during construction, checks a segment for inner segments.
|
java.util.Optional<InteractiveSegment> |
render(int x,
int y,
int indent,
int maxWidth,
net.minecraft.client.font.TextRenderer renderer,
int mouseX,
int mouseY)
Render the segment at the specified coordinates with the specified
properties.
|
Segment |
root()
The root segment, i.e.
|
void |
setNext(Segment segment) |
protected int |
stringWidth(java.lang.String s,
net.minecraft.client.font.TextRenderer renderer) |
protected java.lang.String |
text() |
java.lang.String |
toString() |
public CodeSegment(Segment parent, java.lang.String text)
public Segment parent()
Segmentprotected java.lang.String text()
public java.util.Optional<InteractiveSegment> render(int x, int y, int indent, int maxWidth, net.minecraft.client.font.TextRenderer renderer, int mouseX, int mouseY)
Segmentrender in interface Segmentx - the x position to render at.y - the y position to render at.indent - the current indentation.maxWidth - the maximum width of the document.renderer - the font renderer to use.mouseX - the x mouse position.mouseY - the y mouse position.protected boolean ignoreLeadingWhitespace()
protected int stringWidth(java.lang.String s,
net.minecraft.client.font.TextRenderer renderer)
public java.lang.String toString()
public int nextX(int indent,
int maxWidth,
net.minecraft.client.font.TextRenderer renderer)
SegmentFor flowing/inline segments this will be to the right of the last line this segment renders, for block segments it will be at the start of the next line below this segment.
The coordinates in this context are relative to (0,0).
public int nextY(int indent,
int maxWidth,
net.minecraft.client.font.TextRenderer renderer)
SegmentFor flowing/inline segments this will be the same level as the last line this segment renders, unless it's the last segment on its line. For block segments and last-on-line segments this will be the next line after.
The coordinates in this context are relative to (0,0).
protected int lineHeight(net.minecraft.client.font.TextRenderer renderer)
protected int maxChars(java.lang.String s,
int maxWidth,
int maxLineWidth,
net.minecraft.client.font.TextRenderer renderer)
protected int computeWrapIndent(net.minecraft.client.font.TextRenderer renderer)
protected static int indexOfFirstNonWhitespace(java.lang.String s)
public Segment root()
Segmentpublic java.lang.Iterable<Segment> refine(java.util.regex.Pattern pattern, SegmentRefiner refiner)
Segmentpublic Segment next()
Segment