Version 2.1.0

  • Fixed Unhandled MouseDoubleClick wasn't generating MouseDown events.

Version 2.1.0rc4

  • Enhancement Added validation callbacks to BorderThickness, Margin, Padding and CornerRadius.
  • Enhancement Unity RenderTexture no longer updating when mesh not visible.
  • Enhancement Unity Updated support for gamepad.
  • Fixed IsHitTestVisible being ignored with touch input.
  • Fixed Binding a managed enum property to a string property displaying nothing.
  • Fixed RadioButton was incorrectly setting IsChecked local value on click.
  • Fixed C# color conversion from/to linear was not following WPF algorithm.
  • Fixed Crash when animation starting from constructor instead of Initialized event.
  • Fixed Crash if no Panel was set as root of ItemsPanelTemplate.
  • Fixed Crash when code-behind class inheriting from wrong parent class.
  • Fixed Unity removing /Library folder no longer corrupts XAML assets db.

Version 2.1.0rc3

  • Enhancement New Integration tutorial.
  • Enhancement Added support for horizontal mouse wheel.
  • Enhancement IView::AxisY and IView::AxisX renamed to Scroll and HScroll respectively.
  • Enhancement RepeatButton default values for Delay, Interval and ClickMode matching WPF.
  • Enhancement UserControl and CustomControl samples added to C# SDK.
  • Enhancement Minor improvement to rotated text rendering.
  • Enhancement Binding log messages improved.
  • Enhancement C++ FindResource(const char*) added to FrameworkElement.
  • Enhancement C# Color matching WPF.
  • Fixed Better support for degenerate matrices applied to visual elements.
  • Fixed Focus is no longer moved to the first control after View first layout.
  • Fixed C# proxies returning invalid pointer after being destroyed during Shutdown.
  • Fixed Keyboard crashing when focused element changing in the middle of notification.
  • Fixed InputBindings not using CommandParameter when command being invoked.
  • Fixed CheckBox default value for KeyboardNavigation.AcceptsReturn matching WPF.
  • Fixed KeyGestureConverter failing for some keys.
  • Fixed Directional navigation not working as expected sometimes.

Version 2.1.0rc2

  • Enhancement AppFramework DPI awareness in Win32 applications enabled.
  • Enhancement Blend, XamlPlayer and Performance tutorials updated.
  • Enhancement C++ BlendTutorial sample added.
  • Fixed Problem with NaN comparisons in double dependency properties.
  • Fixed Unity Support for all texture slots when rendering to texture.

Version 2.1.0rc1

  • Enhancement C++ UserControl and CustomControl samples added.
  • Enhancement C# Improved callstack for errors when crossing between C++ and C#.
  • Enhancement More improvements to Focus engagement.
  • Fixed TreeView.SelectedItem was keeping references to removed item when using ItemsSource.
  • Fixed Crash in Mouse when hovered element was destroyed.

Version 2.1.0b17

  • Enhancement Styling tutorial updated. Global dictionary now behaves exactly as WPF Application.Resources.
  • Enhancement C++ Commands samples added.
  • Enhancement Improvements to Focus engagement.
  • Fixed StaticResource search failed on Style.BasedOn using the same type key.

Version 2.1.0b16

  • Enhancement Added gamepad input buttons to Key enumeration.
  • Enhancement Focus engagement implemented.
  • Enhancement Half precision floats deprecated to avoid artifacts when rendering opacity groups.
  • Fixed C# Enum CLR properties not working.
  • Fixed MouseUp events had incorrect button state.
  • Fixed Opacities not working in a few GL devices due to incorrect glInvalidateFramebuffer usage.
  • Fixed Artifacts using VisualBrush with PPA enabled.

Version 2.1.0b15

  • Enhancement New C++ Architecture Guide.
  • Enhancement C++ All samples located in NoesisSDK/Data reviewed and improved.
  • Enhancement C++ Implemented automatic conversion to T* from Ptr<>.
  • Enhancement C++ New MakePtr function as an alternative to the '*new' idiom
  • Enhancement AppFramework Android compatibility with application framework.
  • Enhancement AppFramework Improved HighResTimer implementation to avoid float imprecisions.
  • Enhancement AppFramework Message loop improvements to support CADisplayLink and WebGL.
  • Enhancement AppFramework Touch keyboard implemented in iOS and Android.
  • Enhancement Added IView.AxisX() to input horizontal scroll.
  • Enhancement Improved color batching rendering debug mode.
  • Enhancement New XamlPlayer look, more friendly in all platforms.
  • Enhancement Improved the way touch Manipulations are updated, better refresh rate.
  • Fixed Selector.SelectedIndex incorrectly allowing values < -1.
  • Fixed Wrong default value of a DependencyProperty with type 'object'.
  • Fixed ContentPresenter not disconnecting template triggers when root was TextBlock.
  • Fixed Items not disconnected from ContentPresenter when directly connected without DataTemplate.
  • Fixed TabControl can move now between tabs using Ctrl+Tab.
  • Fixed ComboBox and Slider fully working with keyboard.
  • Fixed GetDefaultValueObject in PropertyMetadata crashing for types with sizeof(T) > sizeof(void*).
  • Fixed Bindings failing when converter was initially required and not needed after source value change.
  • Fixed Rendering artifacts with opacity groups and nested objects.

Version 2.1.0b12

  • Enhancement Many tutorials updated. Work in progress.
  • Enhancement Touch identifiers are now sent as 64-bits integer to Views.
  • Enhancement C++ Data/ samples updated. Work in progress.
  • Enhancement C++ AppFramework for macOS and iOS added to SDK.
  • Enhancement Unity New sample 'TicTacToe' added to Unity package.
  • Fixed DynamicResource was not searching in Application.Resources dictionary.
  • Fixed C# Custom enums were not working.
  • Fixed Freezable objects are now free-threaded when they are frozen.

Version 2.1.0b10

  • Feature C++ NoesisApp framework, a multiplatform open source library used for all our examples.
  • Feature C++ All our Unity samples are now included in the C++ SDK and in Github.
  • Feature C++ A logging handler can be passed to Noesis::GUI::Init.
  • Feature Unreal Engine is now a officially supported plugin. Added documentation for each sample in Github.
  • Enhancement C++ Changed all custom basic types to standard ones (uint32_t and friends).
  • Enhancement C++ No longer using nested namespaces. Now all Noesis API is inside namespace Noesis.
  • Enhancement KeyBinding exposing Key and Modifiers as bindable dependency properties.
  • Enhancement Very long text lines are now clipped and sent to GPU more efficiently.
  • Enhancement C++ Confusing SetAntialiasingMode() function in IView renamed to SetIsPPAAEnabled().
  • Enhancement C++ Added Activate() and Deactivate() to IView. ResetInputState() removed.
  • Enhancement C++ Improvements to Integration API: CreateVGContext() no longer necessary. See integration sample.
  • Enhancement C++ Support for enum class in reflection macros.
  • Enhancement C++ Noesis.dll is now compatible with delayed loading.
  • Enhancement C++ Noesis::GUI::SetTheme() is now named SetApplicationResources(). Behavior changed to mimic WPF.
  • Enhancement Support for system fonts (Windows for now) <TextBlock FontFamily="Arial"/>.
  • Enhancement PropertyMetadata.PropertyChangedCallback and CoerceValueCallback renamed to match WPF name.
  • Enhancement PropertyMetadata override now correctly accumulates PropertyChanged delegates.
  • Enhancement DependencyProperty.ValidateValueCallback renamed to match WPF name.
  • Enhancement Error not shown if Setter.TargetName, Trigger.SourceName or Condition.SourceName used inside a Style.
  • Enhancement Implemented BaseTextBox TextChanged and SelectionChanged events.
  • Enhancement x:Class type checks made less restrictive to continue loading the xaml.
  • Enhancement Unity Binding warnings can be enabled in NoesisSettings.
  • Enhancement Unity New HelloWorld sample.
  • Fixed Incorrect TextBox.SelectionStart when selection was done from right to left.
  • Fixed SelectionChanged event not raised on ListBoxItem.IsSelected modified.
  • Fixed BitmapImage.UriSource property can't be set on xaml.
  • Fixed Crash in TimeManager::UnregisterTarget.
  • Fixed Button now overrides AcceptsReturn to raise Click event on return key pressed.
  • Fixed Float rounding in layout generating unnecessary clipping.
  • Fixed TabControl not displaying tab content if SelectedIndex was initially set.
  • Fixed Crash when hovering over an element already destroyed.
  • Fixed Horizontal scroll of ListView / ListBox not working.
  • Fixed ContentPresenter was not removing old parent in some cases.
  • Fixed Unity Crash when rendering to texture using material without texture.
  • Fixed Unity NoesisEditor.OnSceneGUI throwing errors when Main Camera gets disabled or is not present.

Version 2.1.0b4

  • Enhancement C++ Nullables can now be constructed from nullptr.
  • Enhancement C++ Added RaiseCanExecuteChanged to BaseCommand class.
  • Enhancement C++ Count property now available to be bound in ObservableCollection.
  • Enhancement Unity Improved stability when reloading assemblies.
  • Fixed Unity Package no longer raising errors first time it is installed.
  • Fixed UpdateLayout not working when called from Loaded event handler.
  • Fixed OnCursorChanged crashing when element already removed from View.
  • Fixed LoadComponent() error message was not showing the correct uri.
  • Fixed IsSelected not updated correctly when inserting items in a single selection list.
  • Fixed TextBox internal text element shouldn't be affected by TextBlock styles.
  • Fixed Template element InputBindings and CommandBindings not being cloned.
  • Fixed Crash destroying Viewbox that was part of a template.

Version 2.1.0b3

  • Feature Unity 2017.1 and .NET 4.6 supported.
  • Enhancement DependencyObject is now more efficient when reading and writing properties.
  • Enhancement Button and MenuItem IsEnabled property updated when command CanExecuteChanged raised.
  • Enhancement Reduced the number of uncached file accesses to TrueType files.
  • Enhancement All platforms compiling with FAST_MATH.
  • Enhancement Many PlayStation 4 improvements and compatibility with latest SDK.
  • Enhancement Unity Reimport All button now scans assets in proper order.
  • Fixed Crash with binding set in non FrameworkElement object.
  • Fixed Elements invalidated during parent layout not correctly measured.
  • Fixed FillBehavior=Stop ignored when beginning controllable storyboard.
  • Fixed ListBox clipping not updated when using virtualization and changing size.
  • Fixed Selection not updated when adding or removing items to source collection.
  • Fixed Right clicking an item does not select it when ContextMenu is open.
  • Fixed Mouse Down/Up events order now matches WPF order.
  • Fixed TextBlock.Run not receiving ViewModel updates.
  • Fixed ComboBox appears with no selection even with SelectedIndex bound.
  • Fixed TextBlock and other classes didn't override DefaultStyleKey property.
  • Fixed EventTriggers in theme style not working.
  • Fixed Crash on TextBlock mouse over when inlines dynamically added.
  • Fixed Ribbon UI buttons not working first time selection is made.
  • Fixed UIElement flag properties still with old values when PropertyChangedCallback invoked.
  • Fixed Nullable properties not correctly animated.
  • Fixed Unity Attempting to debug scripts causes Unity to become non-responsive.

Version 2.1.0b2

  • Enhancement Better error messages including XAML file and line.
  • Fixed Inherited properties not invalidated when elements being removed from tree.
  • Fixed Implicit style lookup was incorrect compared to WPF for non Control elements.
  • Fixed Trigger actions in value providers invoked in inverse order of priority.
  • Fixed Crash in binding with RelativeSource FindAncestor when type was not resolved.
  • Fixed Popup Closed event was raised twice for ContextMenu.
  • Fixed Some controls were not removing logical children when being destroyed.
  • Fixed Crash calling already destroyed object during event delegate invocation.
  • Fixed ListBoxItem.IsSelected not updating inside SelectionChanged event.
  • Fixed StringFormat now supports non numerical types when binding.

Version 2.1.0b1

  • Enhancement Improvements to error handling in XAML parser.
  • Fixed Virtualization was not using recycled containers correctly, and the whole visual tree was always being regenerated.
  • Fixed C++ Added compatibility with Fast float point model.
  • Fixed ListView style in Noesis theme was not allowing virtualization.
  • Fixed Bindings not working sometimes in TextBlock inlines when using DataContext as source.
  • Fixed Binding.ElementName doesn't work in a DataTrigger/MultiDataTrigger if it refers to template child.
  • Fixed Unable to register named UserControl in a template if using the same name for the root in the associated XAML.
  • Fixed Thickness and CornerRadius converters can't convert from numeric values.
  • Fixed Crash in TimeManager removing finished clock when target is already removed.
  • Fixed ListBox moves items left when pressing buttons.

Version 2.0.2f2

  • Enhancement Thread affinity checks added to ensure objects are accessed from the correct thread.
  • Enhancement Improved Setter, Trigger and Condition error messages when value type is incorrect.
  • Fixed C# Crash during shutdown deleting C# proxies still having a C++ reference.

Version 2.0.2f1

  • Feature Support for Xbox One in Unity.
  • Feature Unity Support for game pads (more info).
  • Feature Implemented Underline and Hyperlink inlines.
  • Enhancement Linux platform is back again in NoesisGUI 2.0.
  • Enhancement Improved D3D11 renderer to support Fast Semantics in Xbox One.
  • Enhancement Improvement parallelism between Update and Render allowing separate frequencies.
  • Enhancement XamlParser reporting as error unknown properties or events (was a warning before).
  • Enhancement Added cursor property to TextBox, PasswordBox and Hyperlink in our styles.
  • Documentation Improved performance optimization tutorial.
  • Documentation UserControl tutorial adapted to NoesisGUI 2.0.
  • Documentation Unity3D tutorial improved with mentions to game pads and texture import settings.
  • Fixed OpenGL renderer no longer leaving internal objects bound in client code (to avoid potential modifications).
  • Fixed OpenGL renderer incorrectly casting glGetUniformLocation() to Int8.
  • Fixed glDiscardFramebufferEXT incorrectly used in OpenGL ES 2.0.
  • Fixed Rendering issue with half float vertices in OpenGL ES 2.0.
  • Fixed Crash when setting Projection or RenderTransform properties to null.
  • Fixed Crash when pressing space in a focused ComboBox.
  • Fixed Unity Textures with mipmaps rendering as black.
  • Fixed Unity Editor process never ending in OSX sometimes.
  • Fixed Unity Offscreen rendering not working properly in a few scenarios.
  • Fixed Unity Xaml post processor not detecting property values with single quotes.
  • Fixed Unity Caret disabled when software keyboard is shown in iOS.
  • Fixed C# Deletion of native proxies was not thread-safe (infrequent random crashes).

Version 2.0.1f1

  • Feature Cursor property implemented in FrameworkElement. SetCursorCallback added to integration API.
  • Enhancement Support for RGBA8 and RGB besides BGRA8 in BitmapSource.
  • Enhancement Improved error messages in XAML parser. Added line and column information whenever possible.
  • Enhancement Improved how BindingExpression unregister sources to avoid unexpected errors.
  • Enhancement Added support for absolute URIs starting with '/' or a drive letter 'C:/'. URIs tutorial updated.
  • Enhancement Two-way bindings from Float to Text are now using proper roundtrip conversion to avoid imprecisions.
  • Enhancement C# Compilation issues for .NETCore.
  • Enhancement C++ Support for passing user data to cursor and keyboard callbacks in IntegrationAPI.
  • Enhancement NoesisGUI is now compatible with Unity 5.6.
  • Fixed ContextMenu no longer allowing logical or visual parent.
  • Fixed Some ItemsControl default templates were not using ItemsPresenter.
  • Fixed Crash closing application while ContextMenu open.
  • Fixed Registered named elements not found when UserControl is root of a template.
  • Fixed Storyboard cannot be empty.
  • Fixed FrameworkPropertyMetadata allowed negative values for options parameter.
  • Fixed Crash accessing destroyed element when binding source NameScope changed.
  • Fixed Crash when setting an invalid identifier to x:Name property.
  • Fixed Crash binding TwoWay or OneWayToSource to read only properties.
  • Fixed UserControl inside a template was ignoring any Resource or Trigger defined in the associated XAML.
  • Fixed Caret selection and positioning was wrong in multiline TextBox.
  • Fixed C++ Our delegates no longer give error when removing non existent callbacks.
  • Fixed Crash when accessing nonexistent static resource.
  • Fixed Crash in TextBlock due to uninitialized software keyboard callbacks.
  • Fixed Crash when using invalid FontFamily in a XAML.
  • Fixed Unity annoyingly crashing continuously when a LoadXaml() was crashing first time.
  • Fixed Unity NoesisView inspector was not marking asset as dirty when modified.
  • Fixed Unity Crash when registering enum properties and setting incorrect default value type.
  • Fixed Unity Initialization automatically done first time any PInvoke function is used.
  • Fixed Unity 'Reimport All' button in settings is now working properly.
  • Fixed Unity EnablePostProcess property deprecated. Must use multiple cameras now. Unity tutorial updated.
  • Fixed Unity Offscreen phase is now always done before rendering any camera.
  • Fixed Unity Fixed vertical flipping issue with Unity 5.6.

Version 2.0.0f1

  • Doc Unity tutorial documentation updated.
  • Enhancement Unity Support for dragging XAMLs into Scene and Hierarchy.
  • Enhancement Unity Better error messages when importing XAMLs.
  • Enhancement Unity More examples: DataTriggers and ControlGallery.
  • Enhancement XamlPlayer included in the native SDK.
  • Fixed Unity Offscreen rendering not working when removing all lights.
  • Fixed Improved handling of corrupted fonts.

Version 2.0.0rc1

  • PS4 C++ New platform supported.
  • Enhancement Improved the batching algorithm with optimal number of draw calls in many scenarios.
  • Enhancement Optimized stencil usage trying to avoid it whenever possible.
  • Enhancement C# Resource providers exposed to customize how XAMLs, textures and fonts are loaded.
  • Enhancement C# Support for multiple initializations in Noesis.GUI.Init().
  • Enhancement C# Support for hot reloading of assemblies.
  • Enhancement C# Renamed DependencyProperty() parameter names to match WPF.
  • Enhancement C# Support for readonly keyword in static DependencyProperties.
  • Enhancement C# FontStretches, FontStyles and FontWeights added.
  • Enhancement C# RenderOptions.BitmapScalingMode is now available.
  • Enhancement C# Texture class exposed with methods to wrap native texture pointers (ID3D11Texture* and GLuint).
  • Enhancement StreamGeometry.ToString implemented as in WPF.
  • Enhancement Support for destroying IView and IRenderer independently to avoid having to wait for the render thread.
  • Enhancement Added support for Paste and SelectAll commands in PasswordBox.
  • Enhancement Support for showing ToolTip on disabled elements.
  • Fixed Stencil artifacts when batching primitives.
  • Fixed C# String property callbacks were not correctly converting between UTF8 and Unicode.
  • Fixed TextBox inside ListBox was losing focus when space key was pressed.

Version 2.0.0b4

  • Feature Apple Metal renderer. Integration sample added to SDK.
  • Feature Implemented support for events in code-behind. New tutorial on events.
  • Feature C++ Tessellation optimizations to DrawingContext:
  • All geometries must be drawn using DrawingContext::DrawGeometry.
  • Deprecated DrawLine, DrawEllipse, DrawRectange and DrawRoundedRectangle.
  • MeshGeometry is a new kind of geometry for drawing pre-tessellated paths.
  • Enhancement C++ Support for non-fatal (recoverable) errors. Execution can continue after this kind of errors.
  • Whenever possible we generate non-fatal errors in noesisGUI.
  • A new boolean is passed to the error handler to indicate if the error is fatal or not.
  • Enhancement C++ Changes to RenderDevice API:
  • All shader constants are now pointers that can be null in case the constant is unused.
  • A hash is provided for each shader constant to avoid uploading redundant data to GPU.
  • Shader generation is now isolated in each implementation using custom scripts.
  • Reduced the number of sampler combinations from 8-bits to 6-bits
  • Added information about the surface size in BeginTile to allow vertical flipping avoiding API gets.
  • Deprecated DeviceCaps.maxSamples, no longer needs to be implemented by renderers.
  • Enhancement C++ Improved the implementation of Delegates using C++11 features.
  • Enhancement Error mechanism improved in C# bindings, heavily reducing binary size and runtime performance.
  • Enhancement Stencil only used when strictly necessary.
  • Enhancement Xcode compiling now with libc++ (OSX minimal version is now 10.7).
  • Enhancement iOS minimal version set to 6.0.
  • Enhancement RTTI enabled for iOS to avoid linking issues in client code.
  • Enhancement Theme dictionary made global to all views. Noesis::GUI::SetTheme(ResourceDictionary* theme).
  • Enhancement StaticResources resolved while parsing, matching WPF behavior.
  • Enhancement Faster XAML loading times.
  • Enhancement Improvements to TreeView creation times.
  • Enhancement Path no longer cloning geometry to apply the stretching. Faster loading times.
  • Enhancement Key enumeration matching WPF.
  • Doc Added note to Unity tutorial about problems using Android OBBs.
  • Fixed Due to layout issues ListBox shows empty even though it is populated with data.
  • Fixed First element of the ListBox was moved 1 pixel down when scrolling.
  • Fixed TextBlock not updating layout after a new measure, rendering nothing.
  • Fixed Problems disposing C# proxy instances.
  • Fixed ComboBox selecting incorrect item after scrolling a long list with mouse wheel.
  • Fixed Duplicate name registration when having the same UserControl several times in a template.
  • Fixed Crash if caret arranged before TextBox.
  • Fixed Crash when loading non-existent XAML files. Now a non-fatal error is raised.
  • Fixed Bindings in DataContext property not updating.
  • Fixed Setting empty string to a property was not supported in XAML: <Setter Property="Text" Value=""/>.
  • Fixed Crash when focusing a TextBox before doing its layout.
  • Fixed Crash in TreeView when clearing ItemsSource collection.
  • Fixed Invalid generated geometry when stroking an empty Rectangle.

Version 2.0.0b3

  • Feature D3D11 Support for activating linear space rendering (sRGB) in D3D11RenderDevice constructor.
  • Feature Support for creating ImageSource from memory buffer using BitmapSource::Create.
  • Feature Support for creating TextureSource from native (GL, D3D) handles.
  • Feature BindingExpression exposed to public API.
  • Enhancement Static text rendering quality improved. Vertical hinting is active by default right now.
  • Enhancement CPU performance greatly improved in our vector graphics engine. For complex scenes the improvement is >50%.
  • Enhancement Improved performance when rendering VisualBrush.
  • Enhancement Added support for high-resolution mouse wheels.
  • Enhancement Popup Opened and Closed events exposed to C#.
  • Fixed Path hit testing failing sometimes with multiple figures.
  • Fixed Glyph kerning was sometimes incorrect at the beginning of a line.
  • Fixed ToolBar not measuring correctly children.
  • Fixed ContextMenu opening and closing events now matches WPF order.

Version 2.0.0b2

  • Enhancement Visual Studio 2015 officially supported.
  • Xbox One C++ New platform supported.
  • Doc New resource providers tutorial.
  • Doc Tutorial for the new rendering architecture.
  • Enhancement Improvements to RenderDevice architecture to better support complex offscreen scenarios. With these changes it is easier to avoid redundant state changes and it better supports TBR architectures.
  • Enhancement Source attribute deprecated in UserControls and Code-Behind classes. Corresponding XAML must now be loaded from constructor using LoadComponent(this, uri). This matches the WPF behavior.
class MyUserControl: public Noesis::UserControl

    void InitializeComponent()
        Noesis::GUI::LoadComponent(this, "Controls/MyUserControl.xaml");

        // Do FindNames and hook to events here
  • Fixed Support for using StaticResources defined in a different XAML file.
  • Fixed Sometimes parser was creating an extra instance of each UserControl and inmmediately destroying it.
  • Fixed Pressing Up arrow in empty TextBox unfocus the control.
  • C++ Deprecated NsFunc no longer supported in reflection macros. Events must be manually registered.

Version 2.0.0b1

  • Feature New multithreading rendering architecture. Class IRenderer split into IView (for the main thread) and IRenderer (for the renderer thread, if any). More information at the rendering tutorial.
  • Enhancement C++ Base class for renderers have been simplified. With 2.0 we expect all our clients to provide custom renderer implementations. Shouldn't take more than 2 - 3 day to implement one following our reference implementation.
  • C++ Our official runtimes no longer provide renderer implementations. It must be implemented by client code. We will provide reference implementations for all our platforms within the SDK. D3D11 and GL/GL_ES provided in this version.
  • Feature New resource providers architecture:
  • BuildTool deprecated. Textures, Fonts and XAMLs no longer needs preprocessing.
  • Custom loaders must be passed to Noesis::GUI::SetResourceProvider(). We support local files by default (similar to 1.2).
  • Noesis::Stream simplified to allow easier specialization.
  • Enhancement New font rendering architecture:
  • Support for all kind of brushes in text: solid, linear, radial and image.
  • Support for text inlines like <Bold>, <Italic> and <Span>.
  • Glyphs are now cached in a single atlas and dynamically recycled. Atlas resolution can be configured.
  • New text rendering algorithm with enhanced subpixel positioning. Hinting and ClearType no longer used.
  • Big glyphs are now rasterized with triangles instead of bitmaps. Threshold can be configured.
  • FontWeight, FontStyle and FontStretch properties fully supported.
  • Enhancement Kernel::Tick() removed. Client code no longer needs to call this function.
  • Enhancement We no longer clear external surfaces. DoNotClearStencil and ClearColor flags deprecated. Client code must do it.
  • Enhancement Offscreen rendering performance greatly improved.
  • Enhancement Offscreen view configuration is now sane by default. SetOffscreenSize function removed.
  • Enhancement Performance of bin-packing algorithm, used by offscreens and glyphcache, improved.
  • Enhancement TBB is no longer a dependency.
  • Enhancement VisualBrush generation no longer forcing re-tessellation.

Version 1.2.X

> Changelog_1.2

© 2017 Noesis Technologies