diff --git a/config.lua b/config.lua index da5089e..e38c1fa 100644 --- a/config.lua +++ b/config.lua @@ -1,361 +1,361 @@ return { - ["metadata"] = { - ["generated"] = "Wed Feb 26 16:35:38 2025", - ["version"] = "2.0", - }, ["categories"] = { - ["plugins"] = { - ["description"] = "Plugins", - ["files"] = { - ["theme"] = { - ["description"] = "", - ["size"] = 5885, - ["path"] = "plugins/theme.lua", - ["default"] = true, - ["requires"] = { - }, - }, - ["state"] = { - ["description"] = "", - ["size"] = 5867, - ["path"] = "plugins/state.lua", - ["default"] = true, - ["requires"] = { - }, - }, - ["xml"] = { - ["description"] = "", - ["size"] = 6389, - ["path"] = "plugins/xml.lua", - ["default"] = true, - ["requires"] = { - }, - }, - ["reactive"] = { - ["description"] = "", - ["size"] = 6962, - ["path"] = "plugins/reactive.lua", - ["default"] = true, - ["requires"] = { - }, - }, - ["debug"] = { - ["description"] = "", - ["size"] = 6175, - ["path"] = "plugins/debug.lua", - ["default"] = true, - ["requires"] = { - }, - }, - ["animation"] = { - ["description"] = "", - ["size"] = 14116, - ["path"] = "plugins/animation.lua", - ["default"] = true, - ["requires"] = { - }, - }, - ["benchmark"] = { - ["description"] = "", - ["size"] = 12515, - ["path"] = "plugins/benchmark.lua", - ["default"] = true, - ["requires"] = { - }, - }, - }, - }, ["libraries"] = { - ["description"] = "Libraries", ["files"] = { ["utils"] = { ["description"] = "", - ["size"] = 2661, - ["path"] = "libraries/utils.lua", ["default"] = true, + ["path"] = "libraries/utils.lua", ["requires"] = { }, + ["size"] = 2661, }, ["colorHex"] = { ["description"] = "", - ["size"] = 132, - ["path"] = "libraries/colorHex.lua", ["default"] = true, + ["path"] = "libraries/colorHex.lua", ["requires"] = { }, + ["size"] = 132, }, ["expect"] = { ["description"] = "", - ["size"] = 880, + ["default"] = true, ["path"] = "libraries/expect.lua", - ["default"] = true, ["requires"] = { }, + ["size"] = 880, }, }, + ["description"] = "Libraries", }, - ["elements"] = { - ["description"] = "UI Elements", + ["plugins"] = { ["files"] = { - ["Tree"] = { + ["animation"] = { ["description"] = "", - ["size"] = 7887, - ["path"] = "elements/Tree.lua", ["default"] = true, + ["path"] = "plugins/animation.lua", ["requires"] = { - [1] = "VisualElement", }, + ["size"] = 14116, }, - ["Image"] = { - ["description"] = "An element that displays an image in bimg format", - ["size"] = 11767, - ["path"] = "elements/Image.lua", - ["default"] = false, - ["requires"] = { - [1] = "VisualElement", - }, - }, - ["Input"] = { - ["description"] = "A text input field with various features", - ["size"] = 7219, - ["path"] = "elements/Input.lua", - ["default"] = true, - ["requires"] = { - [1] = "VisualElement", - }, - }, - ["Slider"] = { + ["xml"] = { ["description"] = "", - ["size"] = 4678, - ["path"] = "elements/Slider.lua", ["default"] = true, + ["path"] = "plugins/xml.lua", ["requires"] = { - [1] = "VisualElement", }, + ["size"] = 6389, }, - ["Label"] = { - ["description"] = "A simple text display element that automatically resizes its width based on the text content.", - ["size"] = 2948, - ["path"] = "elements/Label.lua", - ["default"] = true, - ["requires"] = { - [1] = "VisualElement", - }, - }, - ["Container"] = { - ["description"] = "The container class. It is a visual element that can contain other elements. It is the base class for all containers", - ["size"] = 22866, - ["path"] = "elements/Container.lua", - ["default"] = true, - ["requires"] = { - [1] = "VisualElement", - }, - }, - ["Table"] = { + ["reactive"] = { ["description"] = "", - ["size"] = 7589, - ["path"] = "elements/Table.lua", - ["default"] = true, - ["requires"] = { - [1] = "VisualElement", - }, - }, - ["BaseFrame"] = { - ["description"] = "This is the base frame class. It is the root element of all elements and the only element without a parent.", - ["size"] = 5868, - ["path"] = "elements/BaseFrame.lua", - ["default"] = true, - ["requires"] = { - [1] = "Container", - }, - }, - ["List"] = { - ["description"] = "A scrollable list of selectable items", - ["size"] = 8302, - ["path"] = "elements/List.lua", - ["default"] = true, - ["requires"] = { - [1] = "VisualElement", - }, - }, - ["BaseElement"] = { - ["description"] = "The base class for all UI elements in Basalt.", - ["size"] = 8911, - ["path"] = "elements/BaseElement.lua", ["default"] = true, + ["path"] = "plugins/reactive.lua", ["requires"] = { }, + ["size"] = 6962, }, - ["BigFont"] = { + ["state"] = { ["description"] = "", - ["size"] = 20332, - ["path"] = "elements/BigFont.lua", - ["default"] = false, + ["default"] = true, + ["path"] = "plugins/state.lua", ["requires"] = { - [1] = "VisualElement", }, + ["size"] = 5867, }, - ["TextBox"] = { - ["description"] = "A multi-line text editor component with cursor support and text manipulation features", - ["size"] = 10905, - ["path"] = "elements/TextBox.lua", - ["default"] = false, - ["requires"] = { - [1] = "VisualElement", - }, - }, - ["Button"] = { + ["benchmark"] = { ["description"] = "", - ["size"] = 1632, - ["path"] = "elements/Button.lua", ["default"] = true, + ["path"] = "plugins/benchmark.lua", ["requires"] = { - [1] = "VisualElement", }, + ["size"] = 12515, }, - ["Program"] = { + ["theme"] = { ["description"] = "", - ["size"] = 6295, - ["path"] = "elements/Program.lua", ["default"] = true, + ["path"] = "plugins/theme.lua", ["requires"] = { - [1] = "VisualElement", }, + ["size"] = 5885, }, - ["Dropdown"] = { - ["description"] = "A dropdown menu that shows a list of selectable items", - ["size"] = 5896, - ["path"] = "elements/Dropdown.lua", - ["default"] = false, - ["requires"] = { - [1] = "List", - }, - }, - ["Scrollbar"] = { + ["debug"] = { ["description"] = "", - ["size"] = 9166, - ["path"] = "elements/Scrollbar.lua", ["default"] = true, + ["path"] = "plugins/debug.lua", ["requires"] = { - [1] = "VisualElement", - }, - }, - ["VisualElement"] = { - ["description"] = "The Visual Element class which is the base class for all visual UI elements", - ["size"] = 16878, - ["path"] = "elements/VisualElement.lua", - ["default"] = true, - ["requires"] = { - [1] = "BaseElement", - }, - }, - ["Flexbox"] = { - ["description"] = "A flexbox container that arranges its children in a flexible layout.", - ["size"] = 11530, - ["path"] = "elements/Flexbox.lua", - ["default"] = true, - ["requires"] = { - [1] = "Container", - }, - }, - ["ProgressBar"] = { - ["description"] = "", - ["size"] = 2273, - ["path"] = "elements/ProgressBar.lua", - ["default"] = true, - ["requires"] = { - [1] = "VisualElement", - }, - }, - ["Menu"] = { - ["description"] = "A horizontal menu bar with selectable items.", - ["size"] = 4658, - ["path"] = "elements/Menu.lua", - ["default"] = true, - ["requires"] = { - [1] = "List", - }, - }, - ["Frame"] = { - ["description"] = "A frame element that serves as a grouping container for other elements.", - ["size"] = 4291, - ["path"] = "elements/Frame.lua", - ["default"] = true, - ["requires"] = { - [1] = "Container", - }, - }, - ["Checkbox"] = { - ["description"] = "", - ["size"] = 2872, - ["path"] = "elements/Checkbox.lua", - ["default"] = true, - ["requires"] = { - [1] = "VisualElement", }, + ["size"] = 6175, }, }, + ["description"] = "Plugins", }, ["core"] = { - ["description"] = "Core Files", ["files"] = { - ["propertySystem"] = { - ["description"] = "", - ["size"] = 15225, - ["path"] = "propertySystem.lua", - ["default"] = true, - ["requires"] = { - }, - }, - ["elementManager"] = { - ["description"] = "", - ["size"] = 6297, - ["path"] = "elementManager.lua", - ["default"] = true, - ["requires"] = { - }, - }, - ["log"] = { - ["description"] = "", - ["size"] = 3142, - ["path"] = "log.lua", - ["default"] = true, - ["requires"] = { - }, - }, - ["main"] = { - ["description"] = "", - ["size"] = 7905, - ["path"] = "main.lua", - ["default"] = true, - ["requires"] = { - }, - }, ["init"] = { ["description"] = "", - ["size"] = 519, + ["default"] = true, ["path"] = "init.lua", - ["default"] = true, - ["requires"] = { - }, - }, - ["render"] = { - ["description"] = "", - ["size"] = 10935, - ["path"] = "render.lua", - ["default"] = true, ["requires"] = { }, + ["size"] = 519, }, ["errorManager"] = { ["description"] = "", - ["size"] = 3789, - ["path"] = "errorManager.lua", ["default"] = true, + ["path"] = "errorManager.lua", ["requires"] = { }, + ["size"] = 3789, + }, + ["log"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "log.lua", + ["requires"] = { + }, + ["size"] = 3142, + }, + ["main"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "main.lua", + ["requires"] = { + }, + ["size"] = 7905, + }, + ["elementManager"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "elementManager.lua", + ["requires"] = { + }, + ["size"] = 6297, + }, + ["propertySystem"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "propertySystem.lua", + ["requires"] = { + }, + ["size"] = 15225, + }, + ["render"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "render.lua", + ["requires"] = { + }, + ["size"] = 10935, }, }, + ["description"] = "Core Files", + }, + ["elements"] = { + ["files"] = { + ["Image"] = { + ["description"] = "An element that displays an image in bimg format", + ["default"] = false, + ["path"] = "elements/Image.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 11767, + }, + ["BaseFrame"] = { + ["description"] = "This is the base frame class. It is the root element of all elements and the only element without a parent.", + ["default"] = true, + ["path"] = "elements/BaseFrame.lua", + ["requires"] = { + [1] = "Container", + }, + ["size"] = 5868, + }, + ["TextBox"] = { + ["description"] = "A multi-line text editor component with cursor support and text manipulation features", + ["default"] = false, + ["path"] = "elements/TextBox.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 10905, + }, + ["Checkbox"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "elements/Checkbox.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 2872, + }, + ["BigFont"] = { + ["description"] = "", + ["default"] = false, + ["path"] = "elements/BigFont.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 20332, + }, + ["Tree"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "elements/Tree.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 7887, + }, + ["List"] = { + ["description"] = "A scrollable list of selectable items", + ["default"] = true, + ["path"] = "elements/List.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 8302, + }, + ["Program"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "elements/Program.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 6295, + }, + ["Dropdown"] = { + ["description"] = "A dropdown menu that shows a list of selectable items", + ["default"] = false, + ["path"] = "elements/Dropdown.lua", + ["requires"] = { + [1] = "List", + }, + ["size"] = 5896, + }, + ["BaseElement"] = { + ["description"] = "The base class for all UI elements in Basalt.", + ["default"] = true, + ["path"] = "elements/BaseElement.lua", + ["requires"] = { + }, + ["size"] = 8911, + }, + ["Table"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "elements/Table.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 7589, + }, + ["Container"] = { + ["description"] = "The container class. It is a visual element that can contain other elements. It is the base class for all containers", + ["default"] = true, + ["path"] = "elements/Container.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 22866, + }, + ["ProgressBar"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "elements/ProgressBar.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 2273, + }, + ["Button"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "elements/Button.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 1632, + }, + ["Input"] = { + ["description"] = "A text input field with various features", + ["default"] = true, + ["path"] = "elements/Input.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 7219, + }, + ["Label"] = { + ["description"] = "A simple text display element that automatically resizes its width based on the text content.", + ["default"] = true, + ["path"] = "elements/Label.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 2948, + }, + ["Scrollbar"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "elements/Scrollbar.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 9166, + }, + ["Menu"] = { + ["description"] = "A horizontal menu bar with selectable items.", + ["default"] = true, + ["path"] = "elements/Menu.lua", + ["requires"] = { + [1] = "List", + }, + ["size"] = 4658, + }, + ["Frame"] = { + ["description"] = "A frame element that serves as a grouping container for other elements.", + ["default"] = true, + ["path"] = "elements/Frame.lua", + ["requires"] = { + [1] = "Container", + }, + ["size"] = 4291, + }, + ["Slider"] = { + ["description"] = "", + ["default"] = true, + ["path"] = "elements/Slider.lua", + ["requires"] = { + [1] = "VisualElement", + }, + ["size"] = 4678, + }, + ["VisualElement"] = { + ["description"] = "The Visual Element class which is the base class for all visual UI elements", + ["default"] = true, + ["path"] = "elements/VisualElement.lua", + ["requires"] = { + [1] = "BaseElement", + }, + ["size"] = 16878, + }, + ["Flexbox"] = { + ["description"] = "A flexbox container that arranges its children in a flexible layout.", + ["default"] = true, + ["path"] = "elements/Flexbox.lua", + ["requires"] = { + [1] = "Container", + }, + ["size"] = 11530, + }, + }, + ["description"] = "UI Elements", }, }, + ["metadata"] = { + ["generated"] = "Wed Feb 26 16:58:12 2025", + ["version"] = "2.0", + }, } \ No newline at end of file diff --git a/release/basalt.lua b/release/basalt.lua index c6cb278..5b9fb1b 100644 --- a/release/basalt.lua +++ b/release/basalt.lua @@ -845,14 +845,14 @@ self:fireEvent("mouse_scroll",cb,self:getRelativePosition(db,_c))return true end function _b:mouse_drag(cb,db,_c)if(self.get("clicked"))then self:fireEvent("mouse_drag",cb,self:getRelativePosition(db,_c))return true end;return false end;function _b:focus()self:fireEvent("focus")end;function _b:blur() self:fireEvent("blur")self:setCursor(1,1,false)end +function _b:key(cb)if +(self.get("focused"))then self:fireEvent("key",cb)end end;function _b:key_up(cb) +if(self.get("focused"))then self:fireEvent("key_up",cb)end end;function _b:char(cb)if(self.get("focused"))then +self:fireEvent("char",cb)end end function _b:calculatePosition() local cb,db=self.get("x"),self.get("y") if not self.get("ignoreOffset")then if self.parent~=nil then -local _c,ac=self.parent.get("offsetX"),self.parent.get("offsetY")cb=cb-_c;db=db-ac end end;return cb,db end;function _b:key(cb) -if(self.get("focused"))then self:fireEvent("key",cb)end end;function _b:key_up(cb)if(self.get("focused"))then -self:fireEvent("key_up",cb)end end -function _b:char(cb)if -(self.get("focused"))then self:fireEvent("char",cb)end end +local _c,ac=self.parent.get("offsetX"),self.parent.get("offsetY")cb=cb-_c;db=db-ac end end;return cb,db end function _b:getAbsolutePosition(cb,db)local _c,ac=self.get("x"),self.get("y")if(cb~=nil)then _c=_c+cb-1 end;if(db~=nil)then ac=ac+db-1 end;local bc=self.parent while bc do