Example #1
0
        private static unsafe void MenuClosedImpl(cef_menu_model_delegate_t *self, cef_menu_model_t *menu_model)
        {
            var instance = GetInstance((IntPtr)self) as CefMenuModelDelegate;

            if (instance == null || ((ICefMenuModelDelegatePrivate)instance).AvoidMenuClosed())
            {
                ReleaseIfNonNull((cef_base_ref_counted_t *)menu_model);
                return;
            }
            instance.MenuClosed(CefMenuModel.Wrap(CefMenuModel.Create, menu_model));
        }
Example #2
0
        private static unsafe void ExecuteCommandImpl(cef_menu_model_delegate_t *self, cef_menu_model_t *menu_model, int command_id, CefEventFlags event_flags)
        {
            var instance = GetInstance((IntPtr)self) as CefMenuModelDelegate;

            if (instance == null || ((ICefMenuModelDelegatePrivate)instance).AvoidExecuteCommand())
            {
                ReleaseIfNonNull((cef_base_ref_counted_t *)menu_model);
                return;
            }
            instance.ExecuteCommand(CefMenuModel.Wrap(CefMenuModel.Create, menu_model), command_id, event_flags);
        }
Example #3
0
        private static unsafe void MouseOutsideMenuImpl(cef_menu_model_delegate_t *self, cef_menu_model_t *menu_model, cef_point_t *screen_point)
        {
            var instance = GetInstance((IntPtr)self) as CefMenuModelDelegate;

            if (instance == null || ((ICefMenuModelDelegatePrivate)instance).AvoidMouseOutsideMenu())
            {
                ReleaseIfNonNull((cef_base_ref_counted_t *)menu_model);
                return;
            }
            instance.MouseOutsideMenu(CefMenuModel.Wrap(CefMenuModel.Create, menu_model), *(CefPoint *)screen_point);
        }
Example #4
0
        private static unsafe void UnhandledCloseSubmenuImpl(cef_menu_model_delegate_t *self, cef_menu_model_t *menu_model, int is_rtl)
        {
            var instance = GetInstance((IntPtr)self) as CefMenuModelDelegate;

            if (instance == null || ((ICefMenuModelDelegatePrivate)instance).AvoidUnhandledCloseSubmenu())
            {
                ReleaseIfNonNull((cef_base_ref_counted_t *)menu_model);
                return;
            }
            instance.UnhandledCloseSubmenu(CefMenuModel.Wrap(CefMenuModel.Create, menu_model), is_rtl != 0);
        }
Example #5
0
        /// <summary>
        /// Insert a sub-menu in the menu at the specified |index|. The new sub-menu is
        /// returned.
        /// </summary>
        public unsafe virtual CefMenuModel InsertSubMenuAt(int index, int commandId, string label)
        {
            fixed(char *s2 = label)
            {
                var cstr2 = new cef_string_t {
                    Str = s2, Length = label != null ? label.Length : 0
                };

                return(SafeCall(CefMenuModel.Wrap(CefMenuModel.Create, NativeInstance->InsertSubMenuAt(index, commandId, &cstr2))));
            }
        }
Example #6
0
        /// <summary>
        /// Add a sub-menu to the menu. The new sub-menu is returned.
        /// </summary>
        public unsafe virtual CefMenuModel AddSubMenu(int commandId, string label)
        {
            fixed(char *s1 = label)
            {
                var cstr1 = new cef_string_t {
                    Str = s1, Length = label != null ? label.Length : 0
                };

                return(SafeCall(CefMenuModel.Wrap(CefMenuModel.Create, NativeInstance->AddSubMenu(commandId, &cstr1))));
            }
        }
Example #7
0
 /// <summary>
 /// Returns the submenu at the specified |index| or NULL if invalid.
 /// </summary>
 public unsafe virtual CefMenuModel GetSubMenuAt(int index)
 {
     return(SafeCall(CefMenuModel.Wrap(CefMenuModel.Create, NativeInstance->GetSubMenuAt(index))));
 }
Example #8
0
 /// <summary>
 /// Returns the submenu for the specified |command_id| or NULL if invalid.
 /// </summary>
 public unsafe virtual CefMenuModel GetSubMenu(int commandId)
 {
     return(SafeCall(CefMenuModel.Wrap(CefMenuModel.Create, NativeInstance->GetSubMenu(commandId))));
 }
Example #9
0
        // void (*)(_cef_context_menu_handler_t* self, _cef_browser_t* browser, _cef_frame_t* frame, _cef_context_menu_params_t* params, _cef_menu_model_t* model)*
        private static unsafe void OnBeforeContextMenuImpl(cef_context_menu_handler_t *self, cef_browser_t *browser, cef_frame_t *frame, cef_context_menu_params_t * @params, cef_menu_model_t *model)
        {
            var instance = GetInstance((IntPtr)self) as CefContextMenuHandler;

            if (instance == null || ((ICefContextMenuHandlerPrivate)instance).AvoidOnBeforeContextMenu())
            {
                ReleaseIfNonNull((cef_base_ref_counted_t *)browser);
                ReleaseIfNonNull((cef_base_ref_counted_t *)frame);
                ReleaseIfNonNull((cef_base_ref_counted_t *)@params);
                ReleaseIfNonNull((cef_base_ref_counted_t *)model);
                return;
            }
            instance.OnBeforeContextMenu(CefBrowser.Wrap(CefBrowser.Create, browser), CefFrame.Wrap(CefFrame.Create, frame), CefContextMenuParams.Wrap(CefContextMenuParams.Create, @params), CefMenuModel.Wrap(CefMenuModel.Create, model));
        }