| Flutter Linux Embedder |

Functions
fl_key_event.cc File Reference
`#include "flutter/shell/platform/linux/fl_key_event.h"`

Go to the source code of this file.

## Functions
static void | dispose_origin_from_gdk_event (gpointer origin)
FlKeyEvent * | fl_key_event_new_from_gdk_event (GdkEvent *raw_event)
void | fl_key_event_dispose (FlKeyEvent *event)
FlKeyEvent * | fl_key_event_clone (const FlKeyEvent *event)

## Function Documentation

## ◆ dispose_origin_from_gdk_event()

static void dispose_origin_from_gdk_event | ( | gpointer | origin | ) |
| static

Definition at line 7 of file fl_key_event.cc.

7 {
8 g_return_if_fail(origin != nullptr);
9 gdk_event_free(reinterpret_cast<GdkEvent*>(origin));
10 }

Referenced by fl_key_event_new_from_gdk_event().

## ◆ fl_key_event_clone()

FlKeyEvent* fl_key_event_clone | ( | const FlKeyEvent * | event | ) |

Definition at line 43 of file fl_key_event.cc.

43 {
44 FlKeyEvent* new_event = g_new(FlKeyEvent, 1);
45 *new_event = *event;
46 new_event->string = g_strdup(event->string);
47 return new_event;
48 }

References event, and _FlKeyEvent::string.

## ◆ fl_key_event_dispose()

void fl_key_event_dispose | ( | FlKeyEvent * | event | ) |

fl_key_event_dispose: @event: the event to dispose.

Properly disposes the content of event and then the pointer.

Definition at line 33 of file fl_key_event.cc.

33 {
34 if (event->string != nullptr) {
35 g_free(const_cast<char*>(event->string));
36 }
37 if (event->dispose_origin != nullptr) {
38 event->dispose_origin(event->origin);
39 }
40 g_free(event);
41 }

References _FlKeyEvent::dispose_origin, event, _FlKeyEvent::origin, and _FlKeyEvent::string.

Referenced by fl_keyboard_pending_event_dispose(), fl_view_keyboard_delegate_iface_init(), and send_key_event().

## ◆ fl_key_event_new_from_gdk_event()

FlKeyEvent* fl_key_event_new_from_gdk_event | ( | GdkEvent * | event | ) |

fl_key_event_new_from_gdk_event: @event: the #GdkEvent this FlKeyEvent is based on. The event must be a #GdkEventKey, and will be destroyed by fl_key_event_dispose.

Create a new FlKeyEvent based on a #GdkEvent.

Returns: a new FlKeyEvent. Must be freed with fl_key_event_dispose.

Definition at line 12 of file fl_key_event.cc.

12 {
13 g_return_val_if_fail(raw_event != nullptr, nullptr);
14 GdkEventKey* event = reinterpret_cast<GdkEventKey*>(raw_event);
15 GdkEventType type = event->type;
16 g_return_val_if_fail(type == GDK_KEY_PRESS || type == GDK_KEY_RELEASE,
17 nullptr);
18 FlKeyEvent* result = g_new(FlKeyEvent, 1);
19
20 result->time = event->time;
21 result->is_press = type == GDK_KEY_PRESS;
22 result->keycode = event->hardware_keycode;
23 result->keyval = event->keyval;
24 result->state = event->state;
25 result->string = g_strdup(event->string);
26 result->group = event->group;
27 result->origin = event;
28 result->dispose_origin = dispose_origin_from_gdk_event;
29
30 return result;
31 }

References dispose_origin_from_gdk_event(), event, result, and _FlKeyEvent::string.

Referenced by fl_view_key_press_event(), fl_view_key_release_event(), and send_key_event().

event
FlKeyEvent * event
Definition: fl_key_channel_responder.cc:118
_FlKeyEvent::origin
gpointer origin
Definition: fl_key_event.h:52
_FlKeyEvent
Definition: fl_key_event.h:31
_FlValue::type
FlValueType type
Definition: fl_value.cc:12
_FlKeyEvent::dispose_origin
FlKeyEventDisposeOrigin dispose_origin
Definition: fl_key_event.h:56
result
GAsyncResult * result
Definition: fl_text_input_plugin.cc:106
dispose_origin_from_gdk_event
static void dispose_origin_from_gdk_event(gpointer origin)
Definition: fl_key_event.cc:7
_FlKeyEvent::string
const char * string
Definition: fl_key_event.h:47