1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-11-29 23:58:34 +01:00
Commit graph

318 commits

Author SHA1 Message Date
Ellpeck
b480026b7e formatting code redesign, part 1: Regex! 2020-02-03 03:04:13 +01:00
Ellpeck
69fdd784a7 Revert "made the default text input style be desktopgl"
This reverts commit aa64ebc0
2020-02-01 21:16:27 +01:00
Ellpeck
0904368151 Revert "changed text input style to work on all devices including web"
This reverts commit 053724e4
2020-02-01 21:16:10 +01:00
Ellpeck
aa64ebc0ef made the default text input style be desktopgl 2020-02-01 20:51:41 +01:00
Ellpeck
053724e4f8 changed text input style to work on all devices including web 2020-02-01 20:50:42 +01:00
Ellpeck
e635f23c1b remove these obsolete methods 2020-01-30 14:05:36 +01:00
Ellpeck
00b07e1c45 update 2020-01-23 01:25:50 +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
00e0ef8bc6 update 2020-01-01 13:00:33 +01:00
Ellpeck
43b665642d made tooltips be panels and remove the weird paragraph background thing 2019-12-31 14:08:13 +01:00
Ellpeck
da603c5f05 made custom draw groups be a bit easier to use 2019-12-29 19:28:56 +01:00
Ellpeck
bbdb424cbe made all groups update their areas manually since they don't draw it 2019-12-29 15:25:33 +01:00
Ellpeck
31d805fc04 fixed elements sometimes not notifying their auto-adjusting parents 2019-12-29 15:18:49 +01:00
Ellpeck
73f9653ddc made tooltips groups so that more stuff can be added to them easily 2019-12-28 14:23:40 +01:00
Ellpeck
b53588c32e redid that bugfix that I undid with that other bugfix 2019-12-28 12:59:14 +01:00
Ellpeck
f3372e93cb made format settings be non-struct-like 2019-12-26 19:34:42 +01:00
Ellpeck
3d0c3cd6d1 made format settings a bit better and also added drop shadow 2019-12-26 19:30:17 +01:00
Ellpeck
e0b83f6644 [breaking change] made the one em string be determined automatically for each font 2019-12-26 19:05:26 +01:00
Ellpeck
937b1757fe fixed stack overflow with auto-sizing elements 2019-12-26 12:49:04 +01:00
Ellpeck
4640a59054 made the scroll bar scroller only render when it actually makes sense 2019-12-26 12:35:47 +01:00
Ellpeck
969db1da1e made the info box disallow background selection 2019-12-25 19:16:07 +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
a0f0859ba2 don't consider hidden elements for the active root 2019-12-25 00:28:08 +01:00
Ellpeck
d70e89aff6 fixed what I just did 2019-12-24 17:52:16 +01:00
Ellpeck
fff25c6c12 made panels without content not crash 2019-12-24 17:48:57 +01:00
Ellpeck
ca258fe41a made paragraphs and images use their callbacks when updating their area so that the first visible frame already has the right data 2019-12-19 14:04:50 +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
8dcf3d8e63 made disabling scroll bar hiding easier for the panel 2019-12-14 14:10:38 +01:00
Ellpeck
dbe7980add made padding a lot more versatile in mlem.ui 2019-12-14 14:00:12 +01:00
Ellpeck
b8e73717f4 made panels update their draw area properly in drawearly 2019-12-12 22:56:49 +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
7118e323b3 don't notify when moving to back or front 2019-12-07 18:41:58 +01:00
Ellpeck
31294f1873 added default color to button 2019-12-06 21:18:43 +01:00
Ellpeck
548e603900 made cameras snap right in small rooms and made panels not require a texture 2019-12-06 20:54:30 +01:00
Ellpeck
e75f87f4be update 2019-12-05 22:19:58 +01:00
Ellpeck
ff42233222 made input handler and ui system gamecomponents 2019-12-05 17:52:25 +01:00
Ellpeck
0c74dfc38e allow for ui element removal during its update 2019-12-05 14:59:53 +01:00
Ellpeck
bffcab3130 added onrootremoved and on rootadded events to ui system 2019-12-05 14:53:13 +01:00
Ellpeck
16c0424f65 don't type in hidden text fields 2019-12-04 01:32:00 +01:00
Ellpeck
f1702ee5b2 added a way to tell ui controls to ignore certain input types 2019-12-04 01:17:16 +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
89f957f8b6 set the area dirty when adding/removing ui elements 2019-11-18 02:20:09 +01:00
Ellpeck
47af6f992a update 2019-11-08 15:39:02 +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
034aeec1e3 update 2019-11-05 13:52:17 +01:00
Ellpeck
aecf1a565e fixed setheightbasedonchildren causing stack overflow on uneven resolutions 2019-11-05 13:50:01 +01:00
Ellpeck
f1c9ba5517 fixed the panel updating its render target too often 2019-11-05 13:42:39 +01:00
Ellpeck
f28e234392 made style props a lot easier to use 2019-11-05 13:28:41 +01:00
Ellpeck
7f81f6469f fixed scroll bars still ceiling their values 2019-11-02 22:38:44 +01:00
Ellpeck
da04514d05 updeet 2019-11-02 15:06:58 +01:00
Ellpeck
32c8147a4c added a rectanglef class which allows mlem to use decimal coordinates 2019-11-02 14:53:59 +01:00
Ellpeck
cb7abbbbef fixed some panel issues 2019-11-02 14:21:42 +01:00
Ellpeck
3723c3ec97 updeet 2019-10-17 18:06:12 +02:00
Ellpeck
ee35509f23 made ui styling a lot more user friendly 2019-10-14 21:28:12 +02:00
Ellpeck
7392aa40fe update 2019-10-02 14:10:41 +02:00
Ellpeck
bc6ad3adef allow paragraph fonts to be changed 2019-09-26 22:28:48 +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
401a89e295 fixed paragraphs not having their hidden property initialized at startup 2019-09-26 19:35:22 +02:00
Ellpeck
9e798f835c fixed position offset being ignored for inline components 2019-09-26 18:56:09 +02:00
Ellpeck
1ce08cce49 add a getter to the image component 2019-09-26 17:39:38 +02:00
Ellpeck
abef3cdf1a update 2019-09-25 16:49:03 +02:00
Ellpeck
78da85bbfc added some more element events 2019-09-25 16:47:27 +02:00
Ellpeck
ae4ced1cc1 added some more element events 2019-09-25 16:47:19 +02:00
Ellpeck
026b79b61e fixed progress bars overshooting their ninepatch areas 2019-09-25 16:39:17 +02:00
Ellpeck
b44ae420fc update 2019-09-24 20:25:40 +02:00
Ellpeck
d610899b7d update 2019-09-20 13:53:50 +02:00
Ellpeck
a048daefbf made panels only draw and update their visible children 2019-09-20 13:48:49 +02:00
Ellpeck
c5170917fb fixed custom draw groups not working outside of a render target 2019-09-20 13:22:05 +02:00
Ellpeck
0010b94b59 update 2019-09-17 19:32:31 +02:00
Ellpeck
76bba86b0c fixed a ui system crash when there is no active root 2019-09-17 19:30:54 +02:00
Ellpeck
b699333434 added a condition to removechildren 2019-09-17 14:06:10 +02:00
Ellpeck
e7c7a5bbc2 fixed tooltips removing themselves from a nonexistant system if an element gets removed 2019-09-15 02:21:42 +02:00
Ellpeck
b0aab6fe60 update 2019-09-15 02:17:23 +02:00
Ellpeck
07b6853e0c give access to all of the element callbacks in the ui system 2019-09-13 13:57:25 +02:00
Ellpeck
03923f91f6 some exception handling 2019-09-13 11:53:28 +02:00
Ellpeck
150d6f771a upgrade images a bit 2019-09-12 18:44:24 +02:00
Ellpeck
4d87068090 update 2019-09-12 12:42:33 +02:00
Ellpeck
8afe9962fb added a dropdown menu and also fixed some issues 2019-09-12 12:39:18 +02:00
Ellpeck
0ad17fc40c added a method to remove all children from an element 2019-09-12 11:52:47 +02:00
Ellpeck
3f66430d90 made image automatically set its area dirty when necessary 2019-09-11 21:01:08 +02:00
Ellpeck
db606143d1 made images unmouseable by default 2019-09-11 20:10:28 +02:00
Ellpeck
3796cc5ef0 made a bunch of stuff in UiControls virtual so that changing more complex aspects is easier 2019-09-11 18:44:05 +02:00
Ellpeck
b8bf5c28d9 make the elementhelper's last column use AutoInlineIgnoreOverflow to avoid imperfect rounding causing it to move down 2019-09-11 15:03:10 +02:00
Ellpeck
2084f927ae fixed the slider using the wrong left and right buttons 2019-09-11 12:30:29 +02:00
Ellpeck
88ce9de00a disallow progress bars from being selected 2019-09-11 10:51:57 +02:00
Ellpeck
e38d95c665 make next elements into delegates rather than a method 2019-09-11 10:49:51 +02:00
Ellpeck
39be76fbbf made more buttons configurable in the ui controls 2019-09-11 10:44:23 +02:00
Ellpeck
9e5f324652 added progress bars 2019-09-10 23:28:25 +02:00
Ellpeck
7e8da6d838 fixed gamepad indices not being taken into account for directions in ui 2019-09-10 12:40:22 +02:00
Ellpeck
dad70dcc28 update! 2019-09-10 11:44:26 +02:00
Ellpeck
70f926eb49 actually do this beforehand so that nothing crashes from having no system all of a sudden 2019-09-09 18:53:10 +02:00
Ellpeck
bb99a76f61 fixed old selections staying behind on re-added uis 2019-09-09 18:49:34 +02:00
Ellpeck
42a0ef172b optimize the active root 2019-09-09 17:18:44 +02:00
Ellpeck
672e5eb548 clean up navigation a lot 2019-09-09 17:12:36 +02:00
Ellpeck
c52c9825f0 added gamepad controls 2019-09-09 16:25:07 +02:00
Ellpeck
8397f47ec3 made the default selection indicator scale correctly 2019-09-08 23:55:56 +02:00
Ellpeck
b85afccaf5 fixed the panel passing a wrong matrix to its children 2019-09-08 21:32:48 +02:00
Ellpeck
c1c7b7a9b1 remove individual component additional scale in favor of custom draw groups 2019-09-08 16:45:15 +02:00
Ellpeck
20d7b95891 added CustomDrawGroup which allows for components to have their own draw call 2019-09-08 16:30:55 +02:00
Ellpeck
4a7fcd7570 Revert "added FormattedString class to make rendering formatted text a little easier"
This reverts commit 6d236fa5
2019-09-08 16:25:59 +02:00
Ellpeck
6d236fa52c added FormattedString class to make rendering formatted text a little easier 2019-09-06 18:06:53 +02:00
Ellpeck
b2b59aa78a added text animation 2019-09-06 15:49:59 +02:00
Ellpeck
a46e8fce86 moved formatting to MLEM proper 2019-09-06 12:20:53 +02:00
Ellpeck
af98526d47 update! 2019-09-05 21:37:18 +02:00
Ellpeck
35ee509eac added the ability to display images in paragraphs 2019-09-05 20:28:05 +02:00
Ellpeck
e39394bce3 finished better text editing my dudes 2019-09-05 18:15:51 +02:00
Ellpeck
12a2e92c09 better text editing, part 1 2019-09-05 12:51:40 +02:00
Ellpeck
b19333d627 ceil sizes to avoid one-pixel gaps between components on some scales 2019-09-05 11:46:07 +02:00
Ellpeck
fef1d7959d this actually does not work 2019-09-04 17:23:23 +02:00
Ellpeck
619db6bb94 remove offset from draw method and use a matrix instead 2019-09-04 17:19:31 +02:00
Ellpeck
9deb6bbce3 only update an element and its children if the area actually changed 2019-09-04 16:48:44 +02:00
Ellpeck
1ee7fafc23 change this to ceil so that elements don't just get cut off 2019-09-04 16:37:57 +02:00
Ellpeck
21dce9d60a fixed an issue where already removed uis would still be selectable 2019-09-04 15:36:47 +02:00
Ellpeck
898ab86f4c fixed the scroll bar reacting to a pressed mouse on enter 2019-09-02 21:11:05 +02:00
Ellpeck
0dff0e275d added the ability to transform the entire ui 2019-09-02 19:55:26 +02:00
Ellpeck
64eefedac0 publicize some useful ui methods 2019-09-02 18:41:05 +02:00
Ellpeck
3e7ddb8b1a add the ability for scroll bars to hide themselves when they're empty 2019-09-01 19:53:52 +02:00
Ellpeck
f65cd58a80 made the text field remove mismatching characters on mobile input 2019-09-01 19:50:17 +02:00
Ellpeck
334dea8b39 make the mess I made a bit nicer :^) 2019-09-01 19:33:33 +02:00
Ellpeck
5a4d90043e update 2019-09-01 18:40:21 +02:00
Ellpeck
cfcd54dbe0 made text input not test the release build of android :V reflection is a pain 2019-09-01 18:34:19 +02:00
Ellpeck
6c253744a6 update 2019-08-31 22:45:10 +02:00
Ellpeck
633c5b0097 added touch compatibility to the scroll bar, which makes touch input finished! 2019-08-31 19:32:22 +02:00
Ellpeck
3464fff6e5 added the ability to easily change how a selected element is drawn 2019-08-31 18:07:43 +02:00
Ellpeck
3862f78c9b made text fields work on mobile too 2019-08-30 19:05:27 +02:00
Ellpeck
353afdef6f started working on touch support for MLEM.Ui 2019-08-30 18:15:50 +02:00
Ellpeck
7eeecc19d1 remove some stuff from MlemGame so that you don't crash :^)
also make the uisystem know if it doesn't support text input natively
2019-08-29 18:46:48 +02:00
Ellpeck
90d292cd37 tabbing, part 2 2019-08-28 18:58:05 +02:00
Ellpeck
5c741a98e9 tabbing, part 1! 2019-08-28 18:27:17 +02:00
Ellpeck
cc20682d47 more easily allow controls to be changed 2019-08-28 16:38:58 +02:00
Ellpeck
ed7865379d added image button 2019-08-27 21:44:02 +02:00
Ellpeck
abd58f3869 made the description for ui more ~spicy~ 2019-08-25 22:09:39 +02:00
Ellpeck
38d72d981a removed null propagation here because I never really use it anywhere else and it's ugly 2019-08-25 21:58:01 +02:00
Ellpeck
765acc3f62 replace onclicked with much easier to make compatible onpressed 2019-08-25 21:49:27 +02:00
Ellpeck
226640ef3a simplify text rendering quite a bit after realizing that monogame deals with multiple lines on its own 2019-08-25 19:07:45 +02:00
Ellpeck
6766d769f4 made scrolling a lot less intensive 2019-08-24 22:27:47 +02:00
Ellpeck
cc66c453c5 more easily allow tooltips to show when hovering elements 2019-08-24 20:45:40 +02:00
Ellpeck
13c7aa90e2 why was this here 2019-08-24 20:33:55 +02:00
Ellpeck
287885b96d fixed panels overflowing incorrectly in some dimensions 2019-08-24 19:21:06 +02:00
Ellpeck
8758ae88b9 update! 2019-08-24 15:22:29 +02:00
Ellpeck
00842d9e5f inline anchors should use the old system though 2019-08-24 15:20:00 +02:00