Skip to content

Miscellaneous

  • Support for the armeabi Android ABI has been dropped, since it's no longer supported by the Android SDK.

Input

  • Added the GetIsRelativeModeEnabled() and SetIsRelativeModeEnabled() methods to MouseDevice.
    • When the mouse is in relative mode, the cursor is hidden and the mouse will produce continuous motion events even if it is directly against the edge of the screen.
  • Added several methods to MouseDevice for setting the cursor's position:
    • WarpToWindow()
    • WarpToWindowCenter()
    • WarpToPrimaryWindow()
    • WarpToPrimaryWindowCenter()
Assets 2

@tlgkccampbell tlgkccampbell released this May 31, 2019 · 9 commits to develop since this release

Content

  • Metadata files are now correctly handled when they are loaded from a stream.

Graphics

  • FIX: Fixed a NullReferenceException when drawing text icons.
  • FIX: Always try to request a newer version of OpenGL if it is available.

Presentation

  • FIX: Fixed a NullReferenceException when using the system cursor.

ImGui

  • FIX: Ensure that the scissor test is properly enabled so that ImGui windows are properly clipped.
Assets 2

@tlgkccampbell tlgkccampbell released this Mar 16, 2019 · 22 commits to develop since this release

Platform

  • Added the IsCursorVisible property to IUltravioletPlatform
Assets 2

@tlgkccampbell tlgkccampbell released this Mar 7, 2019 · 23 commits to develop since this release

Core

  • Ultraviolet's core timing logic can now be overridden if you want more control over your application's main loop.
    • A virtual method called CreateTimingLogic() has been added to the following classes:
      • UltravioletApplication
      • UltravioletActivity
      • UltravioletForm
    • Return a new instance of the IUltravioletTimingLogic interface from that method in order to control the timing of your Draw() and Update() calls. The UltravioletTimingLogic class is the default implementation of this interface which is used if CreateTimingLogic() is not overridden.
Assets 2

@tlgkccampbell tlgkccampbell released this Feb 28, 2019 · 25 commits to develop since this release

Graphics

  • FIX: Fixed a bug which could cause a System.OverflowException on some systems when altering window styles.
Assets 2

@tlgkccampbell tlgkccampbell released this Feb 1, 2019 · 26 commits to develop since this release

Presentation

  • FIX: Dependency property inheritance is now correctly implemented.
  • The TextElement.Font, TextElement.FontStyle, TextElement.Foreground, and TextElement.Background attached properties are now inherited.
  • The TextOptions.TextRenderingMode, TextOptions.TextScript, and TextOptions.TextLanguage attached properties are now inherited.
  • The FlowDirection dependency property is now inherited.
Assets 2

@tlgkccampbell tlgkccampbell released this Jan 1, 2019 · 33 commits to develop since this release

Core

  • There are now Xamarin.Mac Modern versions of all Ultraviolet assemblies, as well as corresponding NuGet packages. A new compatibility shim, Ultraviolet.Shims.macOSModern, has also been provided for this use case.

Graphics

  • Fixed a bug causing a crash on .NET Core 3.0 Preview.
  • The VertexFormat enumeration has been renamed to VertexElementFormat.
  • The VertexUsage enumeration has been renamed to VertexElementUsage.
  • Added the Name property to VertexElement. This property can be set using an optional parameter in the constructor. If specified, it will override the default name used for the vertex element in shaders.
  • Numerous fixes and improvements to text rendering.

Presentation

  • The TextEditor control now supports text shaping via the TextOptions.TextRenderingMode attached property.
Assets 2

@tlgkccampbell tlgkccampbell released this Oct 29, 2018 · 73 commits to develop since this release

Core

  • Added bidirectional implicit conversion operators between Vector2, Vector3, Vector4, Quaternion, Matrix, and their equivalent types from the System.Numerics.Vectors package.

UI

  • Added a new NuGet package, Ultraviolet.ImGuiViewProvider. This package, intended as a simpler alternative to Ultraviolet.Presentation, allows an Ultraviolet application to use the immediate-mode Dear ImGui library for constructing user interfaces.

Graphics

  • FIX: The SetData() methods on IndexBuffer and VertexBuffer now correctly support all valid types.
  • FIX: Fix for caching behavior in OpenGL effect parameters when using array types.
  • Made changes to the TextShaper API:
    • Removed GuessUnicodeProperties() method.
    • Removed Length property.
    • Added SetUnicodeProperties() method.
    • Added GetUnicodeProperties() method.
    • Added RawLength property.
  • Added SourceIndex property to ShapedChar structure.
  • Added SetRawData() method to Texture2D, Texture3D, VertexBuffer, IndexBuffer, and Surface2D classes.
Assets 2

@tlgkccampbell tlgkccampbell released this Sep 1, 2018 · 156 commits to develop since this release

General

  • NuGet packages for .NET Core 2.1 are now available.
    • Ultraviolet.Game.NETCore contains references to all other required assemblies.
    • Ultraviolet.Shims.NETCore contains the platform compatibility shim for .NET Core 2.1.
  • All Ultraviolet projects have been downgraded from .NET Framework 4.7 to 4.6.1 for increased compatibility.

Core

  • Reworked how the host core times its main loop for hopefully more consistent performance.
  • The Matrix structure has the following new methods:
    • CreateFromQuaternion()
    • CreateFromYawPitchRoll()
    • CreateFromTranslationRotationScale()

Presentation

  • The TextDirection attached property has been replaced with FlowDirection in order to conform more closely to the Windows Presentation Foundation API.
  • The TextIsShaped attached property has been replaced with the TextRenderingMode attached property.
  • The TextRenderingMode, TextScript, and TextLanguage attached properties have been moved into the TextOptions static class.
  • The TextBox and PasswordBox classes now support right-to-left flow.
  • The UVML <StyleSheet> element now supports the Languages attribute. This attribute contains a comma-delimited list of two-letter ISO language names. If specified, the style sheet will only be included in the view style if the current language is included in this list.
  • The UVML <StyleSheet> element now supports the Cultures attribute. This attribute contains a comma-delimited list of ISO culture names. If specified, the style sheet will only be included in the view style if the current culture is included in this list.
Assets 2

@tlgkccampbell tlgkccampbell released this Aug 1, 2018 · 207 commits to develop since this release

Graphics

  • FIX: Added support for matrix array uniform values (thanks stefnotch!)
  • Added support for rendering complex scripts which require text shaping, such as Arabic.
  • Added support for rendering right-to-left text.
  • Updated the text layout engine to support right-to-left layout.

UPF

  • Added the TextIsShaped, TextScript, TextDirection, and TextLanguage attached properties to provide support for complex scripts and right-to-left layout on most controls.
    • Text editing controls do not currently support these properties.
Assets 2
You can’t perform that action at this time.