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
ff510c54c5
Fixed tiled NinePatches missing pixels with some scales
2021-08-06 22:40:32 +02:00
51833d523d
Improved CopyExtensions construction speed
2021-08-05 03:59:14 +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
db7ee04d30
allow enumerating SoundEffectInstanceHandler entries
2021-08-02 20:34:13 +02:00
516265bf5b
Fixed GenericFont's SplitString using incorrect width for special characters and improved documentation
2021-07-28 17:22:47 +02:00
57f8e56c38
Improved RawContentManager's reader loading and added better exception handling
2021-07-27 16:40:42 +02:00
8fac4a0b69
Allow adding Link children to non-Paragraph elements
2021-07-24 07:36:42 +02:00
01bec459de
disallow creating Paragraphs without fonts
2021-07-22 04:51:41 +02:00
bb9b322580
Fixed tooltips with custom text scale not snapping to the mouse correctly in their first displayed frame
2021-07-22 04:27:57 +02:00
ebc6ec872b
use a heuristic for GenericStashFont line height calculations and allow specifying a custom line height
2021-07-20 01:23:44 +02:00
1067055bb5
code cleanup
2021-07-19 23:49:16 +02:00
a76c14b243
Adjusted GenericStashFont line height calculations to result in the same values as GenericSpriteFont
2021-07-19 23:10:27 +02:00
abac738123
Removed LINQ Any and All usage in various methods to improve memory usage
2021-07-18 22:18:46 +02:00
a52b46dce9
Added ColorExtensions.Invert and made ColorHelper.Invert obsolete
2021-07-13 22:34:32 +02:00
6aa9ec03d4
Added customizable overloads for Keybind, Combination and GenericInput ToString methods
2021-07-13 15:41:42 +02:00
27fc5a74d9
added the ability to specify a coordinate offset in data texture atlases
2021-07-12 03:14:05 +02:00
bb189261d7
Added a masking character to text fields
2021-07-08 18:17:39 +02:00
f352e6b437
added Direction2Helper.RotateBy
2021-07-05 19:46:39 +02:00
642608a8a2
Fixed a crash if a paragraph has a link formatting code, but no font
2021-07-03 01:50:37 +02:00
f71eb6eddb
improved NinePatch memory performance
2021-07-03 01:44:39 +02:00
00d9ee99d8
Merge branch 'release' into main
...
# Conflicts:
# CHANGELOG.md
2021-07-01 05:06:39 +02:00
19893855dc
added the changelog to the website
2021-07-01 05:00:59 +02:00
579fd38533
very important formatting change in the changelog
2021-06-30 19:46:38 +02:00
58bd076e2a
Set default values for InputHandler held and pressed keys to avoid an exception if buttons are held in the very first frame
2021-06-30 19:40:43 +02:00
25efa0bd50
bump upcoming version
2021-06-30 00:30:17 +02:00
5564878c9d
release 5.0.0
2021-06-30 00:18:54 +02:00
5756708010
added quick links to changelog
2021-06-29 00:57:04 +02:00
fe9b3830f8
(finally) added a changelog
2021-06-28 15:38:30 +02:00