d0c805cf18
Fixed Element.OnChildAdded and Element.OnChildRemoved being called for grandchildren when a child is added
2022-09-13 15:44:12 +02:00
55735b4c64
Added Element.OnAddedToUi and Element.OnRemovedFromUi
2022-09-13 14:27:49 +02:00
b4e1b00c88
finished static sprite batch optimizations
2022-09-12 23:51:12 +02:00
742bc52437
First pass at drastically improving StaticSpriteBatch batching performance
2022-09-12 21:51:21 +02:00
d6e7c1086d
Discard old data when updating a StaticSpriteBatch
2022-09-12 21:13:43 +02:00
2d3d93c610
Generified UiMarkdownParser by adding abstract UiParser
2022-09-04 12:26:55 +02:00
023233a062
Fixed some TokenizedString tokens starting with a line break not being split correctly
2022-09-02 14:07:23 +02:00
0fe4c940d7
Fixed TokenizedString handling trailing spaces incorrectly in the last line of non-left aligned text
2022-09-02 13:58:12 +02:00
32dad847a0
adAdded TokenizedString.Realign
2022-09-02 13:42:21 +02:00
6a271af017
Fixed UiMarkdownParser not parsing formatting in headings and blockquotes
2022-08-19 17:57:44 +02:00
af0aee6c40
Added Element.AutoSizeAddedAbsolute to allow for more granular control of auto-sizing
2022-08-16 14:20:32 +02:00
e50d28ce11
Allow using external gesture handling alongside InputHandler through ExternalGestureHandling
2022-08-11 11:37:41 +02:00
f0432ab981
Fixed panels sometimes not drawing children that came into view when their positions changed unexpectedly
2022-08-04 21:03:16 +02:00
8332f56237
improved changelog md formatting
2022-08-04 20:44:54 +02:00
b7b1490d70
Fixed paragraphs sometimes not updating their position properly when hidden because they're empty
2022-08-04 20:43:04 +02:00
4d34a2fac1
Fixed parents of elements that prevent spill not being notified properly
2022-08-04 20:14:29 +02:00
b2898a8eae
Made RuntimeTexturePacker restore texture region name and pivot when packing
2022-08-03 10:37:59 +02:00
b012c65990
Allow data texture atlas pivots and offsets to be negative
2022-08-02 23:56:18 +02:00
72647a2edf
Fixed data texture atlases not allowing most characters in their region names
2022-08-02 23:02:34 +02:00
5aaba0c583
Close other dropdowns when opening a dropdown
2022-07-29 22:24:37 +02:00
8044cb59cb
Improved EnumHelper.GetValues signature to return an array
2022-07-29 19:52:01 +02:00
f0cc4b0c80
Allow elements to auto-adjust their size even when their children are aligned oddly
2022-07-27 11:19:40 +02:00
b78465c054
bump upcoming version
2022-07-25 18:56:21 +02:00
9b090c954f
6.0.0
2022-07-25 18:44:16 +02:00
711f60a97e
Updated demos and templates to MonoGame 3.8.1
2022-07-25 18:23:16 +02:00
48dfa8f1ee
Allow RandomExtensions to operate on any ICollection
2022-07-19 15:20:19 +02:00
ba1058748e
Allow specifying multiple names for a DataTextureAtlas region
2022-07-18 20:41:19 +02:00
08e28cb95b
Allow manually setting a RootElement as CanBeActive
2022-07-18 15:53:26 +02:00
d32bc0cbfb
Added TryGetUpTime, GetUpTime, TryGetTimeSincePress and GetTimeSincePress to InputHandler
2022-06-29 15:57:41 +02:00
6e2c2b3730
Improved the way terminating formatting codes work by introducing SimpleEndCode
2022-06-26 15:08:11 +02:00
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
2973bd98e2
moved MLEM's Input namespace into its own package
2022-06-25 23:46:06 +02:00
87b575b5c3
bump major version and cleaned up readme
2022-06-24 21:39:53 +02:00
5d7d238630
added MLEM.FNA
2022-06-24 14:01:26 +02:00
aff61508c4
Added TextInput class, which is an isolated version of MLEM.Ui's TextField logic
2022-06-19 18:17:46 +02:00
1795acb30e
Added GenericInput support for Buttons.None
2022-06-15 11:44:28 +02:00
59af00c89a
Code cleanup, and marked AStar.InfiniteCost as obsolete
2022-06-15 11:38:11 +02:00
f53305ce42
Added UiMarkdownParser
2022-06-13 23:52:10 +02:00
d03116a49a
Allow using multiple textures in a StaticSpriteBatch
2022-06-08 11:05:18 +02:00
7d9633d989
Fixed StaticSpriteBatch not resetting its texture when all items are removed
2022-06-07 11:57:25 +02:00
42993f1a0b
Added LayerPositionF to MLEM.Extended
2022-06-06 23:50:13 +02:00
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
cb496f613f
Improve RuntimeTexturePacker performance by checking against packed textures in the same order as packing
2022-05-27 11:02:33 +02:00
951f4babd5
Fixed gamepad auto-nav angle being incorrect for some elements
2022-05-26 11:39:55 +02:00
b9f2de8290
Made RuntimeTexturePacker padding be per request and improve performance by caching texture data
2022-05-25 13:18:25 +02:00
f0f1d7f8ed
added runtime texture region padding and other improvements
2022-05-25 12:37:51 +02:00
fcca5300ae
Fixed elements' OnDeselected events not being raised when CanBeSelected is set to false while selected
2022-05-21 20:42:54 +02:00
bd9d3f970b
Added RandomPitchModifier and GetRandomPitch to SoundEffectInfo
2022-05-20 16:59:28 +02:00
161d44dbe0
Added an Enum constructor to GenericInput
2022-05-18 21:45:38 +02:00
30bcdc1710
Allow comparing Keybind and Combination based on the amount of modifiers they have
2022-05-18 18:50:00 +02:00
6dc4011ef5
Added optional isKeybindAllowed parameter to KeybindButton
2022-05-18 15:54:29 +02:00
5ba550619d
Added AndThen to Easings
2022-05-10 21:32:28 +02:00
7ebbe49786
Added ReverseInput and ReverseOutput to Easings
2022-05-10 20:56:14 +02:00
874be1fd6e
Fixed SoundEffectReader incorrectly claiming it could read ogg and mp3 files
2022-05-10 15:58:47 +02:00
47b58b1942
Premultiply textures when using RawContentManager
2022-05-07 21:39:36 +02:00
16b9e26969
Fixed elements sometimes staying hidden when they shouldn't in scrolling panels
2022-05-04 13:54:15 +02:00
98118e540a
Allow manually hiding a paragraph without its text overriding the hidden state
2022-05-04 13:22:24 +02:00
58b716aabb
Don't query a paragraph's text callback in the constructor
2022-05-03 20:26:39 +02:00
63d2353694
Improved ElementHelper.AddTooltip overloads
2022-05-03 20:10:26 +02:00
15a57d8db9
Turned Tooltip paragraph styling into style properties
2022-05-03 19:35:44 +02:00
5a1b31e8a3
Allow adding dropdown and tooltip elements at a specified index
2022-05-03 19:07:53 +02:00
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
610527374e
Make use of the new consuming variants in InputHandler and Keybind to consume UiControls inputs
2022-04-30 12:14:08 +02:00
4a88cca8bf
also added consuming variants of IsPressed to Keybind
2022-04-30 11:38:05 +02:00
46c77d2444
Added InputHandler.InvertPressBehavior
2022-04-29 15:34:04 +02:00
6393d879d9
added SpriteBatchContext
2022-04-25 15:25:58 +02:00
c78bafd000
Ensure that Element.IsMouseOver is always accurate by making it an auto-property
2022-04-15 14:18:55 +02:00
783da33107
Fixed elements not being deselected when removed through RemoveChild
2022-04-15 14:16:38 +02:00
45afd9ac79
Added Element.AutoNavGroup which allows forming groups for auto-navigation
2022-04-14 17:54:25 +02:00
ad29b46df3
Fixed radio buttons not unchecking all other radio buttons with the same root element
2022-04-14 17:45:01 +02:00
f445f59078
Added consuming variants of IsPressed methods to InputHandler
2022-04-11 10:33:41 +02:00
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
62d2b28ec0
bump version
2022-04-08 14:50:14 +02:00
a1c5b8e2d6
5.3.0
2022-04-08 14:37:25 +02:00
4854d420e0
Fixed delayed tooltips sometimes displaying in the wrong location for one frame
2022-04-05 14:54:20 +02:00
393bd9ffe5
Allow tooltips to display for elements when selected in auto-nav mode
2022-04-05 14:42:30 +02:00
df0ad68837
Fixed tooltips sometimes ignoring manually set IsHidden values
2022-04-05 14:17:12 +02:00
94dec34470
render panel's render target in the Draw method
2022-03-26 21:13:05 +01:00
6a3c797eba
Fixed UiMetrics.ForceAreaUpdateTime being inaccurate for nested elements
2022-03-26 20:06:59 +01:00
ae6ce6e7d5
Added properties and constructors for existing operator overloads to GenericInput
2022-03-26 12:51:14 +01:00
4e122175b2
Allow ElementHelper's KeybindButton to accept a Keybind for clearing a combination
2022-03-26 12:41:19 +01:00
c6fe72bdc9
Multiple improvements to InputHandler key/button repeats:
...
- Trigger InputHandler key and gamepad repeats for the most recently pressed input
- Added InputHandler.TryGetDownTime and store the down times of inputs
- Removed InputHandler.StoreAllActiveInputs and always store all active inputs
2022-03-25 15:18:57 +01:00
bb7192b3cc
Fixed InputHandler.InputsPressed ignoring repeat events for keyboards and gamepads
2022-03-24 11:43:55 +01:00
c5b2b8798e
Fixed dropdowns with some non-selectable children failing to navigate when using gamepad controls
2022-03-17 20:46:49 +01:00
1f4f0cfa44
Fixed Element.IsSelected returning incorrect results when CanBeSelected changes
2022-03-17 20:45:28 +01:00
4aff5a2875
Fixed RootElement.CanSelectContent returning incorrect results when CanBeSelected changes in children
2022-03-17 20:36:30 +01:00
bb22bbdf75
Fixed children of Panel scroll bars also being scrolled
2022-03-17 20:04:58 +01:00
fa34258bbe
Added UiControls.AutoNavModeChanged event
2022-03-14 16:12:51 +01:00
5d97ab033f
Added GamepadExtensions.GetAnalogValue to get the analog value of any gamepad button
2022-03-14 15:15:30 +01:00
b77edd80d5
Allow specifying a custom position for a tooltip to snap to
2022-03-14 14:20:12 +01:00
f166c3d256
Fixed buttons and checkboxes changing their CanBeSelected and CanBePressed values when being disabled
2022-03-11 13:25:18 +01:00
2c90ca9b89
Fixed UiControls allowing for non-selectable or non-mouseable elements to be marked as selected or moused
2022-03-11 12:29:56 +01:00
0f4e67f20f
Fixed auto-navigating panels not scrolling to the center of elements properly
2022-03-10 18:04:36 +01:00
96f0c51757
Added RectangleF.DistanceSquared and RectangleF.Distance
2022-03-10 16:03:09 +01:00
a14a37cb91
Prefer elements that have the same parent as the currently selected element when using gamepad navigation
2022-03-10 15:00:42 +01:00
45955bb5e8
Improved gamepad navigation by employing angles between elements
2022-03-10 14:25:41 +01:00
cb8fed87e5
Automatically select the first element when a dropdown is opened in auto nav mode
2022-03-10 13:50:47 +01:00
48a4aa0588
Some keybind and keybind button improvements
2022-03-10 12:39:56 +01:00
d5ec0b8001
Allow setting a default color for clickable links in UiStyle
2022-03-07 12:00:33 +01:00
af7c341d83
Added float version of GetRandomWeightedEntry
2022-02-23 14:35:35 +01:00
c360c90f28
Fixed Code.Draw receiving the index in the current line rather than the current token
...
Closes #3
2022-02-14 00:24:31 +01:00
856d69b7db
Fixed a formatting Code only knowing about the last Token that it is applied in
...
Closes #3
2022-02-13 22:43:51 +01:00
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
ad2784a67e
Automatically update all elements when changing a ui system's viewport
2022-02-06 21:16:35 +01:00
ed88862194
Marked BeginDelegate and BeginImpl as obsolete
2022-02-02 18:17:53 +01:00
c880c3e011
Update elements less aggressively when changing a ui system's style
2022-01-30 16:56:07 +01:00
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
dc6c472b84
cleaned up DrawEarly documentation references
2022-01-30 12:20:32 +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
f7cf9460d6
Renamed GenericFont.OneEmSpace to Emsp (and marked OneEmSpace as obsolete)
2022-01-24 11:16:23 +01:00
c7f021e62d
Marked CopyExtensions as obsolete
2022-01-23 21:18:13 +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
94b6aa0d1b
Marked StyleProp equality members as obsolete
2022-01-22 23:20:04 +01:00
faa400c4e6
Added Element.OnStyleInit event
2022-01-22 23:05:29 +01:00
dbf370c968
Allow setting a default text alignment for paragraphs in UiStyle
2022-01-22 22:54:47 +01:00
58a0f8915a
Preserve texture region names when converting between MLEM and MG.Extended
2022-01-22 16:55:46 +01:00
3edd593886
Added TextureRegion.OffsetCopy
2022-01-22 16:51:42 +01:00
80a6c6b5e2
Avoid unnecessary panel updates by using an Epsilon comparison when scrolling children
2022-01-09 01:15:05 +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
68fc02b170
Fixed paragraph links having incorrect hover locations when using special text alignments
2022-01-07 20:50:32 +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
a61d7a9722
fixed changelog order
2022-01-02 23:31:47 +01:00
2699d0e1c2
Fixed StaticSpriteBatch handling rotated sprites incorrectly
2022-01-02 22:58:01 +01:00
04fab568f8
Make Newtonsoft.Json dependency optional for MLEM.Data
2022-01-02 22:51:52 +01:00
b2b34abcd0
Rethrow exceptions when no RawContentManager readers could be constructed
2022-01-02 22:49:39 +01:00
b4f79f0753
Added SoundEffectInstanceHandler.Stop
2021-12-28 14:45:20 +01:00
7e49eaef10
Allow for checkboxes and radio buttons to be disabled
2021-12-24 12:10:04 +01:00
5d9cccc9fd
Added ColorExtensions.Multiply
2021-12-22 14:24:37 +01:00
f5adf50823
Added StringBuilder overloads to GenericFont
2021-12-22 13:00:41 +01:00
17ed82fc3c
Generify GenericFont's string drawing
2021-12-22 12:46:17 +01:00
7f3abdada5
bump versions
2021-12-21 23:23:25 +01:00
c1d1c03063
release 5.2.0
2021-12-21 23:16:18 +01:00
c76357a9e3
Allow storing multiple texture regions per SpriteAnimation frame
2021-12-21 20:12:15 +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
ef3fcb2e9c
Improved MlemGame class
2021-12-13 00:39:36 +01:00
60dfbb1ec5
Added UiMetrics
2021-12-12 12:32:09 +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
0c881e374b
Marked features related to Lidgren.Network as obsolete
2021-12-03 12:52:26 +01:00
0371e6ce75
display breaking changes in bold
2021-11-29 21:44:00 +01:00
376a068864
Moved AutoTiling to Graphics namespace and removed deprecated Misc versions of SoundEffectInfo and SoundEffectInstanceHandler
2021-11-29 21:24:08 +01:00
53b93a34f8
Made TextFormatter string size based on the currently active font and added a formatting code to allow for inline font changes
2021-11-27 22:45:37 +01:00
ad1d6a864e
Added DrawExtendedAutoTile to the AutoTiling class
2021-11-27 15:03:30 +01:00
5cb77be410
Allow using StaticSpriteBatch for AutoTiling
2021-11-27 14:27:56 +01:00
84a6e5a29a
Fixed some end-of-line inconsistencies when using the Right text alignment
2021-11-22 18:52:52 +01:00
c9c9e566b1
Throw an exception when text formatter macros resolve recursively too many times
2021-11-22 17:50:17 +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