NoesisGUI

NoesisGUI 2.1 Changelog

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.
© 2017 Noesis Technologies