Releases: UltravioletFramework/ultraviolet
Releases · UltravioletFramework/ultraviolet
Ultraviolet Framework 2023.07.0.2
What's Changed
- Upgraded projects to .NET Core 6.0 for both Desktop(net6.0) and Android(net6.0-android)
- Dropped support for .NET Core 2
- Dropped support for .NET Core 3
- Dropped support for .NET Standard 2.0
- Fixed bug in BASS audio backend which was causing a crash on Android
- Fixed leak in ExpandingPool
- Fixed shader compilation for GLES2
- Support Byte4 vertex format in VertexDeclaration stride calculation
- Restored FMOD binaries
- Added new package Ultraviolet.Image to replace System.Drawing Bitmap
Ultraviolet Framework 2019.06
Miscellaneous
- Support for the
armeabi
Android ABI has been dropped, since it's no longer supported by the Android SDK.
Input
- Added the
GetIsRelativeModeEnabled()
andSetIsRelativeModeEnabled()
methods toMouseDevice
.- 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()
Ultraviolet Framework 2019.05
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.
Ultraviolet Framework 2019.03.0.3902
Platform
- Added the
IsCursorVisible
property toIUltravioletPlatform
Ultraviolet Framework 2019.03
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 yourDraw()
andUpdate()
calls. TheUltravioletTimingLogic
class is the default implementation of this interface which is used ifCreateTimingLogic()
is not overridden.
- A virtual method called
Ultraviolet Framework 2019.02
Graphics
- FIX: Fixed a bug which could cause a
System.OverflowException
on some systems when altering window styles.
Ultraviolet Framework 2019.01
Presentation
- FIX: Dependency property inheritance is now correctly implemented.
- The
TextElement.Font
,TextElement.FontStyle
,TextElement.Foreground
, andTextElement.Background
attached properties are now inherited. - The
TextOptions.TextRenderingMode
,TextOptions.TextScript
, andTextOptions.TextLanguage
attached properties are now inherited. - The
FlowDirection
dependency property is now inherited.
Ultraviolet Framework 2018.12
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 toVertexElementFormat
. - The
VertexUsage
enumeration has been renamed toVertexElementUsage
. - Added the
Name
property toVertexElement
. 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 theTextOptions.TextRenderingMode
attached property.
Ultraviolet Framework 2018.10
Core
- Added bidirectional implicit conversion operators between
Vector2
,Vector3
,Vector4
,Quaternion
,Matrix
, and their equivalent types from theSystem.Numerics.Vectors
package.
UI
- Added a new NuGet package,
Ultraviolet.ImGuiViewProvider
. This package, intended as a simpler alternative toUltraviolet.Presentation
, allows an Ultraviolet application to use the immediate-mode Dear ImGui library for constructing user interfaces.
Graphics
- FIX: The
SetData()
methods onIndexBuffer
andVertexBuffer
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.
- Removed
- Added
SourceIndex
property toShapedChar
structure. - Added
SetRawData()
method toTexture2D
,Texture3D
,VertexBuffer
,IndexBuffer
, andSurface2D
classes.
Ultraviolet Framework 2018.08
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 withFlowDirection
in order to conform more closely to the Windows Presentation Foundation API. - The
TextIsShaped
attached property has been replaced with theTextRenderingMode
attached property. - The
TextRenderingMode
,TextScript
, andTextLanguage
attached properties have been moved into theTextOptions
static class. - The
TextBox
andPasswordBox
classes now support right-to-left flow. - The UVML
<StyleSheet>
element now supports theLanguages
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 theCultures
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.