Commit Graph

47 Commits

Author SHA1 Message Date
d2f757eb23 Fixed hidden Container elements not recalculating when becoming visible 2024-03-05 14:16:07 -06:00
c2330ed9a9 Removed excon as explicit dependency, implemented menu's as (mostly) first class citizens, refactoring of gui layout, FIXME: broke Slider Handle..., probably some other stuff. 2024-03-04 20:54:36 -06:00
615d7ec3e4 Added support HOME, END, and PAGE UP/DOWN for scrollable containers, misc. tweaks and bug fixes. 2024-03-03 19:23:00 -06:00
d0e1772f33 Fixed container that is scrolled down getting stuck being 'overscrolled' when resized 2024-01-18 14:08:33 -06:00
1882673fff Improvements to layout recalculating, reduces need to manually force a refresh (F5) 2023-11-17 17:10:53 -06:00
9a6e1df032 Remove need to do a full gui recalc 3 or more times for the layout to work (current implementation slows things down a bit, but seems more reliable then brute forcing 3x+) 2023-06-18 19:42:38 -05:00
b1b8fc8556 Cache scroll width/height 2023-06-18 14:18:15 -05:00
a60b09a110 Further scrolling improvements (should be smoother/more consistent with varied frame time) 2023-06-18 13:50:32 -05:00
81a632942e Round scroll position to prevent rendering issues caused by floats 2023-06-18 12:38:12 -05:00
5ef8023aca Improved scrolling 2023-06-18 12:26:08 -05:00
2e690d7d33 Misc bug fixes and improvements 2023-06-16 14:40:16 -05:00
c26ddeef4d Refactored CyberarmEngine::Stats to track data for last N frames 2023-04-20 16:08:59 -05:00
14e9d4946f Add GameState#needs_repaint? and Container#remove 2023-01-31 10:17:51 -06:00
f82c0953b2 Implemented support for dynamic repainting of gui states with GuiState#needs_repaint? 2023-01-03 22:16:07 -06:00
41c0b27937 Fixed layout bug for Flow when the element x + width is greater than the parent's width it would not correctly wrap 2022-10-20 09:36:20 -05:00
ab9f9e8e7a Refactored dimentional_size to split out space_available_width/height, initial implementation of verticial and horizontal container alignment 2022-06-12 16:03:23 -05:00
705138f7ad Fixed elements in a Flow container not positioned correctly after the first wrap 2022-06-12 11:36:22 -05:00
ca73a2d8e8 Added all the callbacks to Window and GameState, removed all but one usage of global variables (). 2022-06-05 09:19:30 -05:00
31e909eb30 Probably fix layout issues caused by floating point errors where an element is wrapped when it has space (e.g. 2 elements with a width 0.5 not fitting properly) 2022-05-02 19:08:47 -05:00
d81df5f4e2 Moved min_width/height, max_width/height and fill control from Container into Element#dimensional_size so any element can use them 2022-04-25 16:48:17 -05:00
f2ea0d9942 Maybe final container fill mode fix? 2022-04-04 13:26:40 -05:00
08d068f156 Fixed weirdness for Container dynamic fill mode 2022-04-04 10:08:39 -05:00
a4d02038c3 Fixes for Container's calculating fill size and for Flow's max_width 2022-04-03 13:06:10 -05:00
37bdd6ef23 Added support for min/max width/height and for fill which dynamically sets elements width/height to the max available width for Flow parents and height for Stack parents 2022-04-03 11:07:31 -05:00
2be5733bc1 Fixed Container not considering padding when clipping render area 2022-01-29 10:08:33 -06:00
c8734ae98b Container child elements that are not visible are no longer drawn 2021-12-24 17:00:02 -06:00
153871e7f3 Improved performance a touch: fixed never clearing list of elements to recalculate unless a full gui recalcuate occurred, don't recalculate button/text if a full gui recalculate is requested, fixed typo: apend -> append 2021-12-16 22:09:56 -06:00
0aa9b59316 Containers that need to be recalculated but will not affect their current size can request to have themselves directly recalculated on the next update (fixes scrolling triggering many unneed recalculations), list_box now excludes the currently selected item from the menu, probably fixed list_box callback being called twice instead of the correct once. 2021-11-15 10:17:49 -06:00
5452d149c3 Possible fix for being able to click a button that isn't visible due to scrolling, by ensuring that the host container is hit before checking children. 2021-06-18 02:57:49 +00:00
1e0d2004b5 More adjustments to scrolling and scroll_top, added debug_draw to elements that draws a box around the element that is atop all rendered things 2021-02-13 22:57:18 -06:00
92dd63dc1d Probably fixed scrolling for real this time, added scroll_top and scroll_top = n methods 2021-02-13 20:03:10 -06:00
29fbac7140 Added Container#apend method, EditLine caret will now stay visible while typing, EditLine#value= now sets the value of @text_input 2021-02-09 17:41:29 -06:00
d050f63c2b Increased scroll speed and added window_size_changed event for containers that is thrown from the root container 2021-01-31 13:33:20 -06:00
af24fc8690 Added vertical scrolling support for containers (no scrollbar yet) 2021-01-31 09:44:46 -06:00
26dd688124 Ran rubocop -a 2020-12-14 16:04:31 -06:00
695c77b183 Added support for Label text alignement, improved EditBox to correctly position caret and support mouse caret positioning, added debugging Container boundry (WIP) 2020-09-09 09:51:18 -05:00
5b2a015421 Call recalulate less often to speed up gui updates, call root_container.recalculate a third time when recalculating gui. Gui calls recalculate 10x less when doing a full recalculate. 2020-06-09 09:11:57 -05:00
3226eb2bda Sliders work better, fixed CheckBox not passing along options hash, Text width/height now accept a string, changed EditLine text selection color, temporary back to back gui recalculations to fix positioning errors until Container#layout can safely be called after determining element width and height. 2020-05-06 12:08:20 -05:00
a98bb4ec82 Fixed hidden elements were interactable, added comments 2020-05-05 10:48:00 -05:00
4055f645f3 Implemented Slider (still have some positioning issues to resolve but it works), added files for ListBox, Radio, and EditBox, implemented dragging support in GuiState. 2020-04-10 18:45:55 -05:00
ed061c8408 Fixed incorrect element positioning when using margin 2020-04-06 09:38:30 -05:00
4b25d724b5 Improved shoes-iness; no longer need to pass clear blocks an element to parent to, todo: replace global var with something else. 2020-01-13 20:13:03 -06:00
5f359a8313 Fixed wrong method called in DSL.progress, removed unneed line, and made DSL.background use element_parent 2019-11-22 17:20:03 -06:00
c67d6f9d26 Trigger recalculate when Container#clear is called 2019-11-21 14:24:01 -06:00
7f97ec85dd Added Container#clear to remove child elements and optionally eval block, improvements to EditLine to show current selection. 2019-11-21 14:07:42 -06:00
bb482f4463 Sync 2019-09-26 12:41:34 -05:00
bdce85613b Added Progress bar, refactored Elements to be under CyberarmEngine::Element namespace. 2019-06-27 15:41:38 -05:00