* Added BuildTests projects
* Added VerifyXamlCompilation build target
* Use TargetsTriggerByCompilation for XAML compilation
* Add *.binlog to gitignore
* VerifyXamlCompilation target: set NuGetPackageRoot
* Ensure WpfHybrid build test uses two markup compilation passes
* Fail build tests restore immediately if AvaloniaVersion isn't set
* Fix "could not extract MVID" for up-to-date builds
* Run VerifyXamlCompilation on CI
* Add FSharp build test
* Move automation interfaces to the Avalonia.Win32.Automation with DisableRuntimeMarshalling and use [GeneratedComInterface] marshalling
* Various fixes for the new windows accessibility
* Numerge Avalonia.Win32.Automation into Avalonia.Win32
* Suppress Avalonia.Win32 API warnings, these interfaces never were part of the public API
* Fix IRawElementProviderSimple2 definition on legacy COM interop
* Some changes after review
* More consistent COM method names
* Fix folder hierarchy
* Rewrite SafeArrayMarshaller to use arrays as managed type
* Add ManagedObjectWrapper where's possible
* Throw an exception for unsupported SafeArrayRef scenario
---------
Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
* Add .NET 8 target to packable projects
* Update test projects
* Update sample projects to target .NET 8
* Update main Avalonia package to target .NET 8 as well
* Remove MSBuildEnableWorkloadResolver hack and some minor change
* Use net8.0 in nuke build as well
* Pin 8.0.0 SDK
* Adjust API validation
* Pin a valid version
* Remove net461 target from Avalonia package
* Remove unused net6.0 target from Avalonia.Designer.HostApp
* Adjust API diff
* Update ControlCatalog.Android.csproj
* Remove MSBuildEnableWorkloadResolver
* Fix Browser issues on .NET 8
* Fix .NET 8 error
* Fix merge conflicts
* Replace explicit TFMs in .csproj files with a centralized registry
* Fix merge conflict
* Fix AvsLegacyWindowsTargetFrameworks and add hacks for the tests
* Update XCode project CommandLineArgument
---------
Co-authored-by: Nikita Tsukanov <keks9n@gmail.com>
* BuildToNuGetCache target
* Skip more stuff that's not required for quick local testing of apps
---------
Co-authored-by: Max Katz <maxkatz6@outlook.com>
* implement tizen platform, resolve#6110
* Fix enum types of touch event
* Fix issue of touch tracking.
* #6110 fix ui thread lock
* #6110 send keypad from tizen window
* #6110 fix touch update
* #6110 add text editor for input fields
* #6110 Hide text field
* #6110 Fix issue of text selection and backspace
* #6110 support multi and single line for input
* #6110 temporary set multiline true by default.
* #6110 fix issue of build with latest version and make it compatible
* #6110 by pass double input when softkeyboard showing.
* #6110 adding support for clipboard.
* #6110 add permission helper to tizen platform
* #6110 Implementation of storage provider for tizen
* #6110 send text for key character from hard keyboard
* #6110 Complete the input implementation. soft and hard keyboard
* #6110 remove ElmSharp
* Update Permissions.cs
* #6110 remove open folder for tizen
* #6110 fix the issue of keyboard frezee for tizen
* #6110 add workload to build tizen
* #6110 try to setup tizen workloads for windows
* #6110 change tizen workload install to powershell
* #6110 skip api diff check when package not exists
* #6110 try to fix linux pipeline
* #6110 implement tizen native view
* #6110 add dev analyzer and trimming
* #6110 Migrate to GLES and remove framebuffer
* #6110 Temporary solution to make GL work
* #6110 WIP and add comments
* #6110 optimise gles rendering and timing.
* #6110 fix dependency issue of tizen HarfBuzzSharp
* #6110 patch a fix for clipboard issue
* #6110 Support tizen sdk for old proj type, WIP
* #6110 wip setup app
* #6110 support only net6 for tizen
* #6110 resolve comments
---------
Co-authored-by: Kangho Hur <rookiejava+github@gmail.com>
Co-authored-by: Max Katz <maxkatz6@outlook.com>
- animation/layout/render cycle is now managed from a central location
- animations are now throttled if animation/layout/render pass takes longer than a frame which previously caused a soft-freeze with input not being processed
- the public API is trimmed to make sure that we can make other planned changes during the 11.x support cycle
"Changelog":
- IClock is hidden and is planned to be replaced later
- Animator classes are hidden and are planned to be refactored later
- IAnimation members are hidden, it's supposed to be a marker interface for Style.Animations collection now, to start animations manually use Animation.RunAsync
- Sealed several classes in Avalonia.Animation namespace
- Spring class is removed from the public API (it wasn't possible to use it directly in a meaningful way anyway)
- Sealed brushes, transforms, effects and drawings
- Removed separate dispatcher priorities for Layout and Composition, everything now happens from a central place with Render priority (same as WPF)
- - some private "hook" priorities are added for now, those will be removed later
- IRenderLoop is hidden and removed from locator
- IRenderer is hidden (the plan is to remove that concept later)
- - Renderer.Start/Stop exposed as StartRendering/StopRendering on the toplevel (will be on a CompositionTarget/PresentationSource-like type later)
- - Renderer.Diagnistics exposed as RendererDiagnostics (same)
- - Renderer is no longer created by the platform code and is created by TopLevel itself
- - From the user-code hit-testing should be done by VisualExtensions.GetVisual(s)At, which has the same features
- - For unit tests a separate IHitTester interface is added which can be changed for a particular toplevel
- ILayoutManager is hidden
- - LayoutManager.ExecuteLayoutPass() exposed as TopLevel.UpdateLayout()
- Custom animators now have a separate base class that only deals with interpolation
Minor improvements:
- Compositor has a mode that doesn't use DispatcherTimers, useful for unit tests
- Introduced ScopedTestBase that auto-resets the locator when test is finished