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

208 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
2be39a740e improve handling of arbitrary Epsilon values 2021-10-28 23:26:42 +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
d1b229b589 moved sound classes into /Sound 2021-07-05 16:36:48 +02:00
Ell
1377941f1a added TreatSizeAsMaximum to ui elements 2021-06-25 16:48:41 +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
f94d471365 explicitly disallow auto-sizing incompatibilities to make debugging easier 2021-04-27 21:17:06 +02:00
Ell
f60c3b288a also apply auto-sizing if the element has no children at all 2021-04-26 19:21:11 +02:00
Ell
2abc3264a2 simplify auto-size checks 2021-04-26 19:06:54 +02:00
Ell
7792ce99c8 fixed auto-sized elements without children not being updated correctly 2021-04-26 18:55:18 +02:00
Ell
b48ed479a0 streamlined TextInputWrapper into MlemPlatform and included link opening 2021-04-23 00:17:46 +02:00
Ell
1123b815b3 updated some package declarations to clean up warnings 2021-04-22 19:59:35 +02:00
Ell
e7fd026a33 added some UI tests 2021-04-01 19:36:56 +02:00
Ell
82b8c0ab49 fixed a rare stack overflow where scroll bars could get stuck in an auto-hide loop 2021-03-29 08:28:49 +02:00
Ell
b1ff703fe1 reintroduced tolerance for element size equality 2021-03-29 06:56:06 +02:00
Ell
79ba6864e7 fixed stack overflow with nested auto-sized children 2021-03-29 06:41:38 +02:00
Ell
3e20aaf6c5 fixed auto-sized elements doing unnecessarily many area updates 2021-03-29 05:49:09 +02:00
Ell
5f7956a7a3 properly stop a panel's scroll bar from being removed 2021-03-24 22:01:02 +01:00
Ell
be9748e70e fully disallow access to internal children collections 2021-03-24 01:39:41 +01:00
Ell
dcee3c5010 added an option to limit auto-heights in elements 2021-03-24 01:25:39 +01:00
Ell
3d314172d0 avoid recursion in Element.ForceUpdateArea 2021-03-24 01:10:42 +01:00
Ell
106102adf6 clean up unused using statements 2020-12-14 21:51:27 +01:00
Ell
333b4b033e Added a fail-safe for elements with conflicting auto-sizing settings so that they don't cause a cryptic stack overflow 2020-09-23 00:41:24 +02:00
Ellpeck
00ce8bb229 fixed y offset not affecting elements with AutoInlineIgnoreOverflow anchor 2020-07-25 23:39:37 +02:00
Ellpeck
411d3c1cd9 allow for the transformation matrix to modify mouse positions 2020-07-20 14:18:26 +02:00
Ellpeck
abffa4db57 fixed an element transform issue and added a fancy button to the ui demo 2020-07-20 00:28:31 +02:00
Ellpeck
02cd074a3c cleaned up changes from f1d686f0c0 2020-07-16 15:55:55 +02:00
Ellpeck
f1d686f0c0 move CustomDrawGroup behavior into Element, allowing any element to inherit it 2020-07-15 23:21:52 +02:00
Ellpeck
ca4c8731bc only throw an exception in TextInputWrapper if it is required 2020-06-24 16:54:23 +02:00
Ellpeck
096131ce15 Drop SoundEffectInstance (mis)usage in favor of new SoundEffectInfo 2020-06-22 13:59:33 +02:00
Ellpeck
7dc08afa5a made UiStyle's ActionSound a SoundEffectInstance to allow for volume/pitch changes 2020-06-22 13:23:02 +02:00
Ellpeck
deec553b22 code cleanup 2020-06-18 17:24:35 +02:00
Ellpeck
601423407d added PreventParentSpill to Element 2020-06-12 02:04:01 +02:00
Ellpeck
6b1e5f8dd9 better implementation of the touch mousing from yesterday 2020-06-04 20:52:21 +02:00
Ellpeck
81ed3d3bee Revert "made elements also show their mouse over graphic when they're being touched"
This reverts commit d7f43617
2020-06-03 17:01:58 +02:00
Ellpeck
d7f43617c6 made elements also show their mouse over graphic when they're being touched 2020-06-03 15:58:08 +02:00
Ellpeck
79e0e1a63e added percentage sizing based on own data to element 2020-06-02 23:00:40 +02:00
Ellpeck
95917e08d6 only mark element parent dirty when setting priority if it actually changed 2020-06-02 13:40:05 +02:00
Ellpeck
b270fe3977 made link clusters be selected properly 2020-05-27 15:19:17 +02:00
Ellpeck
f12284169e full xml documentation for MLEM.Ui 2020-05-22 17:02:24 +02:00
Ellpeck
af1918d545 added child addition and removal callbacks 2020-05-20 00:48:53 +02:00
Ellpeck
85e63ac998 modify unnecessarily thorough SetAreaDirty when adding/removing children 2020-05-17 00:33:16 +02:00
Ellpeck
26264bf576 allow a lot of mem classes to have custom data added to them 2020-03-21 00:49:43 +01:00
Ellpeck
cd70b22ae5 made elements refer back to their controls for the selected element 2020-03-17 22:27:39 +01:00
Ellpeck
d07f470da3 good work me 2020-03-17 20:04:10 +01:00
Ellpeck
06ca5a8c04 allow changing an element's controls 2020-03-17 20:02:23 +01:00
Ellpeck
e96b155f99 fixed selected element looking bad with smooth scrolling 2020-03-16 15:44:53 +01:00
Ellpeck
31e2b72197 organize ui stuff a bit better 2020-02-06 01:59:33 +01:00
Ellpeck
b3331834e1 I did not want to push this here
This reverts commit ee511137
2020-02-06 01:51:41 +01:00
Ellpeck
ee5111372b part 1 2020-02-06 01:33:24 +01:00
Ellpeck
7e6534bfc1 added the option to disable buttons 2020-01-15 17:05:28 +01:00
Ellpeck
2ac28eced3 made instances be unique for each element 2020-01-14 22:41:52 +01:00
Ellpeck
9aebce96e8 added the ability to add sounds to elements 2020-01-14 22:39:40 +01:00
Ellpeck
31d805fc04 fixed elements sometimes not notifying their auto-adjusting parents 2019-12-29 15:18:49 +01:00
Ellpeck
937b1757fe fixed stack overflow with auto-sizing elements 2019-12-26 12:49:04 +01:00
Ellpeck
f7810c8204 this was unintended 2019-12-25 12:19:55 +01:00
Ellpeck
ac8b09e74f improve ui root sorting 2019-12-25 12:15:55 +01:00
Ellpeck
c704aa6160 allow children to be reversed 2019-12-19 12:52:31 +01:00
Ellpeck
6faba05b24 made elements be able to set both width and height automatically 2019-12-19 12:50:50 +01:00
Ellpeck
dbe7980add made padding a lot more versatile in mlem.ui 2019-12-14 14:00:12 +01:00
Ellpeck
1e62513e25 added a way to sort an element's children 2019-12-12 21:14:41 +01:00
Ellpeck
8d3afcf276 made CanSelectContent be set automatically by the root through adding more events 2019-12-08 21:49:15 +01:00
Ellpeck
0c74dfc38e allow for ui element removal during its update 2019-12-05 14:59:53 +01:00
Ellpeck
4888bb0fd7 made dropdowns only have high priority when opened and fixed panels sometimes ignoring priority 2019-11-18 22:36:55 +01:00
Ellpeck
812b7c1f04 actually check left anchors for rightmost child instead of right anchors 2019-11-06 15:05:46 +01:00
Ellpeck
061f8279d7 get lowest elements towards the end of the list 2019-11-05 22:08:19 +01:00
Ellpeck
6340f75acc added SetWidthBasedOnChildren 2019-11-05 21:44:51 +01:00
Ellpeck
a5f6e83321 clean the element helper methods up a bit 2019-11-05 21:33:45 +01:00
Ellpeck
aecf1a565e fixed setheightbasedonchildren causing stack overflow on uneven resolutions 2019-11-05 13:50:01 +01:00
Ellpeck
32c8147a4c added a rectanglef class which allows mlem to use decimal coordinates 2019-11-02 14:53:59 +01:00
Ellpeck
ee35509f23 made ui styling a lot more user friendly 2019-10-14 21:28:12 +02:00
Ellpeck
36204e40cb turn some points into vectors for added precision 2019-09-26 22:16:21 +02:00
Ellpeck
84d5d3ab18 fixed elements' hover states being judged by their full areas 2019-09-26 19:36:15 +02:00
Ellpeck
9e798f835c fixed position offset being ignored for inline components 2019-09-26 18:56:09 +02:00
Ellpeck
ae4ced1cc1 added some more element events 2019-09-25 16:47:19 +02:00
Ellpeck
a048daefbf made panels only draw and update their visible children 2019-09-20 13:48:49 +02:00