コード例 #1
0
ファイル: CefKeyboardHandler.cs プロジェクト: whztt07/SDK
        private int on_key_event(cef_keyboard_handler_t* self, cef_browser_t* browser, cef_key_event_t* @event, IntPtr os_event)
        {
            CheckSelf(self);

            var m_browser = CefBrowser.FromNative(browser);
            var m_event = CefKeyEvent.FromNative(@event);
            // TODO: wrap cef_event_handle_t (os_event)
            IntPtr m_os_event = IntPtr.Zero;
            if (os_event != IntPtr.Zero)
            {
            }

            var result = OnKeyEvent(m_browser, m_event, m_os_event);

            return result ? 1 : 0;
        }
コード例 #2
0
 public static void send_key_event(cef_browser_host_t* self, cef_key_event_t* @event)
 {
     send_key_event_delegate d;
     var p = self->_send_key_event;
     if (p == _p1c) { d = _d1c; }
     else
     {
         d = (send_key_event_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(send_key_event_delegate));
         if (_p1c == IntPtr.Zero) { _d1c = d; _p1c = p; }
     }
     d(self, @event);
 }
コード例 #3
0
ファイル: CefBrowserHost.cs プロジェクト: kc5nra/cefglue
        /// <summary>
        /// Send a key event to the browser.
        /// </summary>
        public void SendKeyEvent(CefKeyEvent keyEvent)
        {
            if (keyEvent == null) throw new ArgumentNullException("keyEvent");

            var n_event = new cef_key_event_t();
            keyEvent.ToNative(&n_event);
            cef_browser_host_t.send_key_event(_self, &n_event);
        }
コード例 #4
0
ファイル: CefKeyEvent.cs プロジェクト: rajsite/lvcef
        internal unsafe void ToNative(cef_key_event_t* ptr)
        {
            if (ptr == null) throw new ArgumentNullException("ptr");

            ptr->type = EventType;
            ptr->modifiers = Modifiers;
            ptr->windows_key_code = WindowsKeyCode;
            ptr->native_key_code = NativeKeyCode;
            ptr->is_system_key = IsSystemKey ? 1 : 0;
            ptr->character = Character;
            ptr->unmodified_character = UnmodifiedCharacter;
            ptr->focus_on_editable_field = FocusOnEditableField ? 1 : 0;
        }
コード例 #5
0
ファイル: CefKeyEvent.cs プロジェクト: rajsite/lvcef
        internal static unsafe CefKeyEvent FromNative(cef_key_event_t* ptr)
        {
            if (ptr == null) throw new ArgumentNullException("ptr");

            return new CefKeyEvent
            {
                EventType = ptr->type,
                Modifiers = ptr->modifiers,
                WindowsKeyCode = ptr->windows_key_code,
                NativeKeyCode = ptr->native_key_code,
                IsSystemKey = ptr->is_system_key != 0,
                Character = (char)ptr->character,
                UnmodifiedCharacter = (char)ptr->unmodified_character,
                FocusOnEditableField = ptr->focus_on_editable_field != 0,
            };
        }