示例#1
0
 private static void EnsureExtensionInitialized()
 {
     if (_vibrationDeviceExtension == null)
     {
         ApiExtensibility.CreateInstance(typeof(VibrationDevice), out _vibrationDeviceExtension);
     }
 }
示例#2
0
 partial void InitializePlatform()
 {
     if (ApiExtensibility.CreateInstance <ISystemNavigationManagerPreviewExtension>(this, out var extension))
     {
         _extension = extension;
     }
 }
示例#3
0
 public ApplicationView()
 {
     if (!ApiExtensibility.CreateInstance(this, out _applicationViewExtension))
     {
         throw new InvalidOperationException($"Unable to find IApplicationViewExtension extension");
     }
 }
 partial void InitPlatform()
 {
     if (!ApiExtensibility.CreateInstance(typeof(SimpleHapticsController), out _simpleHapticsControllerExtension))
     {
         throw new InvalidOperationException($"Unable to find ISimpleHapticsControllerExtension extension");
     }
 }
示例#5
0
 partial void Initialize()
 {
     if (!ApiExtensibility.CreateInstance(this, out _displayInformationExtension))
     {
         throw new InvalidOperationException($"Unable to find IDisplayInformationExtension extension");
     }
 }
示例#6
0
 partial void InitializePartial()
 {
     if (!ApiExtensibility.CreateInstance(this, out _coreWindowExtension))
     {
         //	throw new InvalidOperationException($"Unable to find ICoreWindowExtension extension");
     }
 }
示例#7
0
 static ContactPicker()
 {
     if (_contactPickerExtension == null)
     {
         ApiExtensibility.CreateInstance(typeof(ContactPicker), out _contactPickerExtension);
     }
 }
示例#8
0
 public DragDropManager(Window window)
 {
     _window = window;
     if (ApiExtensibility.CreateInstance <IDragDropExtension>(this, out var extension))
     {
         _hostExtension = extension;
     }
 }
示例#9
0
        /// <summary>
        /// Assert that the native overlay layer for Skia targets is initialized in time for UI to appear.
        /// </summary>
        public void AssertIssue8641NativeOverlayInitialized()
        {
#if __SKIA__
            var textBox     = new TextBox();
            var textBoxView = new TextBoxView(textBox);
            ApiExtensibility.CreateInstance <ITextBoxViewExtension>(textBoxView, out var textBoxViewExtension);
            Assert.IsTrue(textBoxViewExtension.IsNativeOverlayLayerInitialized);
#endif
        }
示例#10
0
        private static SystemTheme GetSystemTheme()
        {
            if (_systemThemeHelperExtension == null)
            {
                ApiExtensibility.CreateInstance(typeof(SystemThemeHelper), out _systemThemeHelperExtension);
            }

            return(_systemThemeHelperExtension?.GetSystemTheme() ?? SystemTheme.Light);
        }
示例#11
0
 private void TryInitializeSpanningRectsExtension()
 {
     if (_defaultSpanningRects == null && _applicationViewSpanningRects == null)
     {
         if (!ApiExtensibility.CreateInstance <IApplicationViewSpanningRects>(this, out _applicationViewSpanningRects))
         {
             _defaultSpanningRects = new List <Rect>(0);
         }
     }
 }
示例#12
0
        static WebAuthenticationBroker()
        {
            ApiExtensibility.CreateInstance(null, out _authenticationBrokerProvider);

            // If no custom extension found, default to internal one.
            if (_authenticationBrokerProvider == null)
            {
                _authenticationBrokerProvider = new WebAuthenticationBrokerProvider();
            }
        }
示例#13
0
 public TextBoxView(TextBox textBox)
 {
     _textBox = new WeakReference <TextBox>(textBox);
     if (!ApiExtensibility.CreateInstance(this, out _textBoxExtension))
     {
         if (this.Log().IsEnabled(LogLevel.Warning))
         {
             this.Log().LogWarning(
                 "No TextBoxView implementation is available " +
                 "for this Skia target. Functionality will be limited.");
         }
     }
 }
示例#14
0
 private static void TryInitializeHingeAngleSensor(HingeAngleSensor owner)
 {
     if (_hingeAngleSensor != null)
     {
         return;
     }
     lock (_syncLock)
     {
         if (_hingeAngleSensor == null && !ApiExtensibility.CreateInstance(owner, out _hingeAngleSensor))
         {
             owner.Log().Warn("You need to reference Uno.UI.DualScreen NuGet package from your project to use this feature.");
         }
     }
 }
示例#15
0
        public DragDropManager(Window window)
        {
            _window = window;

#if __MACOS__
            // Dependency injection not currently supported on macOS
            _hostExtension = new MacOSDragDropExtension(this);
#else
            if (ApiExtensibility.CreateInstance <IDragDropExtension>(this, out var extension))
            {
                _hostExtension = extension;
            }
#endif
        }
示例#16
0
        public Application()
        {
            Current = this;
            Package.SetEntryAssembly(this.GetType().Assembly);

            if (!_startInvoked)
            {
                throw new InvalidOperationException("The application must be started using Application.Start first, e.g. Windows.UI.Xaml.Application.Start(_ => new App());");
            }

            ApiExtensibility.CreateInstance(this, out _applicationExtension);

            CoreDispatcher.Main.RunAsync(CoreDispatcherPriority.Normal, Initialize);
        }
示例#17
0
    private async Task <IUICommand> ShowInnerAsync(CancellationToken ct)
    {
#if __IOS__ || __MACOS__ || __ANDROID__ || __WASM__
        if (WinRTFeatureConfiguration.MessageDialog.UseNativeDialog)
        {
            return(await ShowNativeAsync(ct));
        }
#endif

        if (!ApiExtensibility.CreateInstance <IMessageDialogExtension>(this, out var extension))
        {
            throw new InvalidOperationException("MessageDialog extension is not registered");
        }

        return(await extension.ShowAsync(ct));
    }
        public PointerManager(InputManager inputManager)
        {
            if (_pointerExtension is null)
            {
                ApiExtensibility.CreateInstance(typeof(PointerManager), out _pointerExtension);                 // TODO: Add IPointerExtension implementation to all Skia targets and create instance per XamlRoot https://github.com/unoplatform/uno/issues/8978
            }
            _inputManager = inputManager;

            if (_inputManager._contentRoot.Type == ContentRootType.CoreWindow)
            {
                Windows.UI.Xaml.Window.Current.CoreWindow.PointerMoved        += (c, e) => OnPointerMoved(e);
                Windows.UI.Xaml.Window.Current.CoreWindow.PointerEntered      += (c, e) => OnPointerEntered(e);
                Windows.UI.Xaml.Window.Current.CoreWindow.PointerExited       += (c, e) => OnPointerExited(e);
                Windows.UI.Xaml.Window.Current.CoreWindow.PointerPressed      += (c, e) => OnPointerPressed(e);
                Windows.UI.Xaml.Window.Current.CoreWindow.PointerReleased     += (c, e) => OnPointerReleased(e);
                Windows.UI.Xaml.Window.Current.CoreWindow.PointerWheelChanged += (c, e) => OnPointerWheelChanged(e);
                Windows.UI.Xaml.Window.Current.CoreWindow.PointerCancelled    += (c, e) => OnPointerCancelled(e);
            }
        }
示例#19
0
 partial void InitializePlatform()
 {
     ApiExtensibility.CreateInstance(typeof(PackageId), out _packageIdExtension);
 }
示例#20
0
 partial void InitPlatform()
 {
     ApiExtensibility.CreateInstance(this, out _badgeUpdaterExtension);
 }
示例#21
0
 partial void InitializePlatform() => ApiExtensibility.CreateInstance(this, out _folderPickerExtension);