| Flutter Linux Embedder |

fl_keyboard_view_delegate.cc
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "flutter/shell/platform/linux/fl_keyboard_view_delegate.h"
6
7 G_DEFINE_INTERFACE(FlKeyboardViewDelegate,
8 fl_keyboard_view_delegate,
9 G_TYPE_OBJECT)
10
11 static void fl_keyboard_view_delegate_default_init(
12 FlKeyboardViewDelegateInterface* iface) {}
13
14 void fl_keyboard_view_delegate_send_key_event(FlKeyboardViewDelegate* self,
15 const FlutterKeyEvent* event,
16 FlutterKeyEventCallback callback,
17 void* user_data) {
18 g_return_if_fail(FL_IS_KEYBOARD_VIEW_DELEGATE(self));
19 g_return_if_fail(event != nullptr);
20
21 FL_KEYBOARD_VIEW_DELEGATE_GET_IFACE(self)->send_key_event(
22 self, event, callback, user_data);
23 }
24
25 gboolean fl_keyboard_view_delegate_text_filter_key_press(
26 FlKeyboardViewDelegate* self,
27 FlKeyEvent* event) {
28 g_return_val_if_fail(FL_IS_KEYBOARD_VIEW_DELEGATE(self), false);
29 g_return_val_if_fail(event != nullptr, false);
30
31 return FL_KEYBOARD_VIEW_DELEGATE_GET_IFACE(self)->text_filter_key_press(
32 self, event);
33 }
34
35 FlBinaryMessenger* fl_keyboard_view_delegate_get_messenger(
36 FlKeyboardViewDelegate* self) {
37 g_return_val_if_fail(FL_IS_KEYBOARD_VIEW_DELEGATE(self), nullptr);
38
39 return FL_KEYBOARD_VIEW_DELEGATE_GET_IFACE(self)->get_messenger(self);
40 }
41
42 void fl_keyboard_view_delegate_redispatch_event(
43 FlKeyboardViewDelegate* self,
44 std::unique_ptr<FlKeyEvent> event) {
45 g_return_if_fail(FL_IS_KEYBOARD_VIEW_DELEGATE(self));
46 g_return_if_fail(event != nullptr);
47
48 return FL_KEYBOARD_VIEW_DELEGATE_GET_IFACE(self)->redispatch_event(
49 self, std::move(event));
50 }
51
52 void fl_keyboard_view_delegate_subscribe_to_layout_change(
53 FlKeyboardViewDelegate* self,
54 KeyboardLayoutNotifier notifier) {
55 g_return_if_fail(FL_IS_KEYBOARD_VIEW_DELEGATE(self));
56
57 return FL_KEYBOARD_VIEW_DELEGATE_GET_IFACE(self)->subscribe_to_layout_change(
58 self, std::move(notifier));
59 }
60
61 guint fl_keyboard_view_delegate_lookup_key(FlKeyboardViewDelegate* self,
62 const GdkKeymapKey* key) {
63 g_return_val_if_fail(FL_IS_KEYBOARD_VIEW_DELEGATE(self), 0);
64
65 return FL_KEYBOARD_VIEW_DELEGATE_GET_IFACE(self)->lookup_key(self, key);
66 }
67
68 GHashTable* fl_keyboard_view_delegate_get_keyboard_state(
69 FlKeyboardViewDelegate* self) {
70 g_return_val_if_fail(FL_IS_KEYBOARD_VIEW_DELEGATE(self), nullptr);
71
72 return FL_KEYBOARD_VIEW_DELEGATE_GET_IFACE(self)->get_keyboard_state(self);
73 }
event
FlKeyEvent * event
Definition: fl_key_channel_responder.cc:118
fl_keyboard_view_delegate_subscribe_to_layout_change
void fl_keyboard_view_delegate_subscribe_to_layout_change(FlKeyboardViewDelegate *self, KeyboardLayoutNotifier notifier)
Definition: fl_keyboard_view_delegate.cc:52
user_data
FlKeyEvent uint64_t FlKeyResponderAsyncCallback gpointer user_data
Definition: fl_key_channel_responder.cc:121
_FlKeyEvent
Definition: fl_key_event.h:31
G_DEFINE_INTERFACE
G_DEFINE_INTERFACE(FlKeyboardViewDelegate, fl_keyboard_view_delegate, G_TYPE_OBJECT) static void fl_keyboard_view_delegate_default_init(FlKeyboardViewDelegateInterface *iface)
Definition: fl_keyboard_view_delegate.cc:7
fl_keyboard_view_delegate_lookup_key
guint fl_keyboard_view_delegate_lookup_key(FlKeyboardViewDelegate *self, const GdkKeymapKey *key)
Definition: fl_keyboard_view_delegate.cc:61
fl_keyboard_view_delegate_redispatch_event
void fl_keyboard_view_delegate_redispatch_event(FlKeyboardViewDelegate *self, std::unique_ptr< FlKeyEvent > event)
Definition: fl_keyboard_view_delegate.cc:42
KeyboardLayoutNotifier
std::function< void()> KeyboardLayoutNotifier
Definition: fl_keyboard_view_delegate.h:17
fl_keyboard_view_delegate_text_filter_key_press
gboolean fl_keyboard_view_delegate_text_filter_key_press(FlKeyboardViewDelegate *self, FlKeyEvent *event)
Definition: fl_keyboard_view_delegate.cc:25
fl_keyboard_view_delegate_get_messenger
FlBinaryMessenger * fl_keyboard_view_delegate_get_messenger(FlKeyboardViewDelegate *self)
Definition: fl_keyboard_view_delegate.cc:35
fl_keyboard_view_delegate.h
callback
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
Definition: fl_key_channel_responder.cc:120
fl_keyboard_view_delegate_send_key_event
void fl_keyboard_view_delegate_send_key_event(FlKeyboardViewDelegate *self, const FlutterKeyEvent *event, FlutterKeyEventCallback callback, void *user_data)
Definition: fl_keyboard_view_delegate.cc:14
fl_keyboard_view_delegate_get_keyboard_state
GHashTable * fl_keyboard_view_delegate_get_keyboard_state(FlKeyboardViewDelegate *self)
Definition: fl_keyboard_view_delegate.cc:68