Input : VisualElement
This is the input class. It provides a text input field that can handle user input with various features like cursor movement, text manipulation, placeholder text, and input validation.
Properties
Property | Type | Default | Description |
---|---|---|---|
text | string | - | The current text content of the input |
cursorPos | number | 1 | The current cursor position in the text |
viewOffset | number | 0 | The horizontal scroll offset for viewing long text |
maxLength | number? | nil | Maximum length of input text (optional) |
placeholder | string | ... | Text to display when input is empty |
placeholderColor | color | gray | Color of the placeholder text |
focusedBackground | color | blue | Background color when input is focused |
focusedForeground | color | white | Foreground color when input is focused |
pattern | string? | nil | Regular expression pattern for input validation |
cursorColor | number | nil | Color of the cursor |
replaceChar | string | nil | Character to replace the input with (for password fields) |
Functions
Method | Returns | Description |
---|---|---|
Input:setCursor | - | Sets the cursor position and color |
Input:updateViewport | Input | Updates the input's viewport |
Protected Functions
Method | Returns | Description |
---|---|---|
Input:blur | - | Handles a blur event |
Input:char | boolean | Handles char events |
Input:focus | - | Handles a focus event |
Input:init | Input | Initializes the Input instance |
Input:key | boolean | Handles key events |
Input:mouse_click | boolean | Handles mouse click events |
Input:render | - | Renders the input element |
Input:setCursor(x, y, blink, color)
Sets the cursor position and color
Parameters
x
number
The x position of the cursory
number
The y position of the cursorblink
boolean
Whether the cursor should blinkcolor
number
The color of the cursor
Input:updateViewport()
Updates the input's viewport
Returns
Input
self
The updated instance