The Ultraviolet Framework is a .NET game development framework written in C#.
Miscellaneous
armeabi
Android ABI has been dropped, since it's no longer supported by the Android SDK.Input
GetIsRelativeModeEnabled()
and SetIsRelativeModeEnabled()
methods to MouseDevice
.
MouseDevice
for setting the cursor's position:
WarpToWindow()
WarpToWindowCenter()
WarpToPrimaryWindow()
WarpToPrimaryWindowCenter()
Content
Graphics
NullReferenceException
when drawing text icons.Presentation
NullReferenceException
when using the system cursor.ImGui
Platform
IsCursorVisible
property to IUltravioletPlatform
Core
CreateTimingLogic()
has been added to the following classes:
UltravioletApplication
UltravioletActivity
UltravioletForm
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.Graphics
System.OverflowException
on some systems when altering window styles.Presentation
TextElement.Font
, TextElement.FontStyle
, TextElement.Foreground
, and TextElement.Background
attached properties are now inherited.TextOptions.TextRenderingMode
, TextOptions.TextScript
, and TextOptions.TextLanguage
attached properties are now inherited.FlowDirection
dependency property is now inherited.Core
Ultraviolet.Shims.macOSModern
, has also been provided for this use case.Graphics
VertexFormat
enumeration has been renamed to VertexElementFormat
.VertexUsage
enumeration has been renamed to VertexElementUsage
.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.Presentation
TextEditor
control now supports text shaping via the TextOptions.TextRenderingMode
attached property.Core
Vector2
, Vector3
, Vector4
, Quaternion
, Matrix
, and their equivalent types from the System.Numerics.Vectors
package.UI
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
SetData()
methods on IndexBuffer
and VertexBuffer
now correctly support all valid types.TextShaper
API:
GuessUnicodeProperties()
method.Length
property.SetUnicodeProperties()
method.GetUnicodeProperties()
method.RawLength
property.SourceIndex
property to ShapedChar
structure.SetRawData()
method to Texture2D
, Texture3D
, VertexBuffer
, IndexBuffer
, and Surface2D
classes.General
Ultraviolet.Game.NETCore
contains references to all other required assemblies.Ultraviolet.Shims.NETCore
contains the platform compatibility shim for .NET Core 2.1.Core
Matrix
structure has the following new methods:
CreateFromQuaternion()
CreateFromYawPitchRoll()
CreateFromTranslationRotationScale()
Presentation
TextDirection
attached property has been replaced with FlowDirection
in order to conform more closely to the Windows Presentation Foundation API.TextIsShaped
attached property has been replaced with the TextRenderingMode
attached property.TextRenderingMode
, TextScript
, and TextLanguage
attached properties have been moved into the TextOptions
static class.TextBox
and PasswordBox
classes now support right-to-left flow.<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.<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.