Package io.github.zhengzhengyiyi.api
Class FileType.DefaultHighlighter
java.lang.Object
io.github.zhengzhengyiyi.api.FileType.DefaultHighlighter
- All Implemented Interfaces:
HighLighter
- Enclosing class:
FileType
A simple syntax highlighter implementation that does not perform any syntax highlighting,
serving only as a basic text renderer.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddrawHighlightedText(net.minecraft.client.gui.DrawContext context, net.minecraft.client.font.TextRenderer textRenderer, String text, int x, int y, boolean editable) Draws syntax-highlighted text at the specified position.intgetCharIndexFromTokens(net.minecraft.client.font.TextRenderer textRenderer, String line, int targetX) Finds the character index in the text that corresponds to the given x-coordinate.intgetTextWidth(net.minecraft.client.font.TextRenderer textRenderer, String text) Calculates the total width of the syntax-highlighted text.intgetTextWidthUpToChar(net.minecraft.client.font.TextRenderer textRenderer, String line, int charIndex) Calculates the text width from the beginning of the line up to the specified character index.
-
Constructor Details
-
DefaultHighlighter
public DefaultHighlighter()
-
-
Method Details
-
drawHighlightedText
public void drawHighlightedText(net.minecraft.client.gui.DrawContext context, net.minecraft.client.font.TextRenderer textRenderer, String text, int x, int y, boolean editable) Draws syntax-highlighted text at the specified position. Simply draws the text without any syntax highlighting.- Specified by:
drawHighlightedTextin interfaceHighLighter- Parameters:
context- the draw context used for renderingtextRenderer- the text renderer for measuring and drawing texttext- the text to be highlighted and drawnx- the x-coordinate of the starting positiony- the y-coordinate of the starting positioneditable- whether the text is in an editable context, which may affect color scheme
-
getTextWidth
Calculates the total width of the syntax-highlighted text. Returns the raw width of the text.- Specified by:
getTextWidthin interfaceHighLighter- Parameters:
textRenderer- the text renderer for measuring text widthtext- the text to be measured- Returns:
- the total width in pixels of the highlighted text
-
getCharIndexFromTokens
public int getCharIndexFromTokens(net.minecraft.client.font.TextRenderer textRenderer, String line, int targetX) Finds the character index in the text that corresponds to the given x-coordinate. Finds the character index by measuring width character by character.- Specified by:
getCharIndexFromTokensin interfaceHighLighter- Parameters:
textRenderer- the text renderer for measuring text widthline- the text line to search intargetX- the target x-coordinate in pixels- Returns:
- the character index at or before the target x-coordinate
-
getTextWidthUpToChar
public int getTextWidthUpToChar(net.minecraft.client.font.TextRenderer textRenderer, String line, int charIndex) Calculates the text width from the beginning of the line up to the specified character index. Calculates the text width from the beginning of the line to the specified character index.- Specified by:
getTextWidthUpToCharin interfaceHighLighter- Parameters:
textRenderer- the text renderer for measuring text widthline- the text line to measurecharIndex- the character index to measure up to (exclusive)- Returns:
- the width in pixels of the text from start to the specified character index
-