Exemplo n.º 1
0
 public WindowImpl(IAvaloniaNativeFactory factory)
 {
     using (var e = new WindowEvents(this))
     {
         Init(_native = factory.CreateWindow(e), factory.CreateScreens());
     }
 }
Exemplo n.º 2
0
 public WindowImpl(IAvaloniaNativeFactory factory, AvaloniaNativePlatformOptions opts) : base(opts)
 {
     using (var e = new WindowEvents(this))
     {
         Init(_native = factory.CreateWindow(e), factory.CreateScreens());
     }
 }
        public AvaloniaNativeMenuExporter(IAvaloniaNativeFactory factory)
        {
            _factory             = factory;
            _applicationCommands = _factory.CreateApplicationCommands();

            DoLayoutReset();
        }
        public AvaloniaNativeMenuExporter(IAvnTrayIcon trayIcon, IAvaloniaNativeFactory factory)
        {
            _factory  = factory;
            _trayIcon = trayIcon;

            DoLayoutReset();
        }
Exemplo n.º 5
0
        internal void Update(AvaloniaNativeMenuExporter exporter, IAvaloniaNativeFactory factory, NativeMenuItem item)
        {
            if (item != ManagedMenuItem)
            {
                throw new ArgumentException("The item does not match the menuitem being updated.", nameof(item));
            }

            if (item.Menu != null)
            {
                if (_subMenu == null)
                {
                    _subMenu = __MicroComIAvnMenuProxy.Create(factory);

                    _subMenu.Initialise(exporter, item.Menu, item.Header);

                    SetSubMenu(_subMenu);
                }

                _subMenu.Update(factory, item.Menu);
            }

            if (item.Menu == null && _subMenu != null)
            {
                _subMenu.Deinitialise();
                _subMenu.Dispose();

                SetSubMenu(null);
            }
        }
Exemplo n.º 6
0
 public PopupImpl(IAvaloniaNativeFactory factory)
 {
     using (var e = new PopupEvents(this))
     {
         Init(factory.CreatePopup(e), factory.CreateScreens());
     }
 }
        public AvaloniaNativeMenuExporter(IAvnWindow nativeWindow, IAvaloniaNativeFactory factory)
        {
            _factory      = factory;
            _nativeWindow = nativeWindow;

            DoLayoutReset();
        }
Exemplo n.º 8
0
        public AvaloniaNativeMenuExporter(IAvaloniaNativeFactory factory)
        {
            _factory = factory;

            _menu = NativeMenu.GetMenu(Application.Current);
            DoLayoutReset();
        }
Exemplo n.º 9
0
 public PopupImpl(IAvaloniaNativeFactory factory, AvaloniaNativePlatformOptions opts) : base(opts)
 {
     using (var e = new PopupEvents(this))
     {
         Init(factory.CreatePopup(e), factory.CreateScreens());
     }
 }
Exemplo n.º 10
0
        private IAvnMenuItem CreateNew(IAvaloniaNativeFactory factory, NativeMenuItemBase item)
        {
            var nativeItem = item is NativeMenuItemSeperator?factory.CreateMenuItemSeperator() : factory.CreateMenuItem();

            nativeItem.ManagedMenuItem = item;

            return(nativeItem);
        }
Exemplo n.º 11
0
        private __MicroComIAvnMenuItemProxy CreateNew(IAvaloniaNativeFactory factory, NativeMenuItemBase item)
        {
            var nativeItem = (__MicroComIAvnMenuItemProxy)(item is NativeMenuItemSeparator ?
                factory.CreateMenuItemSeparator() :
                factory.CreateMenuItem());
            nativeItem.ManagedMenuItem = item;

            return nativeItem;
        }
Exemplo n.º 12
0
        public WindowImpl(IAvaloniaNativeFactory factory, AvaloniaNativePlatformOptions opts) : base(opts)
        {
            _factory = factory;
            _opts    = opts;
            using (var e = new WindowEvents(this))
            {
                Init(_native = factory.CreateWindow(e), factory.CreateScreens());
            }

            //NativeMenuExporter = new AvaloniaNativeMenuExporter(_native, factory);
        }
Exemplo n.º 13
0
        internal WindowBaseImpl(IAvaloniaNativeFactory factory, AvaloniaNativePlatformOptions opts,
                                AvaloniaNativePlatformOpenGlInterface glFeature)
        {
            _factory           = factory;
            _gpu               = opts.UseGpu && glFeature != null;
            _deferredRendering = opts.UseDeferredRendering;

            _keyboard      = AvaloniaLocator.Current.GetService <IKeyboardDevice>();
            _mouse         = new MouseDevice();
            _cursorFactory = AvaloniaLocator.Current.GetService <ICursorFactory>();
        }
Exemplo n.º 14
0
        public static __MicroComIAvnMenuProxy Create(IAvaloniaNativeFactory factory)
        {
            var events = new MenuEvents();

            var menu = (__MicroComIAvnMenuProxy)factory.CreateMenu(events);

            events.Initialise(menu);

            menu._events = events;

            return menu;
        }
Exemplo n.º 15
0
        public static IAvnMenu Create(IAvaloniaNativeFactory factory)
        {
            var events = new MenuEvents();

            var menu = factory.CreateMenu(events);

            events.Initialise(menu);

            menu._events = events;

            return(menu);
        }
Exemplo n.º 16
0
 public PopupImpl(IAvaloniaNativeFactory factory,
                  AvaloniaNativePlatformOptions opts,
                  IWindowBaseImpl parent) : base(opts)
 {
     _factory = factory;
     _opts    = opts;
     using (var e = new PopupEvents(this))
     {
         Init(factory.CreatePopup(e), factory.CreateScreens());
     }
     PopupPositioner = new ManagedPopupPositioner(new ManagedPopupPositionerPopupImplHelper(parent, MoveResize));
 }
Exemplo n.º 17
0
        private __MicroComIAvnMenuItemProxy CreateNewAt(IAvaloniaNativeFactory factory, int index, NativeMenuItemBase item)
        {
            var result = CreateNew(factory, item);

            result.Initialize(item);

            _menuItemLookup.Add(result.ManagedMenuItem, result);
            _menuItems.Insert(index, result);

            InsertItem(index, result);

            return result;
        }
Exemplo n.º 18
0
 public PopupImpl(IAvaloniaNativeFactory factory,
                  AvaloniaNativePlatformOptions opts,
                  GlPlatformFeature glFeature,
                  IWindowBaseImpl parent) : base(opts, glFeature)
 {
     _factory   = factory;
     _opts      = opts;
     _glFeature = glFeature;
     using (var e = new PopupEvents(this))
     {
         Init(factory.CreatePopup(e, _opts.UseGpu ? glFeature?.DeferredContext.Context : null), factory.CreateScreens());
     }
     PopupPositioner = new ManagedPopupPositioner(new OsxManagedPopupPositionerPopupImplHelper(parent, MoveResize));
 }
Exemplo n.º 19
0
        internal WindowImpl(IAvaloniaNativeFactory factory, AvaloniaNativePlatformOptions opts,
                            GlPlatformFeature glFeature) : base(opts, glFeature)
        {
            _factory   = factory;
            _opts      = opts;
            _glFeature = glFeature;
            using (var e = new WindowEvents(this))
            {
                Init(_native = factory.CreateWindow(e,
                                                    _opts.UseGpu ? glFeature?.DeferredContext.Context : null), factory.CreateScreens());
            }

            NativeMenuExporter = new AvaloniaNativeMenuExporter(_native, factory);
        }
Exemplo n.º 20
0
        internal WindowImpl(IAvaloniaNativeFactory factory, AvaloniaNativePlatformOptions opts,
                            AvaloniaNativePlatformOpenGlInterface glFeature) : base(opts, glFeature)
        {
            _factory   = factory;
            _opts      = opts;
            _glFeature = glFeature;
            using (var e = new WindowEvents(this))
            {
                var context = _opts.UseGpu ? glFeature?.MainContext : null;
                Init(_native = factory.CreateWindow(e, context?.Context), factory.CreateScreens(), context);
            }

            NativeMenuExporter = new AvaloniaNativeMenuExporter(_native, factory);
        }
Exemplo n.º 21
0
 public PopupImpl(IAvaloniaNativeFactory factory,
                  AvaloniaNativePlatformOptions opts,
                  AvaloniaNativePlatformOpenGlInterface glFeature,
                  IWindowBaseImpl parent) : base(factory, opts, glFeature)
 {
     _opts      = opts;
     _glFeature = glFeature;
     _parent    = parent;
     using (var e = new PopupEvents(this))
     {
         var context = _opts.UseGpu ? glFeature?.MainContext : null;
         Init(factory.CreatePopup(e, context?.Context), factory.CreateScreens(), context);
     }
     PopupPositioner = new ManagedPopupPositioner(new ManagedPopupPositionerPopupImplHelper(parent, MoveResize));
 }
Exemplo n.º 22
0
        internal void Update(IAvaloniaNativeFactory factory, NativeMenu menu)
        {
            if (menu != ManagedMenu)
            {
                throw new ArgumentException("The menu being updated does not match.", nameof(menu));
            }

            for (int i = 0; i < menu.Items.Count; i++)
            {
                __MicroComIAvnMenuItemProxy nativeItem;

                if (i >= _menuItems.Count)
                {
                    nativeItem = CreateNewAt(factory, i, menu.Items[i]);
                }
                else if (menu.Items[i] == _menuItems[i].ManagedMenuItem)
                {
                    nativeItem = _menuItems[i];
                }
                else if (_menuItemLookup.TryGetValue(menu.Items[i], out nativeItem))
                {
                    MoveExistingTo(i, nativeItem);
                }
                else
                {
                    nativeItem = CreateNewAt(factory, i, menu.Items[i]);
                }

                if (menu.Items[i] is NativeMenuItem nmi)
                {
                    nativeItem.Update(_exporter, factory, nmi);
                }
            }

            while (_menuItems.Count > menu.Items.Count)
            {
                RemoveAndDispose(_menuItems[_menuItems.Count - 1]);
            }
        }
Exemplo n.º 23
0
 private AvaloniaNativePlatform(IAvaloniaNativeFactory factory)
 {
     _factory = factory;
 }
        public AvaloniaNativeMenuExporter(IAvaloniaNativeFactory factory)
        {
            _factory = factory;

            DoLayoutReset();
        }
Exemplo n.º 25
0
        public TrayIconImpl(IAvaloniaNativeFactory factory)
        {
            _native = factory.CreateTrayIcon();

            MenuExporter = new AvaloniaNativeMenuExporter(_native, factory);
        }
 public AvaloniaNativeDragSource(IAvaloniaNativeFactory factory)
 {
     _factory = factory;
 }