1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-11-01 05:10:50 +01:00
Commit graph

420 commits

Author SHA1 Message Date
Ell
8adee49e55 fixed scroll bars not working with the new InvertPressBehavior 2022-04-30 11:31:40 +02:00
Ell
6393d879d9 added SpriteBatchContext 2022-04-25 15:25:58 +02:00
Ell
c78bafd000 Ensure that Element.IsMouseOver is always accurate by making it an auto-property 2022-04-15 14:18:55 +02:00
Ell
783da33107 Fixed elements not being deselected when removed through RemoveChild 2022-04-15 14:16:38 +02:00
Ell
45afd9ac79 Added Element.AutoNavGroup which allows forming groups for auto-navigation 2022-04-14 17:54:25 +02:00
Ell
ad29b46df3 Fixed radio buttons not unchecking all other radio buttons with the same root element 2022-04-14 17:45:01 +02:00
Ell
902391d278 Fixed auto-nav tooltip displaying on the selected element even when not in auto-nav mode 2022-04-09 22:00:21 +02:00
Ell
4854d420e0 Fixed delayed tooltips sometimes displaying in the wrong location for one frame 2022-04-05 14:54:20 +02:00
Ell
393bd9ffe5 Allow tooltips to display for elements when selected in auto-nav mode 2022-04-05 14:42:30 +02:00
Ell
30b4d5fc43 Improve f166c3d256 by allowing buttons to be selectable even when disabled 2022-04-05 14:20:38 +02:00
Ell
df0ad68837 Fixed tooltips sometimes ignoring manually set IsHidden values 2022-04-05 14:17:12 +02:00
Ell
94dec34470 render panel's render target in the Draw method 2022-03-26 21:13:05 +01:00
Ell
6a3c797eba Fixed UiMetrics.ForceAreaUpdateTime being inaccurate for nested elements 2022-03-26 20:06:59 +01:00
Ell
3ad024b95a fixed KeybindButton inheritdoc referencing itself 2022-03-26 12:53:28 +01:00
Ell
4e122175b2 Allow ElementHelper's KeybindButton to accept a Keybind for clearing a combination 2022-03-26 12:41:19 +01:00
Ell
c5b2b8798e Fixed dropdowns with some non-selectable children failing to navigate when using gamepad controls 2022-03-17 20:46:49 +01:00
Ell
1f4f0cfa44 Fixed Element.IsSelected returning incorrect results when CanBeSelected changes 2022-03-17 20:45:28 +01:00
Ell
bb22bbdf75 Fixed children of Panel scroll bars also being scrolled 2022-03-17 20:04:58 +01:00
Ell
b77edd80d5 Allow specifying a custom position for a tooltip to snap to 2022-03-14 14:20:12 +01:00
Ell
f166c3d256 Fixed buttons and checkboxes changing their CanBeSelected and CanBePressed values when being disabled 2022-03-11 13:25:18 +01:00
Ell
cd32372994 fixed 0f4e67f20f 2022-03-10 18:39:35 +01:00
Ell
0f4e67f20f Fixed auto-navigating panels not scrolling to the center of elements properly 2022-03-10 18:04:36 +01:00
Ell
7c18aad8f7 Improve dropdown opening gamepad navigation (in relation to cb8fed87e5) 2022-03-10 15:04:52 +01:00
Ell
cb8fed87e5 Automatically select the first element when a dropdown is opened in auto nav mode 2022-03-10 13:50:47 +01:00
Ell
67388c106b allow retrieving a keybind button's active state 2022-03-10 13:08:49 +01:00
Ell
48a4aa0588 Some keybind and keybind button improvements 2022-03-10 12:39:56 +01:00
Ell
48b96a10a4 Added InputHandler mouse and touch position querying that preserves the game's viewport and fixed the graphics device's viewport being ignored for mouse and touch queries
Closes #1
2022-02-06 22:07:33 +01:00
Ell
ed88862194 Marked BeginDelegate and BeginImpl as obsolete 2022-02-02 18:17:53 +01:00
Ell
a143aef67c Revert scissor rectangle change since it doesn't support panels with complex transformations
Revert "Use a scissor rectangle for panels in favor of a render target, and marked UiSystem.DrawEarly and Element.DrawEarly as obsolete"

This reverts commit 3c4567e4a1.

Revert "cleaned up DrawEarly documentation references"

This reverts commit dc6c472b84.
2022-01-30 16:35:10 +01:00
Ell
dc6c472b84 cleaned up DrawEarly documentation references 2022-01-30 12:20:32 +01:00
Ell
3c4567e4a1 Use a scissor rectangle for panels in favor of a render target, and marked UiSystem.DrawEarly and Element.DrawEarly as obsolete 2022-01-30 01:13:59 +01:00
Ell
f3e6df6862 Made custom values of Element.Style persist when a new ui style is set 2022-01-22 23:34:52 +01:00
Ell
faa400c4e6 Added Element.OnStyleInit event 2022-01-22 23:05:29 +01:00
Ell
dbf370c968 Allow setting a default text alignment for paragraphs in UiStyle 2022-01-22 22:54:47 +01:00
Ell
80a6c6b5e2 Avoid unnecessary panel updates by using an Epsilon comparison when scrolling children 2022-01-09 01:15:05 +01:00
Ell
c28f6d858c Ensure that a panel gets notified of all relevant changes by calling OnChildAreaDirty for all grandchildren 2022-01-09 01:12:16 +01:00
Ell
68fc02b170 Fixed paragraph links having incorrect hover locations when using special text alignments 2022-01-07 20:50:32 +01:00
Ell
6e75e9ebb4 ensure that the paragraph changes occur when new links are added 2022-01-07 17:15:03 +01:00
Ell
b46975391b Only set a paragraph's area dirty when a text change would cause it to change size 2022-01-06 23:26:14 +01:00
Ell
29bbd61f8b reformat and cleanup 2021-12-28 14:56:11 +01:00
Ell
7e49eaef10 Allow for checkboxes and radio buttons to be disabled 2021-12-24 12:10:04 +01:00
Ell
c060d78010 put StringBuilder overloads to use 2021-12-22 13:03:40 +01:00
Ell
dae511e455 Made StyleProp immutable 2021-12-21 11:54:32 +01:00
Ell
3541b8d3e1 Automatically set area dirty when changing child padding or paragraph fonts 2021-12-21 00:01:57 +01:00
Ell
79354c444b fixed exception when elements get removed from their ui in Update 2021-12-14 13:42:31 +01:00
Ell
60dfbb1ec5 Added UiMetrics 2021-12-12 12:32:09 +01:00
Ell
55fae16768 Allow overriding SetAreaAndUpdateChildren and switch to using it in some locations 2021-12-11 17:39:49 +01:00
Ell
103d7c7503 Added a SquishingGroup element to MLEM.Ui 2021-12-11 17:26:55 +01:00
Ell
28a928ec2c Revert "Added PreventSiblingSpill to Element"
This reverts commit 3c74cc4845.
2021-12-11 01:04:35 +01:00
Ell
3c74cc4845 Added PreventSiblingSpill to Element 2021-12-11 00:36:50 +01:00
Ell
636522bc3e resolved some documentation warnings 2021-11-30 11:46:06 +01:00
Ell
84a6e5a29a Fixed some end-of-line inconsistencies when using the Right text alignment 2021-11-22 18:52:52 +01:00
Ell
84e2544dc8 Allow setting a custom effect and depth stencil state for ui drawing 2021-11-22 17:42:08 +01:00
Ell
5b99f29490 Fixed some inconsistencies with element transformations and mouse interaction 2021-11-22 15:13:08 +01:00
Ell
91d34c0a83 Remember the location that a scroll bar scroller was grabbed in when scrolling 2021-11-14 21:32:13 +01:00
Ell
2a7dc119eb Removed ScrollBar ScrollerOffset (which didn't actually work) 2021-11-14 21:04:50 +01:00
Ell
cd48ad6e2a ensure that child padding stays consistent if ScrollerSize gets updated 2021-11-14 20:28:53 +01:00
Ell
9cd72e9b4e Fixed panels that don't auto-hide their scroll bars ignoring their width for child padding 2021-11-14 19:50:24 +01:00
Ell
1fa9204680 added a style property for a panel's scroll bar offset 2021-11-11 16:43:27 +01:00
Ell
dc15a9139f added a bound check for the auto-calculated scroller size 2021-11-08 02:11:05 +01:00
Ell
6d554faaac mark panel children dirty when the scroll bar's max value (the height of the children) changes 2021-11-08 02:06:50 +01:00
Ell
3d0250bf86 Calculate panel scroll bar height based on content height 2021-11-08 02:02:59 +01:00
Ell
778d416774 mark panel's relevant children dirty when the render target changes 2021-11-05 23:28:32 +01:00
Ell
543201d178 ensure that relevant panel children are updated when children are changed 2021-11-05 23:22:39 +01:00
Ell
cf48fc372e skip unnecessary relevant children updates for panels 2021-11-01 22:58:37 +01:00
Ell
149669df99 fixed up Element docs and added a return value to UpdateAreaIfDirty 2021-11-01 15:29:59 +01:00
Ell
f2939253b1 Skip unnecessary area updates for elements with dirty parents 2021-11-01 13:39:37 +01:00
Ell
ca89d03ca4 Some more ui style improvements 2021-10-30 15:33:38 +02:00
Ell
3648352540 organized MLEM.Ui properties and fields slightly 2021-10-30 15:01:04 +02:00
Ell
0809cd0218 Added style properties for a lot of hardcoded default element styles 2021-10-29 23:33:15 +02:00
Ell
9ddc1f6975 Made Image ScaleToImage take ui scale into account 2021-10-29 17:11:45 +02:00
Ell
2be39a740e improve handling of arbitrary Epsilon values 2021-10-28 23:26:42 +02:00
Ell
45f970e0f2 added vertical movement to multiline text fields 2021-10-13 17:13:56 +02:00
Ell
5f2eb1845f Fixed text not being pasted into a text field at all if it contains characters that don't match the input rule 2021-10-12 19:58:31 +02:00
Ell
a47318c0a2 improved text field multi line handling 2021-10-12 18:28:06 +02:00
Ell
1d462b0252 fixed some multiline editing issues 2021-10-12 02:46:24 +02:00
Ell
11dd939009 Added a multiline editing mode to TextField 2021-10-12 02:16:09 +02:00
Ell
8f5d3083b5 Allow specifying a maximum amount of characters for a TextField 2021-10-11 23:35:50 +02:00
Ell
f021215066 fixed VerticalSpace height parameter being an integer 2021-10-01 03:42:27 +02:00
Ell
41b924ef34 Fixed rounding errors causing AutoInline elements to be pushed into the next line with some ui scales 2021-09-24 16:35:53 +02:00
Ell
1bbb12a1fa clarified auto-size exception in elements 2021-09-09 17:02:29 +02:00
Ell
9890c4895c Fixed tooltips not displaying correctly with auto-hiding paragraphs 2021-09-09 16:53:12 +02:00
Ell
a9a7f2b421 Revert "(attempt to) reduce element sizing incompatibilities for auto-width/height elements"
This reverts commit 094de058c4.
2021-08-05 03:47:03 +02:00
Ell
094de058c4 (attempt to) reduce element sizing incompatibilities for auto-width/height elements 2021-08-05 03:40:47 +02:00
Ell
8fac4a0b69 Allow adding Link children to non-Paragraph elements 2021-07-24 07:36:42 +02:00
Ell
01bec459de disallow creating Paragraphs without fonts 2021-07-22 04:51:41 +02:00
Ell
bb9b322580 Fixed tooltips with custom text scale not snapping to the mouse correctly in their first displayed frame 2021-07-22 04:27:57 +02:00
Ell
1067055bb5 code cleanup 2021-07-19 23:49:16 +02:00
Ell
abac738123 Removed LINQ Any and All usage in various methods to improve memory usage 2021-07-18 22:18:46 +02:00
Ell
6aa9ec03d4 Added customizable overloads for Keybind, Combination and GenericInput ToString methods 2021-07-13 15:41:42 +02:00
Ell
bb189261d7 Added a masking character to text fields 2021-07-08 18:17:39 +02:00
Ell
d1b229b589 moved sound classes into /Sound 2021-07-05 16:36:48 +02:00
Ell
642608a8a2 Fixed a crash if a paragraph has a link formatting code, but no font 2021-07-03 01:50:37 +02:00
Ell
1377941f1a added TreatSizeAsMaximum to ui elements 2021-06-25 16:48:41 +02:00
Ell
14940d39c5 added text alignment options to tokenized strings and paragraphs 2021-06-25 15:23:30 +02:00
Ell
ef83124cfa allow changing the color of panels 2021-06-22 01:14:06 +02:00
Ell
ce920b5219 added an element helper method to create a keybind button 2021-06-21 00:49:09 +02:00
Ell
a02334a34c turned some non-event events into events and added Disposing event to ui elements 2021-06-09 00:27:50 +02:00
Ell
e0a9971bdb added DynamicEnum to MLEM.Data 2021-06-08 13:32:01 +02:00
Ell
20e2d098ef suppress finalize for manually disposed panels 2021-06-08 00:32:07 +02:00