1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-12-27 10:39:24 +01:00
Commit graph

394 commits

Author SHA1 Message Date
Ell
3127ad5b74 Allow elements with larger children to influence a panel's scrollable area 2023-05-21 11:11:52 +02:00
Ell
f1740b7b32 Added TextFormatter.StripAllFormatting 2023-05-19 19:30:45 +02:00
Ell
a1064984ec Allow specifying start and end indices when drawing a TokenizedString or Paragraph 2023-05-18 21:41:36 +02:00
Ell
e71450366b additional runtime texture packer improvements 2023-05-15 18:36:23 +02:00
Ell
99b45b09d9 Improved RuntimeTexturePacker performance for differently sized textures 2023-05-15 17:50:41 +02:00
Ell
e09484cbe7 Fixed GetRandomWeightedEntry distribution not being equal for equal weights 2023-04-26 21:49:43 +02:00
Ell
230f2e954c Fixed TextInput and Slider still reacting to input when they are selected, but not part of the active root 2023-04-24 11:15:16 +02:00
Ell
2265af3fae Improved the SquishingGroup algorithm by prioritizing each element's final size 2023-04-06 17:15:57 +02:00
Ell
1a7cb65cf2 Fixed Paragraph and Checkbox not reacting to SquishingGroup sizing properly 2023-04-06 15:54:24 +02:00
Ell
db454ebd71 Fixed AutoInline elements overflowing into their parent if it's taller 2023-03-29 20:56:56 +02:00
Ell
94a54c336e Added AutoInlineCenter and AutoInlineBottom anchors 2023-03-29 20:51:34 +02:00
Ell
5086101bad Allow setting ExternalGestureHandling through the InputHandler constructor 2023-03-04 23:41:25 +01:00
Ell
8a4dc11072 Marked GetDownTime, GetUpTime and GetTimeSincePress in Keybind and Combination as obsolete 2023-03-04 23:05:17 +01:00
Ell
a84fd764c5 some GenericInput and Keybind improvements 2023-03-03 14:02:05 +01:00
Ell
3968f7dfae Added a simple outline formatting code 2023-02-23 15:18:07 +01:00
Ell
b69a2c4755 Allow changing the default values used by default TextFormatter codes 2023-02-22 18:48:12 +01:00
Ell
fd642637a1 fixed changelog formatting error 2023-02-21 17:21:19 +01:00
Ell
c4836eedd6 Increased some recursion limits, and added useful Element ToString 2023-02-20 11:01:15 +01:00
Ell
695fba59a4 updated changelog 2023-02-17 20:38:06 +01:00
Ell
4029adb4bf Fixed TextInput drawing characters with the wrong width if a masking character is used 2023-02-17 18:33:56 +01:00
Ell
a47d3f50cb Fixed TextInputs behaving incorrectly when switching between multiline and single-line modes 2023-02-17 13:16:49 +01:00
Ell
f6beaff43a Fixed a multiline text field's cursor not returning to the default position when the last character is removed 2023-02-13 14:37:20 +01:00
Ell
aef6f7bd58 Fixed control characters being included in TextInput and TextField 2023-02-13 14:27:39 +01:00
Ell
6be4143331 Fixed images not updating their hidden state properly when the displayed texture changes 2023-02-03 11:31:18 +01:00
Ell
7f7a9c6415 Revert "Improved RuntimeTexturePacker speed when using many distinct texture sizes"
This reverts commit ca9c8e6cfd.
2023-01-30 22:51:15 +01:00
Ell
ca9c8e6cfd Improved RuntimeTexturePacker speed when using many distinct texture sizes 2023-01-30 22:38:15 +01:00
Ell
4cfa105f75 bump upcoming version 2023-01-19 21:03:13 +01:00
Ell
30160e8210 release 6.1.0 2023-01-19 20:48:44 +01:00
Ell
eb8a8568e1 Some ui system improvements
- Allow initializing a ui system's text formatter without default codes and macros
- Fixed UiStyle.LinkColor not being applied to the ui system when changed
2023-01-08 11:21:20 +01:00
Ell
a249331ce9 Allow initializing text formatters without default codes and macros 2023-01-07 22:32:38 +01:00
Ell
500736e20f Added subscript and superscript formatting codes 2023-01-07 22:02:22 +01:00
Ell
2e8a8244a3 Added RandomExtensions.NextSingle with minimum and maximum values 2023-01-07 20:01:22 +01:00
Ell
ef0499958d - Added InputHandler.IsPressedIgnoreRepeats
- Marked non-GenericInput versions of IsDown, IsUp, IsPressed and related methods as obsolete in favor of GenericInput ones
2022-12-27 22:57:35 +01:00
Ell
79a2eaa8d2 Added InputHandler.WasPressedForLess and related methods 2022-12-26 18:44:46 +01:00
Ell
10bea0f820 improved changelog slightly 2022-12-23 17:08:51 +01:00
Ell
ee62554fee Avoid paragraphs splitting or truncating their text unnecessarily 2022-12-22 19:50:50 +01:00
Ell
73abfb2dc3 Added TextField.OnCopyPasteException to allow handling exceptions thrown by TextCopy 2022-12-22 11:39:07 +01:00
Ell
45c668c992 Removed AutoHideCondition (partially reverts d5d3297) 2022-12-21 21:02:10 +01:00
Ell
d5d3297271 Added Element.AutoHideCondition and Button.AutoDisableCondition 2022-12-21 18:54:25 +01:00
Ell
b41341d01e Set cornflower blue as the default link color 2022-12-18 13:01:19 +01:00
Ell
b3da8d35c0 Ensure paragraphs display up-to-date versions of their text callbacks 2022-12-16 20:03:19 +01:00
Ell
170b397e02 Cleaned up GenericFont and TokenizedString by improving the splitting and truncating algorithms 2022-12-07 13:35:57 +01:00
Ell
b374d50815 Allow formatting codes to have an arbitrary custom width 2022-12-06 16:49:19 +01:00
Ell
0a62ae0036 Added SeedSource 2022-11-30 20:21:24 +01:00
Ell
81c69041c3 Added the SingleRandom utility class 2022-11-29 21:11:59 +01:00
Ell
1a1b2025cd Made JsonTypeSafeWrapper.Of generic to potentially avoid reflective instantiation 2022-11-28 00:43:50 +01:00
Ell
d72b094a7a Added a generic version of IGenericDataHolder.SetData 2022-11-27 12:34:07 +01:00
Ell
e21729de67 fixed some memory management issues in MLEM.Ui 2022-11-24 18:38:51 +01:00
Ell
9919ee4a97 added the ability to convert texture atlases to collections 2022-11-23 12:14:08 +01:00
Ell
92353e40e6 Allow adding JsonTypeSafeWrapper instances to JsonTypeSafeGenericDataHolder directly 2022-11-22 21:51:42 +01:00
Ell
63ea3eba90 DataContract usage improvements 2022-11-22 20:09:12 +01:00
Ell
810406fb94 Added the ability for UniformTextureAtlases to have padding for each region 2022-11-19 17:12:57 +01:00
Ell
b5619db55c Allow explicitly specifying each region for extended auto tiles 2022-11-14 12:59:35 +01:00
Ell
db02dfcfde Store a RuntimeTexturePacker packed texture region's source region 2022-11-14 11:49:47 +01:00
Ell
6ac2ba6151 Added Range extension methods GetPercentage and FromPercentage 2022-11-10 15:41:24 +01:00
Ell
5906278091 Fixed Combination.IsModifierDown querying one of its modifiers instead of all of them 2022-11-08 17:50:58 +01:00
Ell
8bb62a2ce5 also added WasModifierDown and WasDown to Keybind and Combination 2022-11-08 17:43:34 +01:00
Ell
797a3b2617 Improved the way InputHandler down time calculation works 2022-11-08 17:12:37 +01:00
Ell
8469185297 Added GetDownTime, GetUpTime and GetTimeSincePress to Keybind and Combination 2022-11-08 16:43:32 +01:00
Ell
cc749103e0 Allow specifying percentage-based padding for a NinePatch 2022-11-03 18:16:59 +01:00
Ell
d138577285 Added trimming and AOT annotations and made MLEM trimmable 2022-10-31 18:33:53 +01:00
Ell
f58e3c94d5 Marked EnumHelper and DynamicEnum as obsolete due to their reimplementation in the DynamicEnums library 2022-10-31 13:20:26 +01:00
Ell
8745a3237e Added DynamicEnum IsDefined and EnumHelper and DynamicEnum GetUniqueFlags 2022-10-26 23:34:30 +02:00
Ell
7ab76d239d Added EnumHelper and DynamicEnum GetFlags 2022-10-26 15:02:33 +02:00
Ell
17ce7b668d Added the ability to add additional regions to a RuntimeTexturePacker after packing 2022-10-20 23:59:42 +02:00
Ell
627350ca31 Added ElementHelper.MakeGrid 2022-10-17 10:57:41 +02:00
Ell
8d689952cc Made GenericFont and TokenizedString support UTF-32 characters like emoji 2022-10-15 13:48:45 +02:00
Ell
560c797b87 Fixed InputHandler and UiControls maintaining old input states when input types are toggled off 2022-10-10 19:29:01 +02:00
Ell
d6309ce9c1 Added the ability to find paths to one of multiple goals using AStar 2022-10-10 11:31:23 +02:00
Ell
d3b153fd45 Cleaned up AStar code 2022-10-09 22:38:10 +02:00
Ell
0b6e6743cf some more AStar improvements 2022-10-09 21:04:39 +02:00
Ell
3e4c4e566d Merge remote-tracking branch 'origin/main' 2022-10-09 20:07:51 +02:00
Ell
bfa4ab4ac2 Added the ability to include special per-position directions in AStar pathfinding 2022-10-09 20:07:38 +02:00
Ell
92f9164256 Added Panel.ScrollToElement 2022-09-24 18:46:33 +02:00
Ell
d6a51776e5 Fixed the scroll bar of an empty panel being positioned incorrectly 2022-09-24 11:04:23 +02:00
Ell
e8710f69e9 Fixed an exception when trying to force-update the area of an element without a ui system 2022-09-19 15:02:36 +02:00
Ell
48735c3d36 Multi-target net452, making MLEM compatible with MonoGame for consoles 2022-09-14 21:17:43 +02:00
Ell
7d8b14ee8d added from instruction to DataTextureAtlas 2022-09-14 11:59:28 +02:00
Ell
914b0d9c2d - Improved DataTextureAtlas parsing
- Added data and copy instructions to DataTextureAtlas
2022-09-14 10:40:52 +02:00
Ell
a6fd2c052e Added ScrollBar.MouseDragScrolling
Closes #5
2022-09-13 16:14:36 +02:00
Ell
d0c805cf18 Fixed Element.OnChildAdded and Element.OnChildRemoved being called for grandchildren when a child is added 2022-09-13 15:44:12 +02:00
Ell
55735b4c64 Added Element.OnAddedToUi and Element.OnRemovedFromUi 2022-09-13 14:27:49 +02:00
Ell
b4e1b00c88 finished static sprite batch optimizations 2022-09-12 23:51:12 +02:00
Ell
742bc52437 First pass at drastically improving StaticSpriteBatch batching performance 2022-09-12 21:51:21 +02:00
Ell
d6e7c1086d Discard old data when updating a StaticSpriteBatch 2022-09-12 21:13:43 +02:00
Ell
2d3d93c610 Generified UiMarkdownParser by adding abstract UiParser 2022-09-04 12:26:55 +02:00
Ell
023233a062 Fixed some TokenizedString tokens starting with a line break not being split correctly 2022-09-02 14:07:23 +02:00
Ell
0fe4c940d7 Fixed TokenizedString handling trailing spaces incorrectly in the last line of non-left aligned text 2022-09-02 13:58:12 +02:00
Ell
32dad847a0 adAdded TokenizedString.Realign 2022-09-02 13:42:21 +02:00
Ell
6a271af017 Fixed UiMarkdownParser not parsing formatting in headings and blockquotes 2022-08-19 17:57:44 +02:00
Ell
af0aee6c40 Added Element.AutoSizeAddedAbsolute to allow for more granular control of auto-sizing 2022-08-16 14:20:32 +02:00
Ell
e50d28ce11 Allow using external gesture handling alongside InputHandler through ExternalGestureHandling 2022-08-11 11:37:41 +02:00
Ell
f0432ab981 Fixed panels sometimes not drawing children that came into view when their positions changed unexpectedly 2022-08-04 21:03:16 +02:00
Ell
8332f56237 improved changelog md formatting 2022-08-04 20:44:54 +02:00
Ell
b7b1490d70 Fixed paragraphs sometimes not updating their position properly when hidden because they're empty 2022-08-04 20:43:04 +02:00
Ell
4d34a2fac1 Fixed parents of elements that prevent spill not being notified properly 2022-08-04 20:14:29 +02:00
Ell
b2898a8eae Made RuntimeTexturePacker restore texture region name and pivot when packing 2022-08-03 10:37:59 +02:00
Ell
b012c65990 Allow data texture atlas pivots and offsets to be negative 2022-08-02 23:56:18 +02:00
Ell
72647a2edf Fixed data texture atlases not allowing most characters in their region names 2022-08-02 23:02:34 +02:00
Ell
5aaba0c583 Close other dropdowns when opening a dropdown 2022-07-29 22:24:37 +02:00
Ell
8044cb59cb Improved EnumHelper.GetValues signature to return an array 2022-07-29 19:52:01 +02:00
Ell
f0cc4b0c80 Allow elements to auto-adjust their size even when their children are aligned oddly 2022-07-27 11:19:40 +02:00
Ell
b78465c054 bump upcoming version 2022-07-25 18:56:21 +02:00
Ell
9b090c954f 6.0.0 2022-07-25 18:44:16 +02:00
Ell
711f60a97e Updated demos and templates to MonoGame 3.8.1 2022-07-25 18:23:16 +02:00
Ell
48dfa8f1ee Allow RandomExtensions to operate on any ICollection 2022-07-19 15:20:19 +02:00
Ell
ba1058748e Allow specifying multiple names for a DataTextureAtlas region 2022-07-18 20:41:19 +02:00
Ell
08e28cb95b Allow manually setting a RootElement as CanBeActive 2022-07-18 15:53:26 +02:00
Ell
d32bc0cbfb Added TryGetUpTime, GetUpTime, TryGetTimeSincePress and GetTimeSincePress to InputHandler 2022-06-29 15:57:41 +02:00
Ell
6e2c2b3730 Improved the way terminating formatting codes work by introducing SimpleEndCode 2022-06-26 15:08:11 +02:00
Ell
92018eea1e Made the base package's description more descriptive
This reverts commit 2973bd98e2.
This reverts commit 04c6bb5ff8.
2022-06-26 14:25:19 +02:00
Ell
2973bd98e2 moved MLEM's Input namespace into its own package 2022-06-25 23:46:06 +02:00
Ell
87b575b5c3 bump major version and cleaned up readme 2022-06-24 21:39:53 +02:00
Ell
5d7d238630 added MLEM.FNA 2022-06-24 14:01:26 +02:00
Ell
aff61508c4 Added TextInput class, which is an isolated version of MLEM.Ui's TextField logic 2022-06-19 18:17:46 +02:00
Ell
1795acb30e Added GenericInput support for Buttons.None 2022-06-15 11:44:28 +02:00
Ell
59af00c89a Code cleanup, and marked AStar.InfiniteCost as obsolete 2022-06-15 11:38:11 +02:00
Ell
f53305ce42 Added UiMarkdownParser 2022-06-13 23:52:10 +02:00
Ell
d03116a49a Allow using multiple textures in a StaticSpriteBatch 2022-06-08 11:05:18 +02:00
Ell
7d9633d989 Fixed StaticSpriteBatch not resetting its texture when all items are removed 2022-06-07 11:57:25 +02:00
Ell
42993f1a0b Added LayerPositionF to MLEM.Extended 2022-06-06 23:50:13 +02:00
Ell
16053d9d04 further improve runtime texture packer performance by caching the first possible position for a request of a given size 2022-05-28 21:21:25 +02:00
Ell
cb496f613f Improve RuntimeTexturePacker performance by checking against packed textures in the same order as packing 2022-05-27 11:02:33 +02:00
Ell
951f4babd5 Fixed gamepad auto-nav angle being incorrect for some elements 2022-05-26 11:39:55 +02:00
Ell
b9f2de8290 Made RuntimeTexturePacker padding be per request and improve performance by caching texture data 2022-05-25 13:18:25 +02:00
Ell
f0f1d7f8ed added runtime texture region padding and other improvements 2022-05-25 12:37:51 +02:00
Ell
fcca5300ae Fixed elements' OnDeselected events not being raised when CanBeSelected is set to false while selected 2022-05-21 20:42:54 +02:00
Ell
bd9d3f970b Added RandomPitchModifier and GetRandomPitch to SoundEffectInfo 2022-05-20 16:59:28 +02:00
Ell
161d44dbe0 Added an Enum constructor to GenericInput 2022-05-18 21:45:38 +02:00
Ell
30bcdc1710 Allow comparing Keybind and Combination based on the amount of modifiers they have 2022-05-18 18:50:00 +02:00
Ell
6dc4011ef5 Added optional isKeybindAllowed parameter to KeybindButton 2022-05-18 15:54:29 +02:00
Ell
5ba550619d Added AndThen to Easings 2022-05-10 21:32:28 +02:00
Ell
7ebbe49786 Added ReverseInput and ReverseOutput to Easings 2022-05-10 20:56:14 +02:00
Ell
874be1fd6e Fixed SoundEffectReader incorrectly claiming it could read ogg and mp3 files 2022-05-10 15:58:47 +02:00
Ell
47b58b1942 Premultiply textures when using RawContentManager 2022-05-07 21:39:36 +02:00
Ell
16b9e26969 Fixed elements sometimes staying hidden when they shouldn't in scrolling panels 2022-05-04 13:54:15 +02:00
Ell
98118e540a Allow manually hiding a paragraph without its text overriding the hidden state 2022-05-04 13:22:24 +02:00
Ell
58b716aabb Don't query a paragraph's text callback in the constructor 2022-05-03 20:26:39 +02:00
Ell
63d2353694 Improved ElementHelper.AddTooltip overloads 2022-05-03 20:10:26 +02:00
Ell
15a57d8db9 Turned Tooltip paragraph styling into style properties 2022-05-03 19:35:44 +02:00
Ell
5a1b31e8a3 Allow adding dropdown and tooltip elements at a specified index 2022-05-03 19:07:53 +02:00
Ell
435042e1f5 Allow Tooltip to manage more than one paragraph and make it easier to add new lines 2022-05-03 18:58:18 +02:00
Ell
610527374e Make use of the new consuming variants in InputHandler and Keybind to consume UiControls inputs 2022-04-30 12:14:08 +02:00
Ell
4a88cca8bf also added consuming variants of IsPressed to Keybind 2022-04-30 11:38:05 +02:00
Ell
46c77d2444 Added InputHandler.InvertPressBehavior 2022-04-29 15:34:04 +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