diff --git a/config.lua b/config.lua index 3d56541..71454f6 100644 --- a/config.lua +++ b/config.lua @@ -1,385 +1,385 @@ return { + ["metadata"] = { + ["version"] = "2.0", + ["generated"] = "Tue Mar 4 13:27:04 2025", + }, ["categories"] = { - ["elements"] = { - ["description"] = "UI Elements", - ["files"] = { - ["Program"] = { - ["default"] = true, - ["size"] = 6295, - ["description"] = "", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/Program.lua", - }, - ["List"] = { - ["default"] = true, - ["size"] = 8645, - ["description"] = "A scrollable list of selectable items", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/List.lua", - }, - ["Image"] = { - ["default"] = false, - ["size"] = 13312, - ["description"] = "An element that displays an image in bimg format", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/Image.lua", - }, - ["Checkbox"] = { - ["default"] = true, - ["size"] = 2872, - ["description"] = "", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/Checkbox.lua", - }, - ["LineChart"] = { - ["default"] = false, - ["size"] = 2707, - ["description"] = "", - ["requires"] = { - }, - ["path"] = "elements/LineChart.lua", - }, - ["BaseFrame"] = { - ["default"] = true, - ["size"] = 5868, - ["description"] = "This is the base frame class. It is the root element of all elements and the only element without a parent.", - ["requires"] = { - [1] = "Container", - }, - ["path"] = "elements/BaseFrame.lua", - }, - ["Tree"] = { - ["default"] = true, - ["size"] = 7885, - ["description"] = "", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/Tree.lua", - }, - ["Table"] = { - ["default"] = true, - ["size"] = 7586, - ["description"] = "", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/Table.lua", - }, - ["Container"] = { - ["default"] = true, - ["size"] = 23180, - ["description"] = "The container class. It is a visual element that can contain other elements. It is the base class for all containers", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/Container.lua", - }, - ["BigFont"] = { - ["default"] = false, - ["size"] = 20332, - ["description"] = "", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/BigFont.lua", - }, - ["Menu"] = { - ["default"] = true, - ["size"] = 4657, - ["description"] = "A horizontal menu bar with selectable items.", - ["requires"] = { - [1] = "List", - }, - ["path"] = "elements/Menu.lua", - }, - ["Label"] = { - ["default"] = true, - ["size"] = 3069, - ["description"] = "A simple text display element that automatically resizes its width based on the text content.", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/Label.lua", - }, - ["Slider"] = { - ["default"] = true, - ["size"] = 4676, - ["description"] = "", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/Slider.lua", - }, - ["ProgressBar"] = { - ["default"] = true, - ["size"] = 2272, - ["description"] = "", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/ProgressBar.lua", - }, - ["BarChart"] = { - ["default"] = false, - ["size"] = 2634, - ["description"] = "", - ["requires"] = { - }, - ["path"] = "elements/BarChart.lua", - }, - ["Frame"] = { - ["default"] = true, - ["size"] = 4435, - ["description"] = "A frame element that serves as a grouping container for other elements.", - ["requires"] = { - [1] = "Container", - }, - ["path"] = "elements/Frame.lua", - }, - ["Flexbox"] = { - ["default"] = true, - ["size"] = 11530, - ["description"] = "A flexbox container that arranges its children in a flexible layout.", - ["requires"] = { - [1] = "Container", - }, - ["path"] = "elements/Flexbox.lua", - }, - ["BaseElement"] = { - ["default"] = true, - ["size"] = 8911, - ["description"] = "The base class for all UI elements in Basalt.", - ["requires"] = { - }, - ["path"] = "elements/BaseElement.lua", - }, - ["Button"] = { - ["default"] = true, - ["size"] = 1632, - ["description"] = "", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/Button.lua", - }, - ["Input"] = { - ["default"] = true, - ["size"] = 7997, - ["description"] = "A text input field with various features", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/Input.lua", - }, - ["Graph"] = { - ["default"] = false, - ["size"] = 5940, - ["description"] = "A point based graph element", - ["requires"] = { - }, - ["path"] = "elements/Graph.lua", - }, - ["Scrollbar"] = { - ["default"] = true, - ["size"] = 9164, - ["description"] = "", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/Scrollbar.lua", - }, - ["TextBox"] = { - ["default"] = false, - ["size"] = 10904, - ["description"] = "A multi-line text editor component with cursor support and text manipulation features", - ["requires"] = { - [1] = "VisualElement", - }, - ["path"] = "elements/TextBox.lua", - }, - ["Dropdown"] = { - ["default"] = false, - ["size"] = 5845, - ["description"] = "A dropdown menu that shows a list of selectable items", - ["requires"] = { - [1] = "List", - }, - ["path"] = "elements/Dropdown.lua", - }, - ["VisualElement"] = { - ["default"] = true, - ["size"] = 17105, - ["description"] = "The Visual Element class which is the base class for all visual UI elements", - ["requires"] = { - [1] = "BaseElement", - }, - ["path"] = "elements/VisualElement.lua", - }, - }, - }, ["libraries"] = { - ["description"] = "Libraries", ["files"] = { ["utils"] = { ["default"] = true, - ["size"] = 2661, - ["description"] = "", - ["requires"] = { - }, ["path"] = "libraries/utils.lua", - }, - ["colorHex"] = { - ["default"] = true, - ["size"] = 132, ["description"] = "", + ["size"] = 2661, ["requires"] = { }, - ["path"] = "libraries/colorHex.lua", }, ["expect"] = { ["default"] = true, - ["size"] = 846, + ["path"] = "libraries/expect.lua", ["description"] = "", + ["size"] = 846, + ["requires"] = { + }, + }, + ["colorHex"] = { + ["default"] = true, + ["path"] = "libraries/colorHex.lua", + ["description"] = "", + ["size"] = 132, ["requires"] = { }, - ["path"] = "libraries/expect.lua", }, }, + ["description"] = "Libraries", + }, + ["elements"] = { + ["files"] = { + ["Input"] = { + ["default"] = true, + ["path"] = "elements/Input.lua", + ["description"] = "A text input field with various features", + ["size"] = 7997, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["Slider"] = { + ["default"] = true, + ["path"] = "elements/Slider.lua", + ["description"] = "", + ["size"] = 4676, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["Scrollbar"] = { + ["default"] = true, + ["path"] = "elements/Scrollbar.lua", + ["description"] = "", + ["size"] = 9164, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["List"] = { + ["default"] = true, + ["path"] = "elements/List.lua", + ["description"] = "A scrollable list of selectable items", + ["size"] = 8645, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["Tree"] = { + ["default"] = true, + ["path"] = "elements/Tree.lua", + ["description"] = "", + ["size"] = 7885, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["Checkbox"] = { + ["default"] = true, + ["path"] = "elements/Checkbox.lua", + ["description"] = "", + ["size"] = 2872, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["BaseFrame"] = { + ["default"] = true, + ["path"] = "elements/BaseFrame.lua", + ["description"] = "This is the base frame class. It is the root element of all elements and the only element without a parent.", + ["size"] = 5868, + ["requires"] = { + [1] = "Container", + }, + }, + ["Graph"] = { + ["default"] = false, + ["path"] = "elements/Graph.lua", + ["description"] = "A point based graph element", + ["size"] = 5940, + ["requires"] = { + }, + }, + ["Table"] = { + ["default"] = true, + ["path"] = "elements/Table.lua", + ["description"] = "", + ["size"] = 7586, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["TextBox"] = { + ["default"] = false, + ["path"] = "elements/TextBox.lua", + ["description"] = "A multi-line text editor component with cursor support and text manipulation features", + ["size"] = 10904, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["BarChart"] = { + ["default"] = false, + ["path"] = "elements/BarChart.lua", + ["description"] = "", + ["size"] = 2634, + ["requires"] = { + }, + }, + ["Program"] = { + ["default"] = true, + ["path"] = "elements/Program.lua", + ["description"] = "", + ["size"] = 6295, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["BaseElement"] = { + ["default"] = true, + ["path"] = "elements/BaseElement.lua", + ["description"] = "The base class for all UI elements in Basalt.", + ["size"] = 8911, + ["requires"] = { + }, + }, + ["Button"] = { + ["default"] = true, + ["path"] = "elements/Button.lua", + ["description"] = "", + ["size"] = 1632, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["Dropdown"] = { + ["default"] = false, + ["path"] = "elements/Dropdown.lua", + ["description"] = "A dropdown menu that shows a list of selectable items", + ["size"] = 5845, + ["requires"] = { + [1] = "List", + }, + }, + ["Label"] = { + ["default"] = true, + ["path"] = "elements/Label.lua", + ["description"] = "A simple text display element that automatically resizes its width based on the text content.", + ["size"] = 3069, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["LineChart"] = { + ["default"] = false, + ["path"] = "elements/LineChart.lua", + ["description"] = "", + ["size"] = 2707, + ["requires"] = { + }, + }, + ["Image"] = { + ["default"] = false, + ["path"] = "elements/Image.lua", + ["description"] = "An element that displays an image in bimg format", + ["size"] = 13312, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["Container"] = { + ["default"] = true, + ["path"] = "elements/Container.lua", + ["description"] = "The container class. It is a visual element that can contain other elements. It is the base class for all containers", + ["size"] = 23180, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["Frame"] = { + ["default"] = true, + ["path"] = "elements/Frame.lua", + ["description"] = "A frame element that serves as a grouping container for other elements.", + ["size"] = 4435, + ["requires"] = { + [1] = "Container", + }, + }, + ["VisualElement"] = { + ["default"] = true, + ["path"] = "elements/VisualElement.lua", + ["description"] = "The Visual Element class which is the base class for all visual UI elements", + ["size"] = 17105, + ["requires"] = { + [1] = "BaseElement", + }, + }, + ["ProgressBar"] = { + ["default"] = true, + ["path"] = "elements/ProgressBar.lua", + ["description"] = "", + ["size"] = 2272, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["BigFont"] = { + ["default"] = false, + ["path"] = "elements/BigFont.lua", + ["description"] = "", + ["size"] = 20332, + ["requires"] = { + [1] = "VisualElement", + }, + }, + ["Menu"] = { + ["default"] = true, + ["path"] = "elements/Menu.lua", + ["description"] = "A horizontal menu bar with selectable items.", + ["size"] = 4657, + ["requires"] = { + [1] = "List", + }, + }, + ["Flexbox"] = { + ["default"] = true, + ["path"] = "elements/Flexbox.lua", + ["description"] = "A flexbox container that arranges its children in a flexible layout.", + ["size"] = 11530, + ["requires"] = { + [1] = "Container", + }, + }, + }, + ["description"] = "UI Elements", }, ["plugins"] = { - ["description"] = "Plugins", ["files"] = { - ["reactive"] = { - ["default"] = true, - ["size"] = 6962, - ["description"] = "", - ["requires"] = { - }, - ["path"] = "plugins/reactive.lua", - }, - ["debug"] = { - ["default"] = true, - ["size"] = 6175, - ["description"] = "", - ["requires"] = { - }, - ["path"] = "plugins/debug.lua", - }, - ["animation"] = { - ["default"] = true, - ["size"] = 14116, - ["description"] = "", - ["requires"] = { - }, - ["path"] = "plugins/animation.lua", - }, ["theme"] = { ["default"] = true, - ["size"] = 5885, - ["description"] = "", - ["requires"] = { - }, ["path"] = "plugins/theme.lua", - }, - ["xml"] = { - ["default"] = true, - ["size"] = 17568, ["description"] = "", + ["size"] = 5885, ["requires"] = { }, - ["path"] = "plugins/xml.lua", - }, - ["state"] = { - ["default"] = true, - ["size"] = 5867, - ["description"] = "", - ["requires"] = { - }, - ["path"] = "plugins/state.lua", }, ["benchmark"] = { ["default"] = true, - ["size"] = 12515, + ["path"] = "plugins/benchmark.lua", ["description"] = "", + ["size"] = 12515, + ["requires"] = { + }, + }, + ["animation"] = { + ["default"] = true, + ["path"] = "plugins/animation.lua", + ["description"] = "", + ["size"] = 14116, + ["requires"] = { + }, + }, + ["reactive"] = { + ["default"] = true, + ["path"] = "plugins/reactive.lua", + ["description"] = "", + ["size"] = 6962, + ["requires"] = { + }, + }, + ["debug"] = { + ["default"] = true, + ["path"] = "plugins/debug.lua", + ["description"] = "", + ["size"] = 6175, + ["requires"] = { + }, + }, + ["xml"] = { + ["default"] = true, + ["path"] = "plugins/xml.lua", + ["description"] = "", + ["size"] = 17568, + ["requires"] = { + }, + }, + ["state"] = { + ["default"] = true, + ["path"] = "plugins/state.lua", + ["description"] = "", + ["size"] = 5867, ["requires"] = { }, - ["path"] = "plugins/benchmark.lua", }, }, + ["description"] = "Plugins", }, ["core"] = { - ["description"] = "Core Files", ["files"] = { + ["propertySystem"] = { + ["default"] = true, + ["path"] = "propertySystem.lua", + ["description"] = "", + ["size"] = 15225, + ["requires"] = { + }, + }, ["elementManager"] = { ["default"] = true, - ["size"] = 6297, - ["description"] = "", - ["requires"] = { - }, ["path"] = "elementManager.lua", - }, - ["init"] = { - ["default"] = true, - ["size"] = 519, ["description"] = "", + ["size"] = 6297, ["requires"] = { }, - ["path"] = "init.lua", - }, - ["errorManager"] = { - ["default"] = true, - ["size"] = 3789, - ["description"] = "", - ["requires"] = { - }, - ["path"] = "errorManager.lua", - }, - ["log"] = { - ["default"] = true, - ["size"] = 3142, - ["description"] = "", - ["requires"] = { - }, - ["path"] = "log.lua", }, ["render"] = { ["default"] = true, - ["size"] = 10935, + ["path"] = "render.lua", ["description"] = "", + ["size"] = 11100, ["requires"] = { }, - ["path"] = "render.lua", }, ["main"] = { ["default"] = true, - ["size"] = 8158, - ["description"] = "", - ["requires"] = { - }, ["path"] = "main.lua", - }, - ["propertySystem"] = { - ["default"] = true, - ["size"] = 15225, ["description"] = "", + ["size"] = 8188, + ["requires"] = { + }, + }, + ["log"] = { + ["default"] = true, + ["path"] = "log.lua", + ["description"] = "", + ["size"] = 3142, + ["requires"] = { + }, + }, + ["init"] = { + ["default"] = true, + ["path"] = "init.lua", + ["description"] = "", + ["size"] = 519, + ["requires"] = { + }, + }, + ["errorManager"] = { + ["default"] = true, + ["path"] = "errorManager.lua", + ["description"] = "", + ["size"] = 3789, ["requires"] = { }, - ["path"] = "propertySystem.lua", }, }, + ["description"] = "Core Files", }, }, - ["metadata"] = { - ["generated"] = "Tue Mar 4 09:38:15 2025", - ["version"] = "2.0", - }, } \ No newline at end of file diff --git a/release/basalt.lua b/release/basalt.lua index 432e741..20ce15d 100644 --- a/release/basalt.lua +++ b/release/basalt.lua @@ -261,7 +261,7 @@ _b.y+_b.height<=da.y)end function ba:mergeRects(da,_b)local ab=math.min(da.x,_b.x) local bb=math.min(da.y,_b.y) local cb=math.max(da.x+da.width,_b.x+_b.width) -local db=math.max(da.y+da.height,_b.y+_b.height)da.x=ab;da.y=bb;da.width=cb-ab;da.height=db-bb end +local db=math.max(da.y+da.height,_b.y+_b.height)da.x=ab;da.y=bb;da.width=cb-ab;da.height=db-bb;return self end function ba:setCursor(da,_b,ab,bb) if bb~=nil then self.terminal.setTextColor(bb)end;self.terminal.setCursorPos(da,_b) self.terminal.setCursorBlink(ab)self.xCursor=da;self.yCursor=_b;self.blink=ab;self.cursorColor=bb diff --git a/src/LuaLS.lua b/src/LuaLS.lua index 047989a..6422887 100644 --- a/src/LuaLS.lua +++ b/src/LuaLS.lua @@ -359,6 +359,23 @@ function Container:setOffsetY(offsetY) return self end +--- Gets the Combined property for offsetX and offsetY +---@generic Element: Container +---@param self Element +---@return nil +function Container:getOffset() + return self.offset +end + +--- Sets the Combined property for offsetX and offsetY +---@generic Element: Container +---@param self Element +---@param offset nil +---@return Element +function Container:setOffset(offset) + self.offset = offset + return self +end --- Adds a new BigFontText to the container ---@generic Element: Container ---@param self Element @@ -367,6 +384,14 @@ function Container:addBigFontText() return self end +--- Adds a new delayed BigFontText to the container +---@generic Element: Container +---@param self Element +---@return BigFontText +function Container:addDelayedBigFontText() + return self +end + --- Adds a new Button to the container ---@generic Element: Container ---@param self Element @@ -375,6 +400,14 @@ function Container:addButton() return self end +--- Adds a new delayed Button to the container +---@generic Element: Container +---@param self Element +---@return Button +function Container:addDelayedButton() + return self +end + --- Adds a new Checkbox to the container ---@generic Element: Container ---@param self Element @@ -383,6 +416,14 @@ function Container:addCheckbox() return self end +--- Adds a new delayed Checkbox to the container +---@generic Element: Container +---@param self Element +---@return Checkbox +function Container:addDelayedCheckbox() + return self +end + --- Adds a new Container to the container ---@generic Element: Container ---@param self Element @@ -391,6 +432,14 @@ function Container:addContainer() return self end +--- Adds a new delayed Container to the container +---@generic Element: Container +---@param self Element +---@return Container +function Container:addDelayedContainer() + return self +end + --- Adds a new Dropdown to the container ---@generic Element: Container ---@param self Element @@ -399,6 +448,14 @@ function Container:addDropdown() return self end +--- Adds a new delayed Dropdown to the container +---@generic Element: Container +---@param self Element +---@return Dropdown +function Container:addDelayedDropdown() + return self +end + --- Adds a new Flexbox to the container ---@generic Element: Container ---@param self Element @@ -407,6 +464,14 @@ function Container:addFlexbox() return self end +--- Adds a new delayed Flexbox to the container +---@generic Element: Container +---@param self Element +---@return Flexbox +function Container:addDelayedFlexbox() + return self +end + --- Adds a new Frame to the container ---@generic Element: Container ---@param self Element @@ -415,6 +480,14 @@ function Container:addFrame() return self end +--- Adds a new delayed Frame to the container +---@generic Element: Container +---@param self Element +---@return Frame +function Container:addDelayedFrame() + return self +end + --- Adds a new Image to the container ---@generic Element: Container ---@param self Element @@ -423,6 +496,14 @@ function Container:addImage() return self end +--- Adds a new delayed Image to the container +---@generic Element: Container +---@param self Element +---@return Image +function Container:addDelayedImage() + return self +end + --- Adds a new Input to the container ---@generic Element: Container ---@param self Element @@ -431,6 +512,14 @@ function Container:addInput() return self end +--- Adds a new delayed Input to the container +---@generic Element: Container +---@param self Element +---@return Input +function Container:addDelayedInput() + return self +end + --- Adds a new Label to the container ---@generic Element: Container ---@param self Element @@ -439,6 +528,14 @@ function Container:addLabel() return self end +--- Adds a new delayed Label to the container +---@generic Element: Container +---@param self Element +---@return Label +function Container:addDelayedLabel() + return self +end + --- Adds a new List to the container ---@generic Element: Container ---@param self Element @@ -447,6 +544,14 @@ function Container:addList() return self end +--- Adds a new delayed List to the container +---@generic Element: Container +---@param self Element +---@return List +function Container:addDelayedList() + return self +end + --- Adds a new Menu to the container ---@generic Element: Container ---@param self Element @@ -455,6 +560,14 @@ function Container:addMenu() return self end +--- Adds a new delayed Menu to the container +---@generic Element: Container +---@param self Element +---@return Menu +function Container:addDelayedMenu() + return self +end + --- Adds a new Program to the container ---@generic Element: Container ---@param self Element @@ -463,6 +576,14 @@ function Container:addProgram() return self end +--- Adds a new delayed Program to the container +---@generic Element: Container +---@param self Element +---@return Program +function Container:addDelayedProgram() + return self +end + --- Adds a new ProgressBar to the container ---@generic Element: Container ---@param self Element @@ -471,6 +592,14 @@ function Container:addProgressBar() return self end +--- Adds a new delayed ProgressBar to the container +---@generic Element: Container +---@param self Element +---@return ProgressBar +function Container:addDelayedProgressBar() + return self +end + --- Adds a new Scrollbar to the container ---@generic Element: Container ---@param self Element @@ -479,6 +608,14 @@ function Container:addScrollbar() return self end +--- Adds a new delayed Scrollbar to the container +---@generic Element: Container +---@param self Element +---@return Scrollbar +function Container:addDelayedScrollbar() + return self +end + --- Adds a new Slider to the container ---@generic Element: Container ---@param self Element @@ -487,6 +624,14 @@ function Container:addSlider() return self end +--- Adds a new delayed Slider to the container +---@generic Element: Container +---@param self Element +---@return Slider +function Container:addDelayedSlider() + return self +end + --- Adds a new Table to the container ---@generic Element: Container ---@param self Element @@ -495,6 +640,14 @@ function Container:addTable() return self end +--- Adds a new delayed Table to the container +---@generic Element: Container +---@param self Element +---@return Table +function Container:addDelayedTable() + return self +end + --- Adds a new TextBox to the container ---@generic Element: Container ---@param self Element @@ -503,6 +656,14 @@ function Container:addTextBox() return self end +--- Adds a new delayed TextBox to the container +---@generic Element: Container +---@param self Element +---@return TextBox +function Container:addDelayedTextBox() + return self +end + --- Adds a new Tree to the container ---@generic Element: Container ---@param self Element @@ -511,6 +672,14 @@ function Container:addTree() return self end +--- Adds a new delayed Tree to the container +---@generic Element: Container +---@param self Element +---@return Tree +function Container:addDelayedTree() + return self +end + --- Adds a new VisualElement to the container ---@generic Element: Container ---@param self Element @@ -519,6 +688,14 @@ function Container:addVisualElement() return self end +--- Adds a new delayed VisualElement to the container +---@generic Element: Container +---@param self Element +---@return VisualElement +function Container:addDelayedVisualElement() + return self +end + ---@class Dropdown ---@field isOpen boolean @@ -839,6 +1016,23 @@ function Image:setOffsetY(offsetY) return self end +--- Gets the Combined property for offsetX and offsetY +---@generic Element: Image +---@param self Element +---@return nil +function Image:getOffset() + return self.offset +end + +--- Sets the Combined property for offsetX and offsetY +---@generic Element: Image +---@param self Element +---@param offset nil +---@return Element +function Image:setOffset(offset) + self.offset = offset + return self +end ---@class Input ---@field text string @@ -2231,6 +2425,57 @@ function VisualElement:setIgnoreOffset(ignoreOffset) return self end +--- Gets the Combined x, y position +---@generic Element: VisualElement +---@param self Element +---@return nil +function VisualElement:getPosition() + return self.position +end + +--- Sets the Combined x, y position +---@generic Element: VisualElement +---@param self Element +---@param position nil +---@return Element +function VisualElement:setPosition(position) + self.position = position + return self +end +--- Gets the Combined width, height +---@generic Element: VisualElement +---@param self Element +---@return nil +function VisualElement:getSize() + return self.size +end + +--- Sets the Combined width, height +---@generic Element: VisualElement +---@param self Element +---@param size nil +---@return Element +function VisualElement:setSize(size) + self.size = size + return self +end +--- Gets the Combined foreground, background colors +---@generic Element: VisualElement +---@param self Element +---@return nil +function VisualElement:getColor() + return self.color +end + +--- Sets the Combined foreground, background colors +---@generic Element: VisualElement +---@param self Element +---@param color nil +---@return Element +function VisualElement:setColor(color) + self.color = color + return self +end --- {button, x, y} Fired on mouse click ---@generic Element: VisualElement ---@param self Element