2.6 KiB
2.6 KiB
GuiManager
This library due to the changes in love2d. Too many things are broken and instead of doing patch work, I've decided to do a total rewrite. Also I'll be able to make use of the new multi manager features and build a better library from the ground up.
Core Objects:
Frame✔️- Text:
Label✔️Box✔️Button✔️- utf8 support with textbox (Forgot about this, will have to rework some things)
- Image:
Label✔️Button✔️- Animation
Video✔️
Events:
- Mouse Events
Enter✔️Exit✔️Pressed✔️Released✔️Moved✔️WheelMoved✔️DragStart✔️Dragging✔️DragEnd✔️
- Keyboard Events
Hotkey✔️ Refer to KeyConstants wiki page- Some default hotkeys have been added:
(conn)gui.HotKeys.OnSelectAll✔️Ctrl + A(conn)gui.HotKeys.OnCopy✔️Ctrl + C(conn)gui.HotKeys.OnPaste✔️Ctrl + V(conn)gui.HotKeys.OnUndo✔️Ctrl + Z(conn)gui.HotKeys.OnRedo✔️Ctrl + Y, Ctrl + Shift + Z
- Some default hotkeys have been added:
- Other Events
OnUpdate✔️OnDraw✔️ Polish:gui:newCheckbox()gui:isOnScreen()gui:newRadioGroup()- gui:newSlider()
gui:newProgressBar()- gui:newTooltip()
- gui:newTextArea()
- TODO: selection, hotkeys
- gui:newListFrame()
- gui:newGridFrame()
Better Transistions:
- ease.easeIn(start, stop, time) -- accelerates from start
- ease.easeOut(start, stop, time) -- decelerates into stop
- ease.easeInOut(start, stop, time) -- smooth S-curve
- ease.easeInCubic(...) -- more aggressive acceleration
- ease.easeOutCubic(...) -- more aggressive deceleration
- ease.bounce(start, stop, time) -- bounces at the end
- ease.elastic(start, stop, time) -- overshoots then settles
- ease.back(start, stop, time) -- slight pull-back before moving
Focus Management:
- gui.focus.set(element) -- programmatically set focus
- gui.focus.get() -- returns currently focused element (or nil)
- gui.focus.clear() -- clear focus (no element focused)
- gui.focus.setTabOrder(list) -- set a list of elements for Tab navigation
- gui.focus.tabNext() -- focus the next element in the tab order
- gui.focus.tabPrev() -- focus the previous element
Z-index Enhancments:
- gui:setLayer(n)
- gui:getLayer()