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
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
f3e6df6862
Made custom values of Element.Style persist when a new ui style is set
2022-01-22 23:34:52 +01:00
faa400c4e6
Added Element.OnStyleInit event
2022-01-22 23:05:29 +01:00
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
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
dae511e455
Made StyleProp immutable
2021-12-21 11:54:32 +01:00
3541b8d3e1
Automatically set area dirty when changing child padding or paragraph fonts
2021-12-21 00:01:57 +01:00
79354c444b
fixed exception when elements get removed from their ui in Update
2021-12-14 13:42:31 +01:00
60dfbb1ec5
Added UiMetrics
2021-12-12 12:32:09 +01:00
55fae16768
Allow overriding SetAreaAndUpdateChildren and switch to using it in some locations
2021-12-11 17:39:49 +01:00
103d7c7503
Added a SquishingGroup element to MLEM.Ui
2021-12-11 17:26:55 +01:00
28a928ec2c
Revert "Added PreventSiblingSpill to Element"
...
This reverts commit 3c74cc4845
.
2021-12-11 01:04:35 +01:00
3c74cc4845
Added PreventSiblingSpill to Element
2021-12-11 00:36:50 +01:00
636522bc3e
resolved some documentation warnings
2021-11-30 11:46:06 +01:00
84e2544dc8
Allow setting a custom effect and depth stencil state for ui drawing
2021-11-22 17:42:08 +01:00
5b99f29490
Fixed some inconsistencies with element transformations and mouse interaction
2021-11-22 15:13:08 +01:00
149669df99
fixed up Element docs and added a return value to UpdateAreaIfDirty
2021-11-01 15:29:59 +01:00
f2939253b1
Skip unnecessary area updates for elements with dirty parents
2021-11-01 13:39:37 +01:00
ca89d03ca4
Some more ui style improvements
2021-10-30 15:33:38 +02:00
3648352540
organized MLEM.Ui properties and fields slightly
2021-10-30 15:01:04 +02:00
2be39a740e
improve handling of arbitrary Epsilon values
2021-10-28 23:26:42 +02:00
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
1bbb12a1fa
clarified auto-size exception in elements
2021-09-09 17:02:29 +02:00
9890c4895c
Fixed tooltips not displaying correctly with auto-hiding paragraphs
2021-09-09 16:53:12 +02:00
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
094de058c4
(attempt to) reduce element sizing incompatibilities for auto-width/height elements
2021-08-05 03:40:47 +02:00
d1b229b589
moved sound classes into /Sound
2021-07-05 16:36:48 +02:00
1377941f1a
added TreatSizeAsMaximum to ui elements
2021-06-25 16:48:41 +02:00
a02334a34c
turned some non-event events into events and added Disposing event to ui elements
2021-06-09 00:27:50 +02:00
f94d471365
explicitly disallow auto-sizing incompatibilities to make debugging easier
2021-04-27 21:17:06 +02:00
f60c3b288a
also apply auto-sizing if the element has no children at all
2021-04-26 19:21:11 +02:00
2abc3264a2
simplify auto-size checks
2021-04-26 19:06:54 +02:00
7792ce99c8
fixed auto-sized elements without children not being updated correctly
2021-04-26 18:55:18 +02:00
b48ed479a0
streamlined TextInputWrapper into MlemPlatform and included link opening
2021-04-23 00:17:46 +02:00
1123b815b3
updated some package declarations to clean up warnings
2021-04-22 19:59:35 +02:00
e7fd026a33
added some UI tests
2021-04-01 19:36:56 +02:00
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
b1ff703fe1
reintroduced tolerance for element size equality
2021-03-29 06:56:06 +02:00
79ba6864e7
fixed stack overflow with nested auto-sized children
2021-03-29 06:41:38 +02:00
3e20aaf6c5
fixed auto-sized elements doing unnecessarily many area updates
2021-03-29 05:49:09 +02:00
5f7956a7a3
properly stop a panel's scroll bar from being removed
2021-03-24 22:01:02 +01:00
be9748e70e
fully disallow access to internal children collections
2021-03-24 01:39:41 +01:00
dcee3c5010
added an option to limit auto-heights in elements
2021-03-24 01:25:39 +01:00
3d314172d0
avoid recursion in Element.ForceUpdateArea
2021-03-24 01:10:42 +01:00
106102adf6
clean up unused using statements
2020-12-14 21:51:27 +01:00
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