627350ca31
Added ElementHelper.MakeGrid
2022-10-17 10:57:41 +02:00
8d689952cc
Made GenericFont and TokenizedString support UTF-32 characters like emoji
2022-10-15 13:48:45 +02:00
560c797b87
Fixed InputHandler and UiControls maintaining old input states when input types are toggled off
2022-10-10 19:29:01 +02:00
d6309ce9c1
Added the ability to find paths to one of multiple goals using AStar
2022-10-10 11:31:23 +02:00
d3b153fd45
Cleaned up AStar code
2022-10-09 22:38:10 +02:00
0b6e6743cf
some more AStar improvements
2022-10-09 21:04:39 +02:00
3e4c4e566d
Merge remote-tracking branch 'origin/main'
2022-10-09 20:07:51 +02:00
bfa4ab4ac2
Added the ability to include special per-position directions in AStar pathfinding
2022-10-09 20:07:38 +02:00
92f9164256
Added Panel.ScrollToElement
2022-09-24 18:46:33 +02:00
d6a51776e5
Fixed the scroll bar of an empty panel being positioned incorrectly
2022-09-24 11:04:23 +02:00
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
48735c3d36
Multi-target net452, making MLEM compatible with MonoGame for consoles
2022-09-14 21:17:43 +02:00
7d8b14ee8d
added from instruction to DataTextureAtlas
2022-09-14 11:59:28 +02:00
914b0d9c2d
- Improved DataTextureAtlas parsing
...
- Added data and copy instructions to DataTextureAtlas
2022-09-14 10:40:52 +02:00
a6fd2c052e
Added ScrollBar.MouseDragScrolling
...
Closes #5
2022-09-13 16:14:36 +02:00
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
5c8ef3d254
Added RotationVector extension methods for Matrix and Quaternion
2021-11-22 14:48:38 +01:00
b30ec9408b
Added Padding.Empty
2021-11-18 10:58:50 +01:00
3fc635fb4d
display breaking changes in italics
2021-11-18 10:55:11 +01:00
a59f1eb8af
Added missing easing functions Quart and Quint to Easings
2021-11-16 15:08:35 +01:00
91d34c0a83
Remember the location that a scroll bar scroller was grabbed in when scrolling
2021-11-14 21:32:13 +01:00
2a7dc119eb
Removed ScrollBar ScrollerOffset (which didn't actually work)
2021-11-14 21:04:50 +01:00
9cd72e9b4e
Fixed panels that don't auto-hide their scroll bars ignoring their width for child padding
2021-11-14 19:50:24 +01:00
9ef5c35e52
Set GraphicsResource Name when loading assets using RawContentManager
2021-11-08 23:46:59 +01:00
ed96938a1c
updated documentation articles
2021-11-08 02:50:53 +01:00
3d0250bf86
Calculate panel scroll bar height based on content height
2021-11-08 02:02:59 +01:00
8e83cc06a6
Added JsonTypeSafeWrapper and JsonTypeSafeGenericDataHolder
2021-11-06 23:38:21 +01:00
115b05beaa
Allow RuntimeTexturePacker to automatically dispose submitted textures when packing
2021-11-01 16:00:13 +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
0809cd0218
Added style properties for a lot of hardcoded default element styles
2021-10-29 23:33:15 +02:00
9ddc1f6975
Made Image ScaleToImage take ui scale into account
2021-10-29 17:11:45 +02:00
2be39a740e
improve handling of arbitrary Epsilon values
2021-10-28 23:26:42 +02:00
b271518956
Exposed Camera's RoundPosition
2021-10-19 22:06:49 +02:00
d89d8571c7
added StaticSpriteBatch
2021-10-17 23:20:05 +02:00
65908688f1
Use TitleContainer for opening streams where possible
2021-10-16 20:22:06 +02:00
5f2eb1845f
Fixed text not being pasted into a text field at all if it contains characters that don't match the input rule
2021-10-12 19:58:31 +02:00
9aef994c51
Added GenericFont SplitStringSeparate which differentiates between existing newline characters and splits due to maximum width
2021-10-12 03:23:35 +02:00
11dd939009
Added a multiline editing mode to TextField
2021-10-12 02:16:09 +02:00
8f5d3083b5
Allow specifying a maximum amount of characters for a TextField
2021-10-11 23:35:50 +02:00
fd5b83eaa0
added a strikethrough formatting code
2021-10-10 20:30:40 +02:00
9743c05e1a
Cache TokenizedString inner offsets for non-Left text alignments
2021-10-04 23:57:58 +02:00
f021215066
fixed VerticalSpace height parameter being an integer
2021-10-01 03:42:27 +02:00
516676e044
bump upcoming version
2021-09-24 17:00:05 +02:00
443bb4d6c3
release 5.1.0
2021-09-24 16:51:06 +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
81dcbfb9a1
Fixed DynamicEnum AddFlag going into an infinite loop
2021-09-22 20:33:11 +02:00
9890c4895c
Fixed tooltips not displaying correctly with auto-hiding paragraphs
2021-09-09 16:53:12 +02:00
54e3c98029
Improved DynamicEnum caching
2021-09-05 16:18:26 +02:00
6537ff00c1
Improved KeysExtensions memory usage
2021-08-27 20:36:04 +02:00
866dad49ab
Use FontStashSharp's built-in LineHeight property for GenericStashFont
2021-08-19 21:43:17 +02:00