Flutter Linux Embedder
fl_key_event.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_key_event.h
"
6
7
FlKeyEvent
*
fl_key_event_new_from_gdk_event
(GdkEvent*
event
) {
8
g_return_val_if_fail(
event
!=
nullptr
,
nullptr
);
9
GdkEventType
type
= gdk_event_get_event_type(
event
);
10
g_return_val_if_fail(
type
== GDK_KEY_PRESS ||
type
== GDK_KEY_RELEASE,
11
nullptr
);
12
FlKeyEvent
*
result
= g_new(
FlKeyEvent
, 1);
13
14
guint16 keycode = 0;
15
gdk_event_get_keycode(
event
, &keycode);
16
guint keyval = 0;
17
gdk_event_get_keyval(
event
, &keyval);
18
GdkModifierType
state
=
static_cast<
GdkModifierType
>
(0);
19
gdk_event_get_state(
event
, &
state
);
20
21
result
->time = gdk_event_get_time(
event
);
22
result
->is_press =
type
== GDK_KEY_PRESS;
23
result
->keycode = keycode;
24
result
->keyval = keyval;
25
result
->state =
state
;
26
result
->group =
event
->key.group;
27
result
->origin =
event
;
28
29
return
result
;
30
}
31
32
void
fl_key_event_dispose
(
FlKeyEvent
*
event
) {
33
if
(
event
->
origin
!=
nullptr
) {
34
gdk_event_free(
event
->
origin
);
35
}
36
g_free(
event
);
37
}
38
39
FlKeyEvent
*
fl_key_event_clone
(
const
FlKeyEvent
*
event
) {
40
FlKeyEvent
* new_event = g_new(
FlKeyEvent
, 1);
41
*new_event = *
event
;
42
return
new_event;
43
}
event
FlKeyEvent * event
Definition:
fl_key_channel_responder.cc:118
fl_key_event_new_from_gdk_event
FlKeyEvent * fl_key_event_new_from_gdk_event(GdkEvent *event)
Definition:
fl_key_event.cc:7
type
uint8_t type
Definition:
fl_standard_message_codec_test.cc:1115
_FlKeyEvent::origin
GdkEvent * origin
Definition:
fl_key_event.h:36
_FlKeyEvent
Definition:
fl_key_event.h:22
state
AtkStateType state
Definition:
fl_accessible_node.cc:10
fl_key_event_clone
FlKeyEvent * fl_key_event_clone(const FlKeyEvent *event)
Definition:
fl_key_event.cc:39
fl_key_event_dispose
void fl_key_event_dispose(FlKeyEvent *event)
Definition:
fl_key_event.cc:32
result
GAsyncResult * result
Definition:
fl_text_input_plugin.cc:106
fl_key_event.h
shell
platform
linux
fl_key_event.cc
Generated by
1.8.17