* Add attribute
* Replace `SetLastError = true` with `Marshal.GetLastSystemError()`
* Make Avalonia.Base and Avalonia.Skia compatible with DisableRuntimeMarshalling
* First step in Android DisableRuntimeMarshalling support
* Make Avalonia.Browser compatible
* Set EnableRuntimeMarshalling=true on all projects we are not yet ready to support without runtime marshalling
* Added failing AutoCompleteBox test.
* Make sure that flags are reset if exits early.
Wrap everything in a `try`...`finally` block so that they get reset even on exception.
* fix Automation.HelpText on windows
* fix AutomationProperties.HelpText on macos
* change breaking abstract to virtual
* only fall back to tooltip if string
* remove duplicate override
* fix AutomationProperties.HelpText on macos
* Use scalable rasterization for visual brush
* Make ConfigureSceneBrushContentWithPicture less byzantine
---------
Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
The `AvaloniaNative.GlPlatformSurface.CreateGlRenderTarget` method can only be called on the UI thread. In normal circumstances this method is called in response to a call to `TopLevel.HandlePaint` from the native `AvnView.updateLayer` method. However, a customer was experiencing a problem where `AvnView.updateLayer` and by extension `TopLevel.HandlePaint` were being called before the window is shown. This broke the creation of the GL render target.
* Enable VisualBrush to be used as Visual's OpacityMask
* Add missing test file
---------
Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
* fix Automation.HelpText on windows
* change breaking abstract to virtual
* only fall back to tooltip if string
* remove duplicate override
---------
Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
* Make base project internals visible to DiagnosticsSupport, just in case for now
* Make ValueStoreDiagnostic diagnostic API more usable with wider range of types
* Add MultiBindingExpression internal members for visibilty
* Implement AvaloniaObject on ResourceProvider
* ColorPaletteResources and ColorPaletteResourcesCollection should inherit ResourceProvider
* Use ResourceProvider in tests too
* Adjust API diff
---------
Co-authored-by: Steven Kirk <grokys@users.noreply.github.com>
* android - call base dispatch key event before called toplevel's override
* android - handle keyevent in avalonia before calling base DispatchKeyEvent
---------
Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
* feat: expose TreeViewItem expansion status to root event.
* feat: use expand/collapse event similar to Expander.
* feat: 1. delete useless event arg 2. move event to TreeViewItem. 3. Fix documentation. 4. Change routing to Bubble|Tunnel as both parent and children may care about this epxanding status.
* Make sure wrapper and platform DrawingContext have the same transform after Flush
* Add some tests
* Update Avalonia.RenderTests.WpfCompare.csproj
* Remove comments
* Use test font
* Fix IME not working in some scenarios.
* If other services trigger `OnNameChange` before `GetNameOwnerAsync`, then we will incorrectly connect to other services, and will be stuck at `Connect`. We should ignore irrelevant services.
* `WatchNameOwnerChangedAsync` should be called only once.
* Add log.
* Stop Selection.Clear() when selecting a range to enable multiple consecutive blocks to be selected.
* Reinstated Selection.Clear() when range is true and toggleModifier is false.
When range and toggleModifier are true, consecutive ranges are selected.
Added new unit test.
The typo causes the resources `implicitSharedInstance1` and `implicitSharedInstance2` are both always `AvaloniaProperty.UnsetValue`, where `Assert.Same` passes.