| File: Handlers\GraphicsView\GraphicsViewHandler.cs | Web Access |
| Project: src\src\Core\src\Core.csproj (Microsoft.Maui) |
#nullable enable #if __IOS__ || MACCATALYST || MONOANDROID || WINDOWS || TIZEN #define PLATFORM using PlatformView = Microsoft.Maui.Platform.PlatformTouchGraphicsView; #else using PlatformView = System.Object; #endif namespace Microsoft.Maui.Handlers { public partial class GraphicsViewHandler : IGraphicsViewHandler { public static IPropertyMapper<IGraphicsView, IGraphicsViewHandler> Mapper = new PropertyMapper<IGraphicsView, IGraphicsViewHandler>(ViewHandler.ViewMapper) { [nameof(IView.Background)] = MapBackground, [nameof(IGraphicsView.Drawable)] = MapDrawable, [nameof(IView.FlowDirection)] = MapFlowDirection }; public static CommandMapper<IGraphicsView, IGraphicsViewHandler> CommandMapper = new(ViewCommandMapper) { [nameof(IGraphicsView.Invalidate)] = MapInvalidate }; public GraphicsViewHandler() : base(Mapper, CommandMapper) { } public GraphicsViewHandler(IPropertyMapper? mapper) : base(mapper ?? Mapper, CommandMapper) { } public GraphicsViewHandler(IPropertyMapper? mapper, CommandMapper? commandMapper) : base(mapper ?? Mapper, commandMapper ?? CommandMapper) { } IGraphicsView IGraphicsViewHandler.VirtualView => VirtualView; PlatformView IGraphicsViewHandler.PlatformView => PlatformView; protected override void ConnectHandler(PlatformView platformView) { #if PLATFORM platformView.Connect(VirtualView); #endif base.ConnectHandler(platformView); } protected override void DisconnectHandler(PlatformView platformView) { #if PLATFORM platformView.Disconnect(); #endif base.DisconnectHandler(platformView); } } }