NoesisGUI

Changelog

Version 2.2.2

Released 26 Apr 2019 - Download

  • Feature Support for Unity 2019.1.
  • Feature Support for Unreal Engine 4.22.
  • Enhancement Unity Native allocated memory exposed in Noesis settings panel.
  • Enhancement C# Removed unnecessary TypeHandle comparisons in proxies.
  • Enhancement Improvements to performance and stability of Metal renderer.
  • Fixed Unity Gamepad input using GetAxisRaw instead of GetAxis.
  • Fixed Unity Noesis renders to wrong camera in multi-camera case (#1427).
  • Fixed PointToScreen not throwing error when element not connected to visual tree (#1378).
  • Fixed ToolTipService SetToolTip with null element crashing (#1423).
  • Fixed Resources DataContext not behaving as in WPF (#1004).
  • Fixed ToolBarOverflowPanel incorrectly doing layout sometimes.
  • Fixed Routed commands cannot be defined in XAML (#1122).
  • Fixed Unity Editor crashing on TextBox Focus() (#1447).
  • Fixed C# DataBinding to Uri properties not working (#1449).
  • Fixed C# BitmapImage support for spaces in path broken in 2.2.1 (#1455).
  • Fixed C# BitmapImage strips leading "/" in paths on Linux (#1456).
  • Fixed LoadXAML crashing with DataTemplate as root element (#1439).
  • Fixed ContextMenu and ToolTip stays unclosed when window deactivated (#1438).
  • Fixed ToolTip InitialShowDelay incorrectly reset when mouse moved over element.
  • Fixed Several bugs related to opacity and projection (#1120, #1321, #1373, #1374).
  • Fixed ListView without ListView.View section not displaying items (#493).
  • Fixed Changes to GridViewColumnHeader header not updated (#1420).
  • Fixed GridView header properties ignored (#1420).
  • Fixed PasswordBox not showing caret when placed inside a ScrollViewer.

Version 2.2.1

  • Feature Unity Implemented support for Scriptable Render Pipeline (#1372 #1386).
  • Enhancement Unity Package installing Blend solution for included samples.
  • Enhancement Unity 'Enable Gamepad' property added to View component. Disabled by default.
  • Enhancement Unity Added support for gamepad Scroll and HScroll input events.
  • Enhancement Unity Samples configured to support Xbox controller.
  • Enhancement C# Added support for pack uris in code-behind. Required for viewing images at edit-time in Blend.
  • Enhancement Scroll and HScroll View functions are now frame-rate independent.
  • Enhancement App Implemented auto repeat for gamepad buttons.
  • Enhancement App Right stick mapped to View scroll functions.
  • Fixed C# UICollection enumerator incorrectly throwing on Dispose.
  • Fixed C# Incorrect MouseButtonState enum values (#1434).
  • Fixed Unity Editor freezing in rare cases when entering play mode (#1442).
  • Fixed Crash closing scene with popups opened (#1428, #1429).
  • Fixed [Preview]MouseDoubleClick event not notifying registered handlers.
  • Fixed Incorrect collapsed state in Expander template for NocturnalStyle theme (#1432).
  • Fixed TextBox and PasswordBox not showing caret after Deactivate (#1431).
  • Fixed Visual descendant bounds not correctly calculated.
  • Fixed ImageBrush displaced when using geometry bounds with offset.
  • Fixed Better performance in tiled architectures when using multicamera layered rendering (#1427).
  • Fixed Input events consumed by camera depth order (#1433).

Version 2.2.0

Version 2.2.0rc1

  • Enhancement Support for connecting XInput controllers in any port.
  • Enhancement ScrollViewer inside TextBox, PasswordBox and ComboBox no longer Focusable in our default theme.
  • Fixed Key modifiers not accurate when clicking on inactivate window (#1418).
  • Fixed ScrollViewer not overriding IsTabStop to false as in WPF.
  • Fixed C# EmbeddedFontProvider failing in Android for fonts placed inside folders.
  • Fixed Clicking on TextBox not opening virtual keyboard when received focus from gamepad.
  • Fixed Weird focusing on TabControl (#1121).
  • Fixed Improved TabControl gamepad navigation.
  • Fixed ScrollViewer not getting focus when clicked.

Version 2.2.0b10

  • Enhancement C++ GetName and GetOwnerType removed from ICommand.
  • Enhancement C# Improvements to Drag and Drop API.
  • Enhancement Improvements to DataBinding, CustomControl and Commands tutorials.

Version 2.2.0b9

  • Enhancement C++ SDK Blend projects are now included in samples solution.
  • Enhancement Added new Noesis.GUI.Extensions NuGet package to use in WPF/Blend projects.

Version 2.2.0b8

  • Enhancement Improved implementation of dynamic buffers in Metal renderer.
  • Enhancement Metal.framework is now loaded dynamically (#1083).
  • Enhancement Glyph cache no longer regenerated when changing PPAA settings.
  • Enhancement Improvements to First contact with Blend Unity tutorial.
  • Fixed Win7 incompatibility in Win32Display when using XInput (#1414).
  • Fixed Unity Compatibility with Unity LTS (2017.4)

Version 2.2.0b7

  • Nintendo Switch C++ New platform supported.
  • Enhancement App C# Application and Window moved inside NoesisApp namespace (#1326).
  • Enhancement C# ContentPropertyAttribute moved inside Noesis namespace (#1327).
  • Enhancement Incorrect assert when returning Size.Empty from C# in Measure/Arrange (#1413).
  • Enhancement Order of DoubleClick events matching WPF.
  • Fixed Crash with empty run at the end of normal runs (#1407).
  • Fixed VirtualizingStackPanel crash when using Style to set scroll properties.

Version 2.2.0b6

  • WebGL Unity New platform supported.
  • Enhancement Unity New XAML importer, faster and more robust (#1369 #1366 #1394 #1393).
  • Enhancement Unity XAML and Fonts assets stored as text.
  • Enhancement Unity Added Interactivity package. PlaySoundAction using Unity clips.
  • Enhancement Unity Dependencies to UserControls automatically generated.
  • Enhancement Unity Implemented previews and thumbnails for fonts.
  • Enhancement Unity IME implemented in Unity (#1243 #1264 #1213).
  • Enhancement Unity Textures marked with label 'Noesis' converted to premultiplied-alpha.
  • Enhancement Unity Added a panel for realtime stats in play mode.
  • Enhancement Unity Support for system fonts. Improved memory usage of fonts.
  • Enhancement Unity Cursors added to settings panel.
  • Enhancement Unity Support for rendering UI only when changed (#589 #740).
  • Enhancement Unity New property to select RenderTexture target.
  • Enhancement Correctly implemented HitTest with filter and result callbacks matching WPF.
  • Enhancement Improvements to GetXamlDependencies supporting more scenarios and UserControls.
  • Enhancement Xbox One renderer improved using Fast Semantics.
  • Enhancement New Font matching algorithm same as WPF.
  • Enhancement C# Changes to error management:
  • No C# exceptions thrown for errors generated in C++. Errors are sent to the log.
  • New Noesis.Error.SetUnhandledCallback() to handle exceptions occurring in C# callbacks.
  • Enhancement C# Added support for PropertyMetadata coerce callbacks.
  • Enhancement PropertyMetadata constructors and derived classes like WPF (#1355).
  • Enhancement Implemented AlternationConverter.
  • Enhancement MarkupExtension ProvideValue argument is now ValueTargetProvider*.
  • Fixed Windows 7 incompatibility introduced in previous beta.
  • Fixed Error parsing FillRule="EvenOdd (#1384).
  • Fixed ContentPresenter placed as root of template can't resolve bindings (#1335).
  • Fixed Setting fixed scrollbar thumb size doesn't work (#1375).
  • Fixed StringFormat working with NaN and Infinity.
  • Fixed Mouse right click on empty screen crashing.
  • Fixed Incorrect font rendering for faces with USE_TYPO_METRICS os2 flag (#1370)
  • Fixed TextBox caret and selection not updated when changing Text property.
  • Fixed BindingExpression UpdateTarget() not working when used inside PropertyChangedCallback.
  • Fixed Chained removed elements in Panel crashing (#1391).
  • Fixed Incorrect Border geometry for stroke thickness greater than available size.
  • Fixed TabControl changing ViewModel selected tab when ItemsSource reset.
  • Fixed MenuItem crashing when template not including items host.
  • Fixed Crash arranging TabControl with collapsed tabs.
  • Fixed Default style triggers registered twice when using BasedOn.
  • Fixed Rare crash destroying faces in render thread.
  • Fixed Bug in StreamGeometry parser (#1359).
  • Fixed Incorrect number of MouseButtonDown events generated on double clicks (#1310).
  • Fixed Rare crash destroying bindings of template elements.

Version 2.2.0b5

  • Feature Implemented Binding Delay property (#1367).
  • Feature Implemented AlternationCount property for ItemsControl.
  • Enhancement Support for custom numeric formats in StringFormat (#877 #996 #1368).
  • Enhancement Identifiers for float and double changed to "Single" and "Double" to match WPF.
  • Enhancement Storyboard playing API behaving like WPF (#1182).
  • Enhancement TextBox events TextChanged and SelectionChanged behaving like WPF.
  • Enhancement Reflection metadata optimized for size in MSVC (binaries decreased by 10%).
  • Enhancement App Android apps were not resuming. Improvements to Activity Lifecycle handling.
  • Enhancement App Implemented support for multisampling in Android.
  • Enhancement App Improved uploading geometry performance in GLRenderDevice.
  • Enhancement App GL_EXT_disjoint_timer_query implemented in GLRenderContext.
  • Enhancement App Color buffer clearing avoided whenever possible.
  • Enhancement App Support for GL core profile implemented in Linux.
  • Enhancement C# Geometry Parse function exposed (#1356).
  • Enhancement C# Point, Size and Rect exposed with same interface as WPF (#1052).
  • Enhancement C# Added WPF Vector and Matrix types.
  • Enhancement C# Exposed XamlReader class to parse XAMLs from text (#1039).
  • Enhancement C# Crashes during reloading of managed assemblies.
  • Enhancement C# Grid and UniformGrid properties exposed as int matching WPF.
  • Enhancement C# StreamGeometryContext API matching WPF (#833).
  • Fixed Grid layout not always correct when using Min/Max limits in columns or rows.
  • Fixed StreamGeometryContext requires Close or Dispose to flush commands matching WPF (#1148).
  • Fixed ContextMenuOpening event not sent for disabled Buttons (#1382).
  • Fixed TextBlock TextTrimming="CharacterEllipsis very often is faulty (#1275).
  • Fixed TextBlock measure failing in rare cases (#1249).
  • Fixed Wrong binding values when ItemsControl container disconnected (#1317).
  • Fixed Focus lost when focused element collapsed or disabled.
  • Fixed Cycle directional keyboard navigation not working correctly.
  • Fixed Mouse over element not updated when collapsed or disabled.
  • Fixed MouseWheel incorrectly handled with nested ScrollViewer.
  • Fixed StyleInteraction triggers not working in ItemTemplates.
  • Fixed Focus shouldn't change while View is deactivated.
  • Fixed App TargetedTriggerAction incorrectly using Target when TargetName not found.
  • Fixed C# VisualTreeHelper methods should receive a DependencyObject (#1043).
  • Fixed C# GridLength struct not exposed (#739).
  • Fixed C# Strange values calling SetCurrentValue with floats on double properties (#1163).
  • Fixed C# Exceptions in converters thrown at confusing times (#1329).
  • Fixed C# Binding context unavailable inside nested scopes (#1323).
  • Fixed C# ItemCollection should implement IEnumerable (#1044).
  • Fixed C# Exception "Native type is not registered" getting ToolTip's Parent (#1143).
  • Fixed C# Crash removing SelectedItem from string collection bound to ListBox (#1371).

Version 2.2.0b4

  • Android arm64 New platform supported.
  • Enhancement System fonts implemented for iOS and Android.
  • Enhancement Exposed CanHorizontallyScroll and similar ScrollContentPresenter properties to XAML (#1281).
  • Enhancement PPAAMode property added to selectively disable PPAA.
  • Enhancement Improved error message when animating non defined properties.
  • Enhancement C# IsDisposed added to BaseComponent.
  • Fixed C# Crash destroying UIElement with event handlers.
  • Fixed C# Wrong event handler type registered for SizeChanged event.
  • Fixed C# Missing InvokeHandler method in ManipulationCompletedEventArgs.
  • Fixed C# MeasureOverride and ArrangeOverride not invoking base class.
  • Fixed C# Custom INotifyCollectionChanged not working as ItemsSource.
  • Fixed OpenGL black screen workaround for macOS 10.14 and Xcode 10.
  • Fixed Mouse [Left|Right] button event dispatching non WPF compliant.
  • Fixed TabPanel invoking Arrange on collapsed children tabs.
  • Fixed Elements left in layout queues after being destroyed.
  • Fixed Crash accessing Target of TargetedTriggerAction after destroyed.
  • Fixed Routed event class handlers for base classes not invoked.
  • Fixed ComboBox selecting wrong item when drop down needs scroll.
  • Fixed StaysOpen set to False not keeping popup opened when interacting.
  • Fixed Controls in Expander Header not responding (#1165).
  • Fixed Incorrect layout of Grid (#1350).
  • Fixed ContentPresenter failing to show data bound Content (#1344).
  • Fixed Window resize not working for Metal in macOS.
  • Fixed Rare crash releasing fonts during shutdown.

Version 2.2.0b3

  • Enhancement Improved glyph cache usage for text under zoom animation.
  • Enhancement App Improved detection of XInput controllers to avoid wasting CPU time.
  • Enhancement App Audio and IME working in macOS.
  • Enhancement App Implemented Metal renderer in macOS.
  • Enhancement Added support for system fonts in macOS.
  • Enhancement C++ documentation commenting about the option of using BaseRefCounted objects in the stack.
  • Enhancement RoutingStrategy enumeration matching WPF: Tunnel(0), Bubble(1), Direct(2).
  • Enhancement CheckBox and RadioButton default templates now use a Grid to layout like in WPF.
  • Enhancement GPU vertex streaming functions using SIMD.
  • Fixed Inherited properties not propagating to children not connected to View.
  • Fixed Attached properties not reporting XAML dependencies correctly.
  • Fixed Incorrect color channel order in CachedBitmap.
  • Fixed TrueType Collections (.ttc) not working.
  • Fixed Wrong BulletDecorator layout compared to WPF.
  • Fixed Multi-line text resetting scroll offset when typing text.
  • Fixed ChangePropertyAction not working when defined inside a Style.
  • Fixed Rare crash in Event handler.
  • Fixed Clipping paths no longer generating PPAA borders.
  • Fixed Old view model setters being called setting DataContext to null.
  • Fixed Bindings inside template definitions incorrectly registering against changed events.
  • Fixed Reduced binding logging verbosity.
  • Fixed DataTemplate lookup not working for boxed items.
  • Fixed TimerTrigger crash trying to access already destroyed View.

Version 2.2.0b2

  • Enhancement App Buffer management improved in GL renderer. Performance is much better now in WebGL.
  • Enhancement App Added mouse wheel support to XDisplay.
  • Enhancement App Added IME support to XDisplay.
  • Enhancement New tutorial about Drag-and-Drop.
  • Enhancement GetXamlDependencies() was not reporting fallback fonts. Dependencies are now given using a callback.
  • Enhancement Added compatibility to GCC 7.
  • Enhancement System fonts implemented in Linux.
  • Enhancement Minor tweaks to scrollbar and progressbar in default theme.
  • Enhancement Support for null items in ItemsControl.
  • Enhancement Batching improvements when using masks.
  • Fixed Crash in reflection when setting string properties to null.
  • Fixed FindFirst/FindNext not working correctly in Linux (and potentially in Windows 32 bits).
  • Fixed ScrollContentPresenter MakeVisible changing scroll even if element was visible.
  • Fixed StackPanel MakeVisible failing when having different item sizes.
  • Fixed GetHashCode() for pointers not compiling in Emscripten.
  • Fixed ItemsControl comparing items using pointers instead of Equals.
  • Fixed App Fixed buffer overflow crash in audio.

Version 2.2.0b1

  • WebGL C++ New platform supported.

  • Feature Interactivity (Behaviors, Triggers and Actions) architecture implemented. More details in the new tutorial.

  • Feature Implemented Drag & Drop architecture. Added Inventory sample.

  • Feature Implemented support for FontFamily fallbacks.

    <TextBlock
        HorizontalAlignment="Center" VerticalAlignment="Center"
        FontFamily="Fonts/#LCDMono2, #Roboto, #Segoe UI Emoji"
        Foreground="Black" FontSize="30">
    </TextBlock>
    
  • Feature Support for Microsoft Color Fonts (CPAL/COLR). Emojis! 😊

    <TextBlock Foreground="Black" FontFamily="Fonts/#Segoe UI Emoji">
      <Run FontSize="10">😃🐻🍔⚽💡🤷😍🔥👀</Run>
    </TextBlock>
    
  • Feature Implemented InlineUIContainer.

    <TextBlock >
      <Run>
        A UIElement element may be embedded directly in flow content
        by enclosing it in an InlineUIContainer element
      </Run>
      <InlineUIContainer>
        <Image Source="Images/item.png" Stretch="None"/>
      </InlineUIContainer>
    </TextBlock>
    
  • Enhancement New font metrics matching WPF. Text rendering may look different after this change.

  • Enhancement View input methods returning true to indicate if event was handled.

  • Enhancement NoesisGUI SDK Browser, a new welcome application for newcomers.

  • Enhancement Implemented Binding TargetNullValue property.

  • Enhancement BaseValueConverter derived classes can use StaticResources in XAML to set own properties.

  • Enhancement Warning messages in VirtualizingPanel when virtualization cannot be activated.

  • Enhancement RenderDevice: BGRA format deprecated in favor of RGBA to avoid using GL extension.

  • Enhancement Improved GCC make flags to reduce binary sizes. LTO enabled in release configuration.

  • Enhancement C++ NsDynamicCast renamed to DynamicCast. NsStaticCast removed.

  • Enhancement ItemsControl BringIntoView renamed to OnBringItemIntoView.

  • Enhancement PS4 Improvements to RenderDevice implementation. IME implemented in App framework.

  • Enhancement Improved view stats. New counters added for flushes and uploaded geometry.

  • Enhancement FrameworkOptions renamed to FrameworkPropertyMetadata. Added setters to all properties to match WPF.

  • Enhancement Exposed scroll functions in BaseTextBox.

  • Enhancement Implemented TextBox functions: Select, Clear, GetCharacterIndexFromPoint, GetCharacterIndexFromLineIndex, GetLineIndexFromCharacterIndex, GetLineLength, GetFirstVisibleLineIndex, GetLastVisibleLineIndex and ScrollToLine.

  • Enhancement Implemented all tab placements for TabControl.

  • Enhancement Mouse capture related properties and events updated according to WPF order.

  • Enhancement Callbacks for opening URLs and for playing audio added to IntegrationAPI header.

  • Enhancement Support for injecting custom profiler defining NS_PROFILE_CPU macro.

  • Enhancement Exposed FrameworkElement InputScope to specify the kind of input from On-Screen Keyboards.

  • Enhancement Added HideCaret to TextBox and PasswordBox to disable caret when required.

  • Enhancement Open and Hide Software Keyboard callbacks unified.

  • Enhancement Improvements (around 15%) in render performance by optimizing internal tree.

  • Enhancement Cursor callback now receives the source view.

  • Enhancement New view functions to handle timers.

  • Enhancement IList and IDictionary interfaces simplified.

  • Enhancement Collection<T> and ObservableCollection<T> are now clean implementations that match WPF.

  • Enhancement Added Uri type, used to scan XAML dependencies.

  • Enhancement Implemented GUI::GetXamlDependencies() to find all dependent resources.

  • Enhancement Improvements to memory allocations when updating text controls.

  • Enhancement TessellationQuality enumeration deprecated. View accepts now a float indicating the maximum pixel error.

  • Enhancement Glyphs rendered with triangles use PPAA if enabled.

  • Enhancement Support for TextBlock LineHeight and LineStackingStrategy.

  • Enhancement Improvements to ResourceDictionary when changing Source.

  • Enhancement App Support for audio implemented.

  • Enhancement App Support for gamepad implemented in Win32Display (using XInput).

  • Enhancement App --runInBackground command line to disable pausing the application when in background.

  • Fixed Rare crash when animating opacity groups.

  • Fixed Ghost lines when rendering VisualBrush.

  • Fixed TextBox scroll bars incorrectly showing beam cursor.

  • Fixed Changes to ScrollViewer HorizontalScrollBarVisibility and VerticalScrollBarVisibility not affecting measure.

  • Fixed TextBox not updating HorizontalScrollBarVisibility when TextWrapping changed.

  • Fixed TextTrimming ellipses not stroked.

  • Fixed '\r' counted as a letter during text formatting.

  • Fixed DataTrigger failing when trigger and binding value were the same.

  • Fixed Memory corruption in DataTrigger with self binding.

  • Fixed Trigger animations using frozen resources not properly removed.

  • Fixed UIElement IsKeyboardFocused and IsKeyboardFocusWithin returning incorrect values on uninitialized objects.

  • Fixed Memory leak in delegate implementation.

  • Fixed Glyph rendering could show glitches sometimes.

  • Fixed ContextMenu not closing properly when using complex templates.

  • Fixed Cannot show ContextMenu programmatically defined in Resources.

  • Fixed Added copy-paste context menu for TextBox.

  • Fixed ListView layout problems when showing horizontal scrollbar.

  • Fixed TextBox ignoring alignment with empty text.

  • Fixed Inherited properties not updated when control removed from tree.

  • Fixed Selector not destroying items when using ObservableCollection.Clear.

  • Fixed ScrollViewer ScrollChanged arguments not calculated correctly with Infinite viewport.

  • Fixed ResourceDictionary not searching merged dictionaries in the correct order.

  • Fixed C# ResourceDictionary not exposing IDictionary.

  • Fixed Focus engagement affecting controls that don't need it.

  • Fixed TwoWay bindings not updating converter when changing target value.

  • Fixed Width and Height constraints incorrectly clipping panels.

  • Fixed Incorrect line scroll in VirtualizingStackPanel when virtualization disabled.

  • Fixed Nullable properties incorrectly binding TwoWay bindings.

  • Fixed ToolTip not hidden after focusing new element.

  • Fixed Infinite loop in view Layout algorithm.

  • Fixed PasswordBox PasswordChar not allowing Unicode chars.

  • Fixed PasswordBox GotFocus not respecting SelectAll.

  • Fixed Nested OpacityMask incorrectly displayed.

  • Fixed Self binding not using converter with null DataContext.

  • Fixed DataContext in ContentPresenter ignoring null Content.

  • Fixed PropertyPath not supporting '/' (and many other characters) as part of the indexer key.

  • Fixed Binding FallbackValue can't be set using StaticResource in XAML.

  • Fixed Binding FallbackValue can't be set to {x:Null} in XAML.

  • Fixed TargetType and DataType using prefixes failing without x:Type extension.

  • Fixed DataTrigger not working when condition value is null.

  • Fixed Dropdown Popup remains visible while scrolling parent.

  • Fixed ToolTip incorrectly added as logical or visual child.

  • Fixed Sometimes MenuItem IsPressed was not updated.

  • Fixed MenuItem without Header not closed when clicked.

  • Fixed Keyboard keeps referencing focused element when removed from tree.

  • Fixed TreeViewItem BringIntoView not behaving as in WPF.

© 2017 Noesis Technologies