NoesisGUI Changelog
Version 1.1.14
- Support for prefixes when using static extensions: {x:Static local:Settings.BaseColor}.
- Removed UseLayoutRounding from styles, so user can decide the behavior of the whole UI tree just by setting the value in the root.
- Unity Added TryLoadXaml to API.
- Unity Improved compatibility with Unity 4.6.
- Fixed Bindings with LostFocus/Explicit UpdateSourceTriggerMode where not working properly.
- Fixed Crash when clicking on TabItems (Linux).
- Fixed LinearGradientBrush not working in Absolute mode when used on certain Paths.
- Fixed Layout process of Grid with many items could produce an unhandled exception.
- Fixed DependencyProperty value storage not properly constructed when unserializing a StaticResourceExpression.
- Fixed Setting DataContext property from a Binding using parent DataContext.
- Fixed Calculation of PlaneProjection when surface size was 0.
- Fixed Binding inside DataTemplate using RelativeSource AncestorType not working if parent outside the DataTemplate visual tree.
- Fixed Comparing Pens was causing unnecessary tessellations per frame.
- Fixed Problem with ClearLocalValue() and inherited properties.
- Fixed In OSX, Alt key was not working properly.
- Fixed PPAA artifacts.
- Fixed Geometry being clipped by far plane when applying 3D transformations on Retina displays.
- Fixed Crash on Nvidia Shield tablets.
- Fixed Crash when moving ListView columns by dragging the column header.
- Fixed Crash in OSX when accessing empty clipboard.
- Unity Fixed Crash when focused item was removed in Unity while application is not focused.
- Unity Fixed Dumps are now generated in $(PROJECT)/Dumps folder.
Version 1.1.13
- Unity XAMLs with a Window root are no longer accepted in Unity. A proper error is shown at build time.
- Unity Noesis.Extend.IsExtendType(type) is cached to speed up .As<T> conversions.
- Fixed Controls inside a template with event handlers added in constructor were ignored.
- Fixed UpdateSourceTrigger default value for TextBox.Text property was not correctly set to LostFocus.
- Fixed Crash on x64 when creating several renderers.
- Fixed PropertyChangedCallback being ignored when using default(string) as default value.
- Fixed Incorrect Extended instance being registered if another BaseComponent is created in its constructor.
- Fixed BaseComponent.AsType was failing when used with extended types.
- Fixed HitTesting failing on Popups.
- Fixed Bugs in TabControl when used along with ItemsSource property.
- Fixed Improved error reporting in VisualTreeHelper and LogicalTreeHelper.
- Fixed Slider moves erratically when receiving several Mouse events between updates.
Version 1.1.12
- Added support for LineHeight in TextBlock.
- Support for TabControl using ItemsSource property.
- Support for GridLength animation.
- Support for xml:space="preserve".
- Changed TabItem in the DefaultStyle so content gets stretched as in WPF styles.
- Support for using Projection property in Blend WPF projects.
- Fixed Noesis.UserControlSource not needed in not final classes.
- Fixed DefaultStyle padding bindings.
- Fixed Button not reacting to interaction when changing Visibility per frame.
- Fixed VS2013 compilation issues.
- Fixed XCode 6 issues.
- Fixed Crash in ComboBox when using a UIElement as SelectionBoxItem.
- Fixed Some Bindings to UserControl root were failing when using the UserControl inside another xaml.
- Unity Support for passing string to HeaderedContentControl.SetHeader().
- Unity Exposed UIElement.UpdateLayout() to C#.
- Unity Under certain conditions, Image Effects affects to NoesisGUI.
- Unity DX9 Render glitches when resizing fixed.
- Unity No longer crashing when changing DX9 <-> DX11 in Player settings. There is a bug in Unity about this.
- Unity Several functions in UnityBindings not properly protected against exceptions were crashing Unity.
- Unity Subclassed controls used inside a Template now correctly clone their properties.
- Unity Error displayed when switching to a platform that is not active in NoesisGUI settings.
Version 1.1.11
- PPAA algorithm improved. Now it works properly with animations and it is faster.
- Experimental support added for profiling CPU and Memory using NoesisGUI console.
- Added support for more system types (int16, int32, uint16, uint32, single and double) in a ResourceDictionary. Fixed also the XAML parser because it was using the assembly name instead of the namespace to expand type name.
- Fixed TemplateTriggerProvider was trying to invalidate the properties of an object that was being destroyed.
- Fixed Line geometry was not correctly updated when changing the thickness of the stroke. This bug could also affect other geometries.
- Fixed An incorrect type of value could be assigned to a dependency property coming from a StaticResource.
- Fixed TextTrimming incorrectly generating extra line.
- Fixed Problem when item being removed in the SelectionChanged handler or any other Mouse event handler.
- Fixed ItemContainerStyle bindings to data item properties are now working.
<Setter Property="IsSelected" Value="{Binding IsItemSelected, Mode=TwoWay}"/>
- Unity functions for injecting input events added.
- Unity GUI render no longer affected by Unity Post Processing. Added a toggle to revert to previous behavior.
- Unity Try versions of FindStringResource and FindTypeResource added.
- Unity Fixed Error inside FindStringResource and FindTypeResource functions was crashing Unity.
- Unity Fixed Ramps not properly rendered when activating Linear Color Space in Player Settings.
- Unity Fixed more keycode problem fixed in Linux.
Version 1.1.10
- BaseButton.Command exported to Unity/C#.
- Unity: Implemented mechanism to detect package upgrades.
- Fixed Setter serializing a Command set in its Value member.
- Fixed Container not found when calling ItemsControl.GetContainerFromItem passing the container itself.
- Fixed TreeViewItem failing to select the item if already had the focus.
- Fixed SelectionChanged event not working when using a ComboBox with template
- Fixed Crash on application exit.
- Unity Fixed Mac Shortcuts not working (CMD+key)
Version 1.1.9
- Added constructor for RotateTransform and SkewTransform with parameters for easier initialization.
- Added support for serializing boxed items in a collection.
- SelectionBoxItemTemplate is now a read-only property like in WPF.
- DX9Texture and GLTexture constructors now receive an isInverted boolean.
- Dependency to libbfd eliminated in Linux.
- Reading from the clipboard implemented in Linux.
- Unity Support for setting log filename and dumps folder by creating a noesis.ini in StreamingAssets folder.
- Unity Now XAML are processed after their corresponding .cs, if any, is built by Unity.
- Unity Added support for split application binaries in Android.
- Unity Renamed mobile exported function Noesis_UnityRenderEvent to avoid name conflicts with other third parties.
- Unity UnityRenderHook library renamed to NoesisUnityRenderHook.
- Unity Software keyboard management re-factorized to facilitate user override.
- Unity Unity tutorial updated with information about how to override default software keyboard behavior.
- Fixed problem with consecutive MouseDown events in OS X standalone.
- Fixed Crash in bindings with nested paths.
- Fixed RoutedEventConverter working in events with a namespace prefix.
- Fixed Binding to inherited DataContext not resolved on Freezables.
- Fixed Bindings don't update when Path doesn't resolve the first time.
- Fixed ProgressBar Indicator element was not updated after modifying Minimum or Maximum properties.
- Fixed ProgressBar default template was making the control to grow to infinite when Value==Maximum.
- Fixed Resource look-up from inside a DataTemplate was broken.
- Fixed GridLengthConverter was not taking into account Auto (NaN) value when converting from a numeric value.
- Fixed Support for complex namespace (A.B.C) prefix in PropertyPath.
- Unity Fixed Problem when modifying a property defined in the base class of a Unity extended class.
- Unity Fixed Mouse and keyboard events handled properly in Linux.
Version 1.1.8
- Added support for SelectAll command (Ctrl+A) to the TextBox.
- TextBlock: Justify implemented, Wrap implemented (we only had WrapWithOverflow) and Trimming implemented. Added a new xaml in the Text tutorial showing all the combinations.
- Added support for RenderOptions.BitmapScalingMode. Created a new entry in the Image tutorial explaining it.
- Unity Changed default 3D scene used as background in our samples because performance was not good on old mobiles.
- Unity Now XAMLs are automatically built if they were modified during Editor Play.
- Fixed Runtime Error on Progress Bar Animation: the target name 'IndicatorIndeterminate' cannot be found in the xaml namescope.
- Fixed Error handling improved when trying to use Items collection while ItemsSource is set. Class documentation updated to explain this scenario.
- Fixed Items displayed twice when being added to a ComboBox.
- Fixed Small Arc CW flag not working properly.
- Fixed In rare cases DirectX9 device creation was failing. Solves the error with standalone applications not using the Gui.Launcher.
- Fixed In Viewbox.SetChild, old child could be accessed after destroyed.
- Fixed NameScope of UserControl not correctly copied when used as the root of a template.
- Fixed Touch events not working properly when a scale was being applied to a ScrollViewer.
- Fixed Numeric converters are now able to convert from integer to float and vice versa.
- Fixed ProgressBar control was assuming that its template always contained "PART_Track" and "PART_Indicator" elements. Now it is optional.
- Fixed StaticResource evaluation in templates, it was not reapplied and resource look-up could fail (crash in Browser Gallery when changing theme).
Version 1.1.7
- Unity Added HitTest sample to Unity First Steps Tutorial.
- Fixed Error with files and paths containing Unicode characters.
- Fixed Error with ListBoxItem container not found.
- Fixed Text wrapping being applied when it shouldn't due to precisions problems.
- Fixed Crash in Mouse::SetOver.
- Fixed SetCaretIndex() right after SetText() have no effect issue.
- Fixed Performance issues with Storyboard of Duration=0 and RepeatBehavior=Forever.
- Fixed Crash when rendering stroked text.
- Fixed ContentPresenter incorrectly raising an error when another ContentPresenter was present in the same template.
- Unity Fixed Crash when device was lost in scenes using Unity Render Textures as XAML images.
- Unity Fixed Casting fix in BaseComponent.As<T>.
Version 1.1.6
- Added Debug Marks wrapping GUI render for PIX or similar.
- Input managers (keyboard, mouse, touch) created before connecting content to Renderer so they are available when controls are initialized.
- Improved text rendering quality when vertically flipped (for example, rendering to an OpenGL texture).
- Unity Added support for CornerRadius properties in extended classes.
- Fixed Text rendering problem with kerning and space characters that was causing strange wrappings.
- Fixed Plugins extension set to .dylib in OSX. It was incorrectly set to .so
- Fixed TextBox not capturing correctly focus when inside another control.
- Fixed TabControl content layout was not deterministic.
- Fixed DataTemplate were not found when stored by type in a ResourceDictionary.
- Fixed ItemsPresenter was not filled with items sometimes when ItemsControl.ItemsSource was set.
- Fixed RoutedUICommand::Create(), text and name parameters were used incorrectly.
- Fixed UserControl root element used by VisualStateManager to look for VisualStateGroups must be the UserControl.Content, instead of the template root child as it occurs in the rest of Controls.
- Fixed ItemsControl not regenerating items when ItemsPanel or ItemsTemplate properties are modified.
- Fixed ItemsControl not correctly cloned when it was part of a template.
- Fixed ContextMenu defined in a Style or ResourceDictionary was not opening.
- Fixed TouchMove and TouchUp were not correctly promoted to mouse events when hit testing returned null.
- Fixed Crash when changing selected item in a ComboBox with a SelectionBoxItemTemplate set.
- Fixed Unnecessary clipping when mixing elements with different UseLayoutRounding values.
- Fixed Horizontal size of ComboBox Popup gets clipped if inside a Viewbox bigger than screen width.
- Fixed Improved error descriptions from filesystem.
- Unity Fixed Error when trying to register classes from assemblies returning empty reflection information.
- Unity Fixed problem when noesisGUI was not the only native plugin present in an Unity project.
- Unity Fixed rare crash when pressing Stop inside the editor.
Version 1.1.5
- Implemented CombinedGeometry GetBounds and Contains point.
- Improvements to integration tutorial regarding saving and restoring state. Fixed GL sample.
- Added IVGLFont::GetGlyphAdvance() function.
- Unity UIRenderer fully qualified in Unity to avoid name collisions.
- Unity Touch sample improved with scale min/max values.
- Unity Exposed Noesis.Font class. Font.GetGlyphAdvance(uint ch) returns the advance for the specified character.
- Unity Improved memory efficiency of proxies.
- Unity Improved the stability of the plugin. Now the error handler mechanism is a lot faster inside the Editor and more robust.
- Fixed Crash when GPU queries not supported.
- Fixed Problems with TextBox.MaxLength when inserting non-ascii tex.
- Fixed Problem with KeyboardNavigation using arrow keys.
- Fixed FrameworkElement Width & Height value validation. It was failing for NaN values.
- Fixed Glitch when rendering text rotated by 180 degrees.
- Fixed RenderNodes correctly unconnected on Renderer destruction. This was causing crashes on shutdown.
- Fixed ContentPresenter and ItemsPresenter now disconnects content when template is removed.
- Fixed In rare occasions IRenderer::WaitForUpdate() was locking for ever.
- Fixed Tab/Directional navigation: now selected item gets the focus.
- Unity Fixed UnityEditor.DockArea.OnGUI() error messages.
- Unity Fixed Memory leak when returning const references from math structs.
- Unity Fixed Classes belonging to C# proxies are now always destroyed in the main thread. It was unsafe doing it in the garbage collector thread.
- Unity Fixed ControlGallery sample working in iPad retina.
Version 1.1.4
- Support for specifying a StaticResource in the Binding.Source property of a xaml.
- Support for using ItemsControl directly in a xaml.
- Support for "./" in UriConverter paths.
- Minimal improvements to Images Tutorial in the section "Generating Images at Runtime".
- Substitution of glyphs not found in the font file with the replacement character. (U+FFFD or a simple question mark).
- UI Clipboard implemented using operating system clipboard.
- Improved error messages when parsing SVG paths.
- Improvements to Class Hierarchy documentation. Class methods added.
- Unity Added support for PropertyChangedCallback when creating PropertyMetadata for dependency properties.
- Unity Removed "using Noesis" from Unity samples. Now all class names are fully qualified to avoid name collisions with user classes.
- Unity UserControls defined in samples moved to Assets/NoesisGUI/UserControls. This folder will contain any UserControl we develop.
- Unity Added DependencyProperty.RegisterAttached() function to match WPF API.
- Unity Improved API for Point, Transform2, Transform3, Matrix2, Matrix3, Matrix4. Deleted the 'f' at the end of the class name. For example, Transform2f has been renamed to Transform2.
- Fixed Added error message when NullExtension can't find target property.
- Fixed Bug with IUITreeNode when setting DataContext property to itself.
- Fixed Bug in TwoWay bindings when binding expression needed a full reevaluation.
- Fixed Bug in nested ResourceDictionaries when they are loaded more than once.
- Fixed Bug when selecting text during GotFocus event after clicking down over TextBox.
- Fixed Bug in TextBox not accepting characters with accents.
- Fixed Robustness improvements when using very small or very big matrices.
- Fixed Bug in TimeManager when transferring animations from a loaded xaml to the Renderer TimeManager.
- Fixed Bug when calculating the transformed bounds of a render node.
- Fixed TextBox edit problems on OSX.
- Fixed Changes to Clip geometry are now correctly notified to Visual, to update its bounding box.
- Unity Fixed Rendered content was lagging one frame from Unity. This implied lagging performance to user.
- Unity Fixed Crash when an Unity texture used by a xaml was destroyed.
- Unity Fixed Occasional crash when closing.
- Unity Fixed Bug in UnityBindings that were not restoring focused element after window deactivation.
- Unity Fixed Bug in UnityBindings when an error was thrown while freeing RendererInfo resources during shutting down.
- Unity Fixed Problems with StreamGeometryContext not closing on dispose solved.
- Unity Fixed Memory leaks.
- Unity Fixed Texture2D flickering in Android.
- Unity Fixed "Noesis.dll not unloaded" error after stopping Unity Player.
Version 1.1.3
- PPAA algorithm (antialiasing emulation without using GPU full-scene antialiasing) reimplemented from scratch. Now it is faster and without glitches.
- Improved tessellation algorithm. Better generation of triangles.
- Improvements to XAML parser: crashes fixed, error messages improved.
- Improved CompilerSettings.h to avoid polluting clients code.
- Improved threading performance of XamlPlayer.
- New statistics panel added to XamlPlayer (F2, SHIFT + F2)
- New debug modes in XamlPlayer: wireframe (CTRL + W), overdraw (CRTL + O) and color batch (CTRL + B).
- Size optimization in our binaries. The size of noesis.dll has been reduced.
- Added support for FontFamily syntax "FontPath/FontFile.ext#FontFamily". This syntax is used by Blend when you add a font file (a .ttf for example) to the project and select it.
- Exposed TextBox.CaretIndex property.
- Improvements to documentation: new core documents (memory, reference counting, boxing, delegates) added to index.
- New tutorial: Optimizing NoesisGUI Performance.
- Unity Added support for modifying scripts while in Play mode.
- Unity Added support for creating a TextureSource from any type of UnityEngine.Texture objects (video, render texture, texture).
- Unity BindingOperations exposed to Unity.
- Unity Debugging flags exposed in NoesisGUI component.
- Fixed Update Z-order when inserting a child in a VisualCollection.
- Fixed Crash when using a TemplateBinding outside a ControlTemplate.
- Fixed Opacity groups rendering glitches.
- Fixed Projection glitches.
- Fixed Renderer stats were not working.
- Fixed Geometry loses quality when placed closer to right side of screen due to half float precision.
- Fixed Border issue when drawing images.
- Fixed When Building resources that use Binding, sometimes the properties were not bound properly.
- Fixed Bindings were not using the target property converter if available.
- Fixed ComboBoxItem IsSelected was not updating ComboBox.SelectedItem correctly.
- Fixed StreamGeometryContext now calls automatically StreamGeometry.Close() when is destroyed, as it occurs in WPF.
- Fixed Crash in XamlPlayer when resizing.
- Unity Fixed As<T>() crashes.
- Unity Fixed Memory issues. XAML resources were not properly unloaded from memory.
Version 1.1.2
- ScrollViewer: implemented PanningMode, PanningDeceleration and PanningRatio.
- Implemented inertia in touch manipulations.
- Implemented PasswordBox control.
- New tutorial: Touch and Manipulation
- SamplesGallery demo added to OSX SDK.
- Added constructors for PropertyPath and Binding accepting a DependencyProperty as path.
- Improved Image tutorial with a note about premultiplied alpha.
- Improved Unity tutorial with information about stencil buffer.
- Unity Support for Unity standalone in batchmode.
- Unity RenderTexture reimplemented. Now the implementation is a lot simpler. OSX crashes fixed.
- Unity Mouse events are ignored in mobile platforms. We only consider Touches.
- Unity All scene samples moved to the same folder. Added a default 3D scene.
- Unity Optimized the size of commands sent to the GPU.
- Unity Fixed offscreen images in render to texture and deferred rendering.
- Unity Fixed hit testing when 2+ render to texture being used.
- Unity Added an icon for NoesisGUI component.
- Unity Errors and warnings displayed in the component.
- Unity Added menus for Release Notes and Bug Reporting.
- Unity New Touch sample.
- Unity Added support for creating PropertyMetadata using an extended Unity Type as default value.
- Unity Added support for dependency properties of enum type.
- Unity Improved error checking when working with user controls and dependency properties.
- Fixed Recursion problems during layout process that occurred sometimes with ScrollViewers.
- Fixed Enabled MipMapping in GUI images.
- Fixed Images changing size when being updated.
- Fixed Loading errors in SamplesGallery demo.
- Fixed memory problem with Dependency Objects in OSX 64bits.
- Fixed Right aligned text manages now correctly trailing spaces on ending lines.
- Fixed Added error messages when non valid items are inserted into a collection.
- Fixed Proxies not raising Destroyed event and bindings crashed on shutdown.
- Fixed TextBox losing focus when virtual keyboard was shown.
- Fixed Dependency Object validate callback was being called with an invalid pointer to the value.
- Fixed Memory overflow when handling errors (this is the main reason v1.1.1 was so unstable).
- Fixed Parser now ignores Setter/Trigger/Condition values when property is not found.
- Unity Fixed managed exceptions crashing Unity in OS X.
- Unity Fixed Unity scene disappearing in iOS and Android.
- Unity Fixed headers for missing functions in proxies.
- Unity Fixed PPA gets disabled on resize.
Version 1.1.1
- Implemented the following multi touch events (working in Unity, iOS, Android and Windows8). Documentation and samples will be added in the next version.
- TouchDown
- TouchMove
- TouchUp
- TouchEnter
- TouchLeave
- GotTouchCapture
- LostTouchCapture
- ManipulationStarting
- ManipulationStarted
- ManipulationDelta
- ManipulationCompleted
- Added IRenderer::TouchDown, IRenderer::TouchMove, IRenderer::TouchUp to inject touch events.
- Improvements in error reporting for 64 bits platforms.
- Fixed An element that needed to be clipped because of max size constraints was not always being clipped.
- Fixed ComboBox item selection crash when holding mouse button.
- Fixed crash when using an empty ListView in xaml.
- Fixed strange random crash in UIElement.
- New converters for MatrixTransform and Transform (eg: <Rectangle RenderTransform="1 0 0 1 50 50"/>).
- Fixed Unity crashing when building xamls using incorrect DependencyProperties. Now an error is displayed.
- Support for DependencyProperties of type Color, Point, Rect, Size and Thickness.
- Unity Fixed Dependency properties in Unity extended classes were being serialized twice.
- Unity Added support for UnityEngine.RenderTexture to create a TextureSource within Unity. Now, Unity scene renders can be integrated inside NoesisGUI panels.
- Unity Fixed RoutedEventArgs.source was missing.
Version 1.1.0
- Unity Improved C# API. Please read tutorials because old code need to be updated.
- No more need of a swigCPtr member, custom constructors, Dispose or static Register function on extended classes.
- Dependency properties are now registered in the static class constructor.
- Classes are now extended by specifying the [Noesis.Extended] class attribute.
- UserControl associated xaml is now specified by the [Noesis.UserControlSource(string)] class attribute.
- Notifications of property changes are now done using NotifyPropertyChanged(string).
- SuppressUnmanagedCodeSecurity attribute added to PInvoke functions.
- Improvements to the following documentation:
- Unity3D Tutorial.
- Extending NoesisGUI Tutorial.
- Commands Tutorial.
- UserControl Tutorial. Includes new ColorPicker sample.
- Unity Added support for changing Image.Source at runtime by creating a TextureSource from a UnityEngine.Texture2D.
- Two new sections added to Images Tutorial: 9-Slice Scaling and Generating Images at Runtime.
- Added FrameworkElement.GetTemplateChild() and FrameworkTemplate.FindName() was modified to accept a templated parent element like in WPF.
- Unity Added Enable Keyboard/Mouse toggle to NoesisGUIPanel component in Unity.
- Unity Missing functions and types exposed to Unity API:
- ListBox.SelectedItems.
- ListView and ListViewItem.
- Nullable types for Color, Point, Rect, Size and Thickness.
- Improved Binding.StringFormat implementation. Updated Binding tutorial.
- Markup parser in XamlImporter improved.
- Fixed Storyboard is constructed now with the children collection always created.
- Fixed Crash when using a StoryBoard that can't resolve target names.
- Fixed Bug when an exception was thrown while creating a Renderer.
- Fixed Commas are now optional specifying a MatrixTransform.Transform in xaml.
- Fixed Text blurriness in positions above 1024px.
- Fixed Slider.IsMoveToPointEnabled was not working properly for vertical sliders.
- Fixed Unity Problems with Alt+Tab when in fullscreen.
- Fixed Unity Error messages with internal path "Unity/Unity/" cleaned.
- Fixed Unity Fixed rendering glitches in standalone.
Version 1.0.4
- New platform: Linux, native runtime and Unity standalone player
- New 64 bits platforms for OS X and Windows
- Size of runtimes considerably reduced
- Default style modified to reflect local properties set in controls. For example <Button Background="Red"/> now renders a button with a red background, instead of using the default color for the style
- New sample in ControlGallery showing buttons with different styles
- Implemented Mouse.GetPosition() relative to an element
- Unity VisualTreeHelper.HitTest exposed to Unity
- Unity HitTesting for render texture using RaycastHit.textureCoord. GameObject needs a valid MeshCollider. Unity tutorial updated
- Fixed Fixed ListBox crashing when changing items that use ItemTemplate
- Fixed When changing style of the inner ScrollViewer of a TextBox internal TextBoxView was not correctly set and measured
- Fixed TextBox clipping was lost when the style of the internal ScrollViewer changed
- Fixed TextBox was not updating the insertion point and selection indexes when Text property was set through code
- Fixed Unity UV coordinates were vertically flipped with respect to Unity convention
- Fixed Unity Null string objects in unity are now treated as string.Empty
- Fixed Unity Improved stability when errors happening in native
- Fixed Unity Fixed a rare crash when resizing Unity standalone
Version 1.0.3
- New Tutorial: First Steps with Blend in Unity
- Added StreamGeometry converter to allow things like this: <StreamGeometry>M0,0 L100,0</StreamGeometry>
- Implemented callbacks for showing software keyboard on touch devices
- Improved text rendering with transforms. Now text inside a Viewbox displays without blurriness
- Unity Improved error messages when building resources
- Unity An error is shown when executing on a platform whose resource cache was not built
- Unity Many small fixes that improve Unity stability
- Fixed Offscreen atlas algorithm giving negatives values and crashing sometimes
- Fixed Masking problems that were causing scrollviewers clipping issues
- Fixed sdcard accessing problems solved in android
- Fixed Unity Problems with properties in C# on classes extending NoesisGUI
- Fixed Unity TextBox.AcceptsReturn not working
Version 1.0.2
- Fixed Unity Deferred lighting issues
- Fixed Unity Render artifacts with DirectX. NoesisGUI was corrupting the scene of Unity
- Fixed Unity OpenGL stencil buffer glitches
- Fixed Unity Render performance was very poor on some GPU cards
- Fixed Unity Unity scripts updated, robustness against errors improved
- Fixed Unity LoadScene is now possible in Unity
- Fixed Unity Problem with properties in c#. They were not properly serialized. Read-only properties crashing.
- Fixed Unity Input event args are now correctly exported to Unity
- Fixed Unity Shift key was ignored due to a bug in Unity Event.current notification
- Fixed Unity Navigation tab working now for Unity
- Shader used for masks optimized in GL ES
- Improved batching of draw image
- Fixed Compatibility problem in Windows8, noesis library was not unloaded correctly
- Gui/3rdParty package copied to https://github.com/Noesis/noesisgui-contrib
- Fixed broken links to Tutorials. Now, each tutorial is a zip included inside the documentation
- Improvements to index documentation. Now tutorials for native and unity are separated
- Improvements to Styling Tutorial. Sample using Themes added.
- Improvements to Text Tutorial informing about .font resources
- Grid issues:
- Static functions for setting grid attached properties were using the incorrect type.
- Modifications of grid attached properties were not notifying to the parent grid. The same happened for DockPanel Dock attached property.
- TextBox events (KeyDown, KeyUp, TextInput, etc) were not calling user handlers.
Version 1.0.1
- Unity: NoesisGUI menu moved from Component to Window top menu entry because Unity3D is buggy and our menu was disappearing sometimes.
- Text tutorial improved.
- README file and root index.html added to .unitypackage.
- Minor changes to Unity tutorial.
- SamplesGallery builds needed resources automatically. Now it doesn't crash the first time it is executed.
- Fixed XamlPlayer crashing when maximized
- Fixed Unity was unable to build .xaml resources when the active platform was not PC & MAC.
- Fixed Improved Unity stability. Crashes when clicking Play or Stop resolved.
- Fixed inheriting from extended classes in Unity was not working.
- Fixed Added namespace to Unity class name so xamls designed in Blend using namespaces work correctly.
- Fixed Binding FallbackValue was not serialized correctly when it contains a boxed value.
- Fixed ControlGallery TextBlock sample was missing.
- Fixed Clipping problems in Unity 4.2.
Version 1.0.0
- All tutorials have been improved. Many examples were outdated. Now every sample that is mentioned in the documentation is included in the package Gui/Tutorials and can be viewed with XamlPlayer. Following the suggestions from beta testers we have explained those concepts that were not clear.
- New tutorial: Extending NoesisGUI.
- New tutorial: Commands
- New tutorial: Bindings
- API for integration NoesisGUI within an application has been simplified.
- Unity improvements:
- Setting a SDK is not needed anymore.
- File Resources .xaml and .font can be stored in any directory of the project. There are no restrictions now.
- Links for documentation included inside unity.
- New samples added.
- New platforms added: OS X and iOS.
Version 0.9.9
Features
- OpenGL renderer optimized. Many improvements have been incorporated.
- Improved OpenGL ES 2.X implementation optimized for tiled based architectures. Now samples run fine in Android.
- New platform: iOS. iPhone and iPad supported with iOS 5 or later.
- New SDK platform: Mac OS X v10.5 or later. This SDK is yet experimental and not as complete as the Windows version.
- Support for multisample added in GL. For now only the extensions APPLE_framebuffer_multisample, EXT_framebuffer_multisample and EXT_multisampled_render_to_texture are supported.
- Opacity Groups (aka Render to Texture) have been heavily optimized. Now, you must indicate the resolution of off-screen surfaces when constructing a xaml renderer. By default, two extra textures of the same resolution are created.
- Improvements to the Integration Tutorial. iOS integration described. Simplified interface for loading a xaml and setting up the renderer.
- Tessellation quality improved. Now the aspect of curves at medium quality is better.
- Glyph atlases are now a single channel (A8) texture on mobile platforms.
- Added default style support that is loaded by default with each xaml. Can be overridden by IUISystem::SetTheme().
- Added support for strings in ResourceDictionary.
- Unity improvements:
- New unity directory layout following the suggestions from the forum.
- UserControls can be created now on Unity.
- Unity3d Tutorial updated with UserControl, Binding and Commands information.
- Primitives sample updated with a ListBox and a ColorPicker.
- New LoadXaml function.
- Extended classes are automatically registered now.
- NoesisGui API is now inside the namespace Noesis.
- Added Noesis.Reflection.DoLaunchChangedEvent() function to implement INotifyPropertyChange in Unity extended classes.
- New demo, Shooter Demo, distributed as an standalone unity project.
- Video tutorial created with the Shooter Demo.
- Added a Command (MVVM) example.
Bug fixes
- Fixed Masking (Stencil) was not working properly on several scenarios.
- Fixed DependencyProperty was not taking into account Condition.SourceName to search for the property in the appropriate type.
- Fixed DynamicResourceExpression was not returning UnsetValue when resource key was not found.
- Fixed VisualState and VisualTransition were not implementing IUITreeNode and name lookups failed.
- Fixed BindingExpression was failing when DataContext was being set from code.
- Fixed Thickness, Point and Size parsers accepting now " " and "," as separators.
- Fixed UnityDeviceDX9 rendering xamls to textures and to camera in the same scene were failing.
- Fixed Problems reloading NoesisGUI components in standalone mode.
- Fixed Crash when rendering to a texture that was not being used.
- Fixed Atlases between surfaces was not shared properly (same glyphs were inserted several times).
- Fixed When closing a Pop-up sometimes it was clearing any binding set in the IsOpen property.
- Fixed TextBox handling Unicode characters properly.
- Fixed Bugged animation in Button Pressed state in NoesisStyle.
- PlaneProjection FOV adjusted to match WPF.
Version 0.9.8
Features
- Many improvements in the integration layer between NoesisUI C++ API and Mono. Now, Noesis classes can be extended to create new controls. All samples upgraded with the new improvements.
- Unity pipeline simplified. Now changes to assets are automatically detected. You can be editing a XAML, save the changes and the results are automatically shown on Unity.
- New Unity sample: Primitives.
- Unity3d Tutorial updated.
- Android platform. This is the first release to include runtime support for Android. Both standalone and Unity environment are supported. Although this is still a preliminary work and many optimizations are pending, all the samples are working properly.
- Improvements to the Integration Tutorial. Android integration described.
- Functions in GUI receiving a BaseComponent* that accept a boxed value, are now overloaded with a string parameter to make it easier to use in this case (90% of the time). The functions affected are:
- IList: Set, Add, Insert
- ContentControl: SetContent
- ContentPresenter: SetContent
- FrameworkElement: SetTag
- Added more documentation to Class Hierarchy list. All main classes are now documented.
- OpenGL renderer optimized.
- New tutorial: OpenSceneGraph integration.
Bug fixes
- Fixed Unity crash when the device is lost.
- Fixed Items in ItemsControl not updated when using ItemSource external collection.
- Fixed xaml being modified with Unity editor in play mode
Version 0.9.7
Features
- New Unity demos: MasterMind, RenderToTexture and Primitives.
- New sample: CarHud
- Implemented render to texture in Unity
- UnityExporter console application deprecated. A new tool is implemented directly inside the editor of Unity3d
- Improvements to Unity3d Tutorial, describing all the things that are new
- Several improvements to text rendering. Subpixel positioning implemented.
- OpenGL RenderSystem implementation
- Improvements to the Integration Tutorial. OpenGL integration described
- XamlPlayer: Drag&Drop feature removed. It was confusing to the user where resources could be dragged from
- XamlPlayer: new resource browser panel added to select the XAML to load
- XamlPlayer: animations panel now shows a list of storyboards each one with its own play / pause / stop buttons.
- XamlPlayer: wait for vsync when rendering. When the window is not active, it stops continuously rendering
- Improvements to the Class Hierarchy documentation. All supported classes, with properties and events are summarized.
Bug fixes
- Fixed If available the OS/2 table of OpenType fonts is used. Same behavior than WPF.
- Fixed DrawText snapping parameter removed. Now text is like the rest of primitives, that are aligned at integer positions
- Fixed Text rendering with alpha was not correct
- Fixed tessellation of circles generated extra triangles in some scenarios
- Improvements to BuildTool that sometimes never returned. Background and foreground color properly restored
Version 0.9.6
Features
- New demo: TicTacToe.
- New demo: SamplesGallery. Added as a scene to the unity package too.
- New tutorial: Layout & Panels.
- New tutorial: OGRE Tutorial.
- New samples: Brushes, Butterfly, Canvas, DockPanel, Grid, Palette, ProgressBar, StackPanel, StatusBar, ToolBar, Tiger, WrapPanel.
- Improvements to the Unity runtime. Now it is smaller and faster. Errors are properly handled now.
- Changes to Enums in C#. For example, HorizontalAlignment_Center is now HorizontalAlignment.Center.
Bug fixes
- Many bugs fixed related to bindings of NoesisGui to C# (affecting the Unity runtime).
- Fixed Unity runtime crashing on exit.
- Fixed LineGeometry was not calculating correctly its bounds when a non identity transform was used.
- Fixed Compilation errors with Visual Studio 2010.
- Fixed UserControl was not copying correctly triggers during loading process.
Version 0.9.5
Features
- New tutorial: Unity3d Tutorial
- Improvements to the Integration Tutorial
- Fonts with embedded bitmaps were not properly rendered.
- New IStoryboard interface.
- Implemented PauseStoryboard, ResumeStoryboard and StopStoryboard triggers actions.
- Added Pause/Resume/Stop buttons to XamlPlayer animations panel.
- Improvements to stroke generation.
- DirectX InputSystem no longer used in the SDK.
- PixelWidth and PixelHeight properties added to BitmapSource and TextureSource.
- Many functions have been changed from receiving a smart pointer to a raw pointer.
Bug fixes
- Fixed EventTrigger was not invoking trigger actions with the correct target and namescope.
- Fixed Focused Button was not launching Click event when space bar was pressed.
- Fixed PropertyPath path was being serialized twice.
- Fixed When a merged dictionary contains more than one merged dictionary, an incorrect error was thrown.
- Fixed PushTransform matrix multiplication order in UIElement was wrong
- Fixed Compilation errors with Visual Studio 2010
Version 0.9.4
Features
- New exporter for TexturePacker inside Gui/3rdParty/Content/TexturePacker. With this plugin atlases that are compatible with NoesisGui can be generated. See the Images Tutorial.
- Animations on sample Time.xaml are now not launched automatically, use the animation panel to launch them.
- Support for Triggers in DataTemplates.
- ListView control implemented with column reordering, and ListView.xaml sample added to Gui/Samples.
- Improvements to text rendering quality.
- Support for stroking text in TextBlock. See included Text.xaml example in Gui/Samples.
- TextBox control implemented with Copy/Cut/Paste commands. TextBox.xaml example added to Gui/Samples.
- ScrollBar and Slider controls now react to key input gestures when control is focused.
Bug fixes
- Fixed Track element was not taking IsDirectionReversed into account in arrange code to layout DecreaseButton and IncreaseButton correctly.
- Fixed Crash building a Style without a TargetType.
Version 0.9.3
Features
- Added ImageSource.Width and ImageSource.Height properties.
- ImageSource now uses image resolution to calculate its size (width and height) in device independent units.
- All TileBrush tiling modes (None, Tile, FlipX, FlipY, FlipXY) correctly implemented.
- New tutorial for images added. Related examples added: ImageAtlas, ImageBrushStretch, ImageBrushTile and ImageBrushViewBox.
- Automatic atlases no longer generated. Now atlases must be created manually.
- Image.Source and ImageBrush.ImageSource properties are now of ImageSource type. Added ImageSourceConverter to convert image paths into a valid ImageSource (TextureSource if a texture compiler is available, or BitmapSource otherwise).
- XamlPlayer now shows and can launch animations found in the Resources property of the loaded XAML root.
- New option in XamlPlayer to view loaded XAML in wireframe mode.
- Support for Style.BasedOn property implemented.
Bug fixes
- Fixed GridView.ColumnHeaderContainerStyle property was registered with a wrong name.
- Fixed ClipToBounds was not correctly implemented.
Version 0.9.2
Features
- Xaml files that define a ResourceDictionary are now cached when they are loaded for the first time.
- Mouse CaptureMode SubTree implemented.
- Now ComboBoxes, Menus and ContextMenus capture the mouse while its Popup is open.
- Added a Find() function to IDictionary so Contains() + Get() consecutive calls can be optimized.
- INameScope FindName() now returns a raw pointer.
- IUITreeNode FindNodeResource() and FindNodeName() now return a raw pointer.
Bug fixes
- Fixed Behaviour of Popup and its StaysOpen property was not correct.
- Fixed Problems with HitTest clipping and opacity groups inside Popup elements.
- Fixed The order of events raised when Keyboard focus changed is now correct: if the PreviewGotKeyboardFocus event or the PreviewLostKeyboardFocus event is handled, keyboard focus does not change.
- Fixed Destroying a ContextMenu or ToolTip while its popup is open was crashing.
- Fixed Referencing resources of a merged dictionary inside another merged dictionary was failing.
Version 0.9.1
Features
- Added ResetInputState() to IRenderer, so mouse buttons and keys that were pressed can be reseted when an application is deactivated.
- Optimized Border geometry generation using StreamGeometryContext, and now is robust against limit cases (corners bigger than border size, etc.).
- UIResource dependencies are now stored as GUID instead of strings (it is recommended to rebuild UI resources).
- Implemented PushClip drawing context command (to be used within OnRender).
- Added Timeline Completed event to reflection so it can be used from XAML.
- Optimized PropertyPath memory space used by instances, and path is now parsed and serialized to avoid parsing in runtime as much as possible (it is recommended to rebuild UI resources).
- Added static methods to RelativeSource to obtain unique instances of Self, TemplatedParent, or PreviousData relative sources.
- Improvements to XamlReader to detect errors writing markup extensions or the {} escape sequence.
Bug fixes
- Fixed DependencyProperties that Inherits didn't notify OnSubPropertyChanged correctly.
- Fixed Grid layout of star cells was failing when there were 2 or more cells with the same measure size.
- Fixed Track that was part of a ScrollBar didn't specify a minimum size for the Thumb control.
- Fixed BlendTutorial color selector sliders were not correctly initialized.
- Fixed ListBox in single selection mode was failing when Ctrl clicking an item.
- Fixed Some DependencyObject derived classes were not constructing the UI tree correctly, causing failures during resource look up.
Version 0.9.0
First version released in the private beta program.