Myra Versions Save

UI Library for MonoGame, FNA and Stride

1.4.0

2 years ago

Changes:

  • Major Layout System Revamp. Previously Myra used global coordinates only. And the property Widget.Bounds was relative to the screen. Now Widget.Bounds is zero-based. Two new methods had been added - Widget.ToGlobal and Widget.ToLocal - to convert between global screen and local widget coordinates.
  • New Property Widget.Scale. It allows to set Scale for individual widgets. Also it is possible to set the scale for the whole Desktop(see Desktop.Scale).

Closed Issues:

  • #328 - Feature Request: Widget.Scale property
  • #336 - Refactoring: Make Widget.Bounds relative to container rather than absolute
  • #352 - Issue with the cursor when using a FontEffect.

1.3.2

2 years ago

Closed Issues: #342 - Bump FontStashSharp to 1.0.3 #343 - Expose ScrollViewers for ListBoxes and ComboBoxes

1.3.1

2 years ago

Bumped FontStashSharp to 1.0.0 and made many small fixes.

1.3.0

2 years ago

New Features:

  • MyraEnvironment.SmoothText. Turning this setting to true switches the texture filtering to linear when rendering text. It makes the whole rendering somewhat slower as the texture filtering is switched between nearest and linear often. However the text becomes more smooth. It is quite noticeable if Desktop is upscaled (i.e. Desktop.Transform = Matrix.CreateScale(2.0f, 2.0f, 1.0f);).
  • New Sample: Myra.Samples.TextRendering. This sample allows to test various scaling and text rendering settings. Also it's first sample that uses two Desktop objects at once. image
  • New Property: Widget.ZIndex.
  • Now it's no longer required to click on a ScrollViewer for it to accept mouse wheel focus. Moving mouse over is enough.
  • Changed default stylesheet font to Inter-Regular.ttf(https://fonts.google.com/specimen/Inter)

Closed Issues: #323 - Feature Request: Widget.ZOrder property #325 - Add PlacedChanged event handler to Widget #327 - Add overload for drawing arcs & shorten methods #330 - Feature Request: Desktop.TextureFilter property #331 - New Sample: Myra.Samples.TextRendering #332 - Feature Request: '\n' new line text command #333 - Make default stylesheet font dynamic(aka loaded from ttf) #334 - Bump FontStashSharp to 0.9.5 #335 - ScrollViewer should receive mouse wheel focus just by aiming mouse. The click shouldn't be necessary.

1.2.4

2 years ago

New Features:

  • Choose positions of tabs in the TabControl widget: l7bp11DWnu

  • New parameter in Project.LoadFromXml that allows to pass an object which will be used to subscribe for ui events. See #295 for more details.

Closed Issues:

  • #307 - Bug?: TabItem.SelectedChanged only fires on deselect
  • #313 - Bug: Removing TabItems from a TabCollection throws NullReferenceException
  • #318 - Weird behavior of the scrollbar in the left panel of GUI in Myra AllSamples demo in a Myra.PlatformAgnostic
  • #319 - Editing stylesheet in MyraPad shows an error: Mandatory attribute 'TextureRegionAtlas' doesnt exist
  • #320 - MyraPad doesn't show suggestion to add MenuItem within MenuItem
  • #321 - Bug: Changing Slider value from external source does not set position of knob correctly
  • #322 - There is no way to tell Myra.PlatformAgnostic that the game is disposed leading to crashes and graphical glitches.

Merged PRs:

  • #295 - Extending xmmp features to ensure hardcoding is (less) necessary
  • #312 - Add TabSelectorPosition to TabControl
  • #316 - Handle UTF16 surrogate pairs in text boxes

1.2.3

3 years ago

Changes:

  • Myra now uses https://github.com/rds1983/MyraTexturePacker format to store the texture atlases. Though it still possible to load them from LibGDX .atlas. It is recommended to convert it using the new utility Myra.GdxTextureAtlasToMyra.exe that is included in the binary distribution.
  • Added property name filter to the MyraPad
  • Removed property Widget.IsDraggable in favor of the new enum value DragDirection.None
  • Various bug fixes

Closed Issues:

  • #283 - ComboBox Closes on TouchDown, not TouchUp
  • #287 - Myrapad: if file has changed name/was moved/no longer exists, then exception is thrown at next startup
  • #288 - Myrapad: Studio.cs -> LoadObjectAsync doesn't check if Project != null
  • #289 - Myrapad: Myrapad doesn't tell us where an error is in either the xmmp file or the styleguide
  • #290 - Myrapad: adding Label to a grid throws ''Keynotfoundexception'' inside an unknown dictionary
  • #297 - Make FormattedText.LayoutRow utf-aware
  • #298 - [Bug?] Inconsistent behavior between StackPanel.AddChild and RemoveChild
  • #299 - Convert texture atlases to MyraTexturePacker format
  • #301 - MyraPad: Add name filter to the property window
  • #302 - Throw more information exception if style doesnt exist rather then KeyNotFoundException
  • #303 - Remove property Widget.IsDraggable in favor of new enum value DragDirection.None
  • #305 - Add Myra.GdxTextureAtlasToMyra to the binary distribution

1.2.2

3 years ago

#276 - Remove MenuItem.Toggleable #277 - Add IMyraPlatform.GetTouchState() #278 - Open Desktop.HasExternalTextInput for Myra.PlatformAgnostic #279 - Call MenuItem.FireChanged when Text is changed #281 - Add FontFactory to Myra.PlatformAgnostic #282 - Register SoundEffectLoader in AssetManager

1.2.1.0

3 years ago

#275 - Export to C# generates weird font creation code

1.2.0.215

3 years ago

New Features:

Introduction of Myra.PlatformAgnostic, which is version of Myra that could be used in any C# game engine if necessary interfaces are implemented. New wiki entry: https://github.com/rds1983/Myra/wiki/Using-platform-agnostic-version-of-Myra

Fixed Issues

#274 - Colour picker alpha value