| Flutter Linux Embedder |

Classes | Functions | Variables
fl_text_input_channel.cc File Reference
`#include "flutter/shell/platform/linux/fl_text_input_channel.h"`
`#include "flutter/shell/platform/linux/public/flutter_linux/fl_json_method_codec.h"`
`#include "flutter/shell/platform/linux/public/flutter_linux/fl_method_channel.h"`

Go to the source code of this file.

## Classes
struct | _FlTextInputChannel

## Functions
static FlMethodResponse * | update_config (FlTextInputChannel *self, FlValue *config_value)
static const gchar * | text_affinity_to_string (FlTextAffinity affinity)
static void | fl_text_input_parse_input_type_name (const gchar *input_type_name, FlTextInputType *input_type, GtkInputPurpose *im_purpose, GtkInputHints *im_hints)
static FlMethodResponse * | set_client (FlTextInputChannel *self, FlValue *args)
static FlMethodResponse * | hide (FlTextInputChannel *self)
static FlMethodResponse * | show (FlTextInputChannel *self)
static FlMethodResponse * | set_editing_state (FlTextInputChannel *self, FlValue *args)
static FlMethodResponse * | clear_client (FlTextInputChannel *self)
static FlMethodResponse * | set_editable_size_and_transform (FlTextInputChannel *self, FlValue *args)
static FlMethodResponse * | set_marked_text_rect (FlTextInputChannel *self, FlValue *args)
static void | method_call_cb (FlMethodChannel *channel, FlMethodCall *method_call, gpointer user_data)
static void | fl_text_input_channel_dispose (GObject *object)
static void | fl_text_input_channel_class_init (FlTextInputChannelClass *klass)
static void | fl_text_input_channel_init (FlTextInputChannel *self)
FlTextInputChannel * | fl_text_input_channel_new (FlBinaryMessenger *messenger, FlTextInputChannelVTable *vtable, gpointer user_data)
void | fl_text_input_channel_update_editing_state (FlTextInputChannel *self, int64_t client_id, const gchar *text, int64_t selection_base, int64_t selection_extent, FlTextAffinity selection_affinity, gboolean selection_is_directional, int64_t composing_base, int64_t composing_extent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
gboolean | fl_text_input_channel_update_editing_state_finish (GObject *object, GAsyncResult *result, GError **error)
void | fl_text_input_channel_update_editing_state_with_deltas (FlTextInputChannel *self, int64_t client_id, const gchar *old_text, const gchar *delta_text, int64_t delta_start, int64_t delta_end, int64_t selection_base, int64_t selection_extent, FlTextAffinity selection_affinity, gboolean selection_is_directional, int64_t composing_base, int64_t composing_extent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
gboolean | fl_text_input_channel_update_editing_state_with_deltas_finish (GObject *object, GAsyncResult *result, GError **error)
void | fl_text_input_channel_perform_action (FlTextInputChannel *self, int64_t client_id, const gchar *input_action, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
gboolean | fl_text_input_channel_perform_action_finish (GObject *object, GAsyncResult *result, GError **error)

## Variables
static constexpr char | kChannelName [] = "flutter/textinput"
static constexpr char | kBadArgumentsError [] = "Bad Arguments"
static constexpr char | kSetClientMethod [] = "TextInput.setClient"
static constexpr char | kUpdateConfigMethod [] = "TextInput.updateConfig"
static constexpr char | kShowMethod [] = "TextInput.show"
static constexpr char | kSetEditingStateMethod [] = "TextInput.setEditingState"
static constexpr char | kClearClientMethod [] = "TextInput.clearClient"
static constexpr char | kHideMethod [] = "TextInput.hide"
static constexpr char | kUpdateEditingStateMethod []
static constexpr char | kUpdateEditingStateWithDeltasMethod []
static constexpr char | kPerformActionMethod [] = "TextInputClient.performAction"
static constexpr char | kSetEditableSizeAndTransform []
static constexpr char | kSetMarkedTextRect [] = "TextInput.setMarkedTextRect"
static constexpr char | kInputActionKey [] = "inputAction"
static constexpr char | kTextInputTypeKey [] = "inputType"
static constexpr char | kEnableDeltaModel [] = "enableDeltaModel"
static constexpr char | kTextInputTypeNameKey [] = "name"
static constexpr char | kTextKey [] = "text"
static constexpr char | kSelectionBaseKey [] = "selectionBase"
static constexpr char | kSelectionExtentKey [] = "selectionExtent"
static constexpr char | kSelectionAffinityKey [] = "selectionAffinity"
static constexpr char | kSelectionIsDirectionalKey [] = "selectionIsDirectional"
static constexpr char | kComposingBaseKey [] = "composingBase"
static constexpr char | kComposingExtentKey [] = "composingExtent"
static constexpr char | kTransform [] = "transform"
static constexpr char | kTextInputType [] = "TextInputType.text"
static constexpr char | kMultilineInputType [] = "TextInputType.multiline"
static constexpr char | kNumberInputType [] = "TextInputType.number"
static constexpr char | kPhoneInputType [] = "TextInputType.phone"
static constexpr char | kDatetimeInputType [] = "TextInputType.datetime"
static constexpr char | kEmailAddressInputType [] = "TextInputType.emailAddress"
static constexpr char | kUrlInputType [] = "TextInputType.url"
static constexpr char | kPasswordInputType [] = "TextInputType.visiblePassword"
static constexpr char | kNameInputType [] = "TextInputType.name"
static constexpr char | kAddressInputType [] = "TextInputType.address"
static constexpr char | kNoneInputType [] = "TextInputType.none"
static constexpr char | kWebSearchInputType [] = "TextInputType.webSearch"
static constexpr char | kTwitterInputType [] = "TextInputType.twitter"
static constexpr char | kTextAffinityUpstream [] = "TextAffinity.upstream"
static constexpr char | kTextAffinityDownstream [] = "TextAffinity.downstream"

## Function Documentation

## ◆ clear_client()

static FlMethodResponse* clear_client | ( | FlTextInputChannel * | self | ) |
| static

Definition at line 215 of file fl_text_input_channel.cc.

215 {
216 self->vtable->clear_client(self->user_data);
217 return FL_METHOD_RESPONSE(fl_method_success_response_new(nullptr));
218 }
fl_method_success_response_new
G_MODULE_EXPORT FlMethodSuccessResponse * fl_method_success_response_new(FlValue *result)
Definition: fl_method_response.cc:126

References fl_method_success_response_new().

Referenced by method_call_cb().

## ◆ fl_text_input_channel_class_init()

static void fl_text_input_channel_class_init | ( | FlTextInputChannelClass * | klass | ) |
| static

Definition at line 307 of file fl_text_input_channel.cc.

307 {
308 G_OBJECT_CLASS(klass)->dispose = fl_text_input_channel_dispose;
309 }
fl_text_input_channel_dispose
static void fl_text_input_channel_dispose(GObject *object)
Definition: fl_text_input_channel.cc:299

References fl_text_input_channel_dispose().

## ◆ fl_text_input_channel_dispose()

static void fl_text_input_channel_dispose | ( | GObject * | object | ) |
| static

Definition at line 299 of file fl_text_input_channel.cc.

299 {
300 FlTextInputChannel* self = FL_TEXT_INPUT_CHANNEL(object);
301
302 g_clear_object(&self->channel);
303
304 G_OBJECT_CLASS(fl_text_input_channel_parent_class)->dispose(object);
305 }

Referenced by fl_text_input_channel_class_init().

## ◆ fl_text_input_channel_init()

static void fl_text_input_channel_init | ( | FlTextInputChannel * | self | ) |
| static

Definition at line 311 of file fl_text_input_channel.cc.

311 {}

## ◆ fl_text_input_channel_new()

FlTextInputChannel* fl_text_input_channel_new | ( | FlBinaryMessenger * | messenger,
|  | FlTextInputChannelVTable * | vtable,
|  | gpointer | user_data
| ) |  |

fl_text_input_channel_new: @messenger: an #FlBinaryMessenger. @vtable: callbacks for incoming method calls. @user_data: data to pass in callbacks.

Creates a new channel that implements SystemChannels.textInput from the Flutter services library.

Returns: a new #FlTextInputChannel.

Definition at line 313 of file fl_text_input_channel.cc.

315 {
316 g_return_val_if_fail(FL_IS_BINARY_MESSENGER(messenger), nullptr);
317 g_return_val_if_fail(vtable != nullptr, nullptr);
318
319 FlTextInputChannel* self = FL_TEXT_INPUT_CHANNEL(
320 g_object_new(fl_text_input_channel_get_type(), nullptr));
321
322 self->vtable = vtable;
323 self->user_data = user_data;
324
325 g_autoptr(FlJsonMethodCodec) codec = fl_json_method_codec_new();
326 self->channel =
327 fl_method_channel_new(messenger, kChannelName, FL_METHOD_CODEC(codec));
328 fl_method_channel_set_method_call_handler(self->channel, method_call_cb, self,
329 nullptr);
330
331 return self;
332 }
g_autoptr
g_autoptr(FlEngine) engine
user_data
const char FlTextDirection FlAssertiveness gpointer user_data
Definition: fl_accessibility_handler.cc:24
fl_json_method_codec_new
G_MODULE_EXPORT FlJsonMethodCodec * fl_json_method_codec_new()
Definition: fl_json_method_codec.cc:205
fl_method_channel_new
G_MODULE_EXPORT FlMethodChannel * fl_method_channel_new(FlBinaryMessenger *messenger, const gchar *name, FlMethodCodec *codec)
Definition: fl_method_channel.cc:112
fl_method_channel_set_method_call_handler
G_MODULE_EXPORT void fl_method_channel_set_method_call_handler(FlMethodChannel *self, FlMethodChannelMethodCallHandler handler, gpointer user_data, GDestroyNotify destroy_notify)
Definition: fl_method_channel.cc:134
method_call_cb
static void method_call_cb(FlMethodChannel *channel, FlMethodCall *method_call, gpointer user_data)
Definition: fl_text_input_channel.cc:264
kChannelName
static constexpr char kChannelName[]
Definition: fl_text_input_channel.cc:10

References fl_json_method_codec_new(), fl_method_channel_new(), fl_method_channel_set_method_call_handler(), g_autoptr(), kChannelName, method_call_cb(), and user_data.

Referenced by fl_text_input_handler_new().

## ◆ fl_text_input_channel_perform_action()

void fl_text_input_channel_perform_action | ( | FlTextInputChannel * | channel,
|  | int64_t | client_id,
|  | const gchar * | input_action,
|  | GCancellable * | cancellable,
|  | GAsyncReadyCallback | callback,
|  | gpointer | user_data
| ) |  |

fl_text_input_channel_perform_action: @channel: an #FlTextInputChannel. @client_id: @input_action: action to perform. @cancellable: (allow-none): a #GCancellable or NULL. @callback: (scope async): a #GAsyncReadyCallback to call when the method returns. @user_data: (closure): user data to pass to @callback.

Definition at line 452 of file fl_text_input_channel.cc.

457 {
458 g_return_if_fail(FL_IS_TEXT_INPUT_CHANNEL(self));
459
460 g_autoptr(FlValue) args = fl_value_new_list();
461 fl_value_append_take(args, fl_value_new_int(client_id));
462 fl_value_append_take(args, fl_value_new_string(input_action));
463
464 fl_method_channel_invoke_method(self->channel, kPerformActionMethod, args,
465 cancellable, callback, user_data);
466 }
args
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
Definition: fl_event_channel.h:89
fl_method_channel_invoke_method
G_MODULE_EXPORT void fl_method_channel_invoke_method(FlMethodChannel *self, const gchar *method, FlValue *args, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_method_channel.cc:162
kPerformActionMethod
static constexpr char kPerformActionMethod[]
Definition: fl_text_input_channel.cc:24
fl_value_new_string
G_MODULE_EXPORT FlValue * fl_value_new_string(const gchar *value)
Definition: fl_value.cc:276
fl_value_new_list
G_MODULE_EXPORT FlValue * fl_value_new_list()
Definition: fl_value.cc:349
fl_value_append_take
G_MODULE_EXPORT void fl_value_append_take(FlValue *self, FlValue *value)
Definition: fl_value.cc:600
fl_value_new_int
G_MODULE_EXPORT FlValue * fl_value_new_int(int64_t value)
Definition: fl_value.cc:262
FlValue
typedefG_BEGIN_DECLS struct _FlValue FlValue
Definition: fl_value.h:42

References args, fl_method_channel_invoke_method(), fl_value_append_take(), fl_value_new_int(), fl_value_new_list(), fl_value_new_string(), g_autoptr(), kPerformActionMethod, and user_data.

Referenced by perform_action().

## ◆ fl_text_input_channel_perform_action_finish()

gboolean fl_text_input_channel_perform_action_finish | ( | GObject * | object,
|  | GAsyncResult * | result,
|  | GError ** | error
| ) |  |

fl_text_input_channel_perform_action_finish: @object:

Returns
  : a #GAsyncResult. @error: (allow-none): #GError location to store the error occurring, or NULL to ignore. If `error` is not NULL, `*error` must be initialized (typically NULL, but an error from a previous call using GLib error handling is explicitly valid).

Completes request started with fl_text_input_channel_perform_action().

Returns: TRUE on success.

Definition at line 468 of file fl_text_input_channel.cc.

470 {
471 g_autoptr(FlMethodResponse) response = fl_method_channel_invoke_method_finish(
472 FL_METHOD_CHANNEL(object), result, error);
473 if (response == nullptr) {
474 return FALSE;
475 }
476 return fl_method_response_get_result(response, error) != nullptr;
477 }
fl_method_channel_invoke_method_finish
G_MODULE_EXPORT FlMethodResponse * fl_method_channel_invoke_method_finish(FlMethodChannel *self, GAsyncResult *result, GError **error)
Definition: fl_method_channel.cc:192
fl_method_response_get_result
G_MODULE_EXPORT FlValue * fl_method_response_get_result(FlMethodResponse *self, GError **error)
Definition: fl_method_response.cc:82
error
const uint8_t uint32_t uint32_t GError ** error
Definition: fl_pixel_buffer_texture_test.cc:40

References error, fl_method_channel_invoke_method_finish(), fl_method_response_get_result(), and g_autoptr().

Referenced by perform_action_response_cb().

## ◆ fl_text_input_channel_update_editing_state()

void fl_text_input_channel_update_editing_state | ( | FlTextInputChannel * | channel,
|  | int64_t | client_id,
|  | const gchar * | text,
|  | int64_t | selection_base,
|  | int64_t | selection_extent,
|  | FlTextAffinity | selection_affinity,
|  | gboolean | selection_is_directional,
|  | int64_t | composing_base,
|  | int64_t | composing_extent,
|  | GCancellable * | cancellable,
|  | GAsyncReadyCallback | callback,
|  | gpointer | user_data
| ) |  |

fl_text_input_channel_update_editing_state: @channel: an #FlTextInputChannel. @client_id: @text: @selection_base: @selection_extent: @selection_affinity: @selection_is_directional: @composing_base: @composing_extent: @cancellable: (allow-none): a #GCancellable or NULL. @callback: (scope async): a #GAsyncReadyCallback to call when the method returns. @user_data: (closure): user data to pass to @callback.

Definition at line 334 of file fl_text_input_channel.cc.

346 {
347 g_return_if_fail(FL_IS_TEXT_INPUT_CHANNEL(self));
348
349 g_autoptr(FlValue) args = fl_value_new_list();
350 fl_value_append_take(args, fl_value_new_int(client_id));
351 g_autoptr(FlValue) value = fl_value_new_map();
352
353 fl_value_set_string_take(value, kTextKey, fl_value_new_string(text));
354 fl_value_set_string_take(value, kSelectionBaseKey,
355 fl_value_new_int(selection_base));
356 fl_value_set_string_take(value, kSelectionExtentKey,
357 fl_value_new_int(selection_extent));
358 fl_value_set_string_take(
359 value, kSelectionAffinityKey,
360 fl_value_new_string(text_affinity_to_string(selection_affinity)));
361 fl_value_set_string_take(value, kSelectionIsDirectionalKey,
362 fl_value_new_bool(selection_is_directional));
363 fl_value_set_string_take(value, kComposingBaseKey,
364 fl_value_new_int(composing_base));
365 fl_value_set_string_take(value, kComposingExtentKey,
366 fl_value_new_int(composing_extent));
367
368 fl_value_append(args, value);
369
370 fl_method_channel_invoke_method(self->channel, kUpdateEditingStateMethod,
371 args, cancellable, callback, user_data);
372 }
value
uint8_t value
Definition: fl_standard_message_codec.cc:36
kSelectionIsDirectionalKey
static constexpr char kSelectionIsDirectionalKey[]
Definition: fl_text_input_channel.cc:37
kSelectionExtentKey
static constexpr char kSelectionExtentKey[]
Definition: fl_text_input_channel.cc:35
text_affinity_to_string
static const gchar * text_affinity_to_string(FlTextAffinity affinity)
Definition: fl_text_input_channel.cc:75
kUpdateEditingStateMethod
static constexpr char kUpdateEditingStateMethod[]
Definition: fl_text_input_channel.cc:20
kComposingExtentKey
static constexpr char kComposingExtentKey[]
Definition: fl_text_input_channel.cc:39
kComposingBaseKey
static constexpr char kComposingBaseKey[]
Definition: fl_text_input_channel.cc:38
kSelectionAffinityKey
static constexpr char kSelectionAffinityKey[]
Definition: fl_text_input_channel.cc:36
kTextKey
static constexpr char kTextKey[]
Definition: fl_text_input_channel.cc:33
kSelectionBaseKey
static constexpr char kSelectionBaseKey[]
Definition: fl_text_input_channel.cc:34
fl_value_set_string_take
G_MODULE_EXPORT void fl_value_set_string_take(FlValue *self, const gchar *key, FlValue *value)
Definition: fl_value.cc:650
fl_value_new_bool
G_MODULE_EXPORT FlValue * fl_value_new_bool(bool value)
Definition: fl_value.cc:255
fl_value_append
G_MODULE_EXPORT void fl_value_append(FlValue *self, FlValue *value)
Definition: fl_value.cc:592
fl_value_new_map
G_MODULE_EXPORT FlValue * fl_value_new_map()
Definition: fl_value.cc:366

References args, fl_method_channel_invoke_method(), fl_value_append(), fl_value_append_take(), fl_value_new_bool(), fl_value_new_int(), fl_value_new_list(), fl_value_new_map(), fl_value_new_string(), fl_value_set_string_take(), g_autoptr(), kComposingBaseKey, kComposingExtentKey, kSelectionAffinityKey, kSelectionBaseKey, kSelectionExtentKey, kSelectionIsDirectionalKey, kTextKey, kUpdateEditingStateMethod, text_affinity_to_string(), user_data, and value.

Referenced by update_editing_state().

## ◆ fl_text_input_channel_update_editing_state_finish()

gboolean fl_text_input_channel_update_editing_state_finish | ( | GObject * | object,
|  | GAsyncResult * | result,
|  | GError ** | error
| ) |  |

fl_text_input_channel_update_editing_state_finish: @object:

Returns
  : a #GAsyncResult. @error: (allow-none): #GError location to store the error occurring, or NULL to ignore. If `error` is not NULL, `*error` must be initialized (typically NULL, but an error from a previous call using GLib error handling is explicitly valid).

Completes request started with fl_text_input_channel_update_editing_state().

Returns: TRUE on success.

Definition at line 374 of file fl_text_input_channel.cc.

376 {
377 g_autoptr(FlMethodResponse) response = fl_method_channel_invoke_method_finish(
378 FL_METHOD_CHANNEL(object), result, error);
379 if (response == nullptr) {
380 return FALSE;
381 }
382 return fl_method_response_get_result(response, error) != nullptr;
383 }

References error, fl_method_channel_invoke_method_finish(), fl_method_response_get_result(), and g_autoptr().

Referenced by update_editing_state_response_cb().

## ◆ fl_text_input_channel_update_editing_state_with_deltas()

void fl_text_input_channel_update_editing_state_with_deltas | ( | FlTextInputChannel * | channel,
|  | int64_t | client_id,
|  | const gchar * | old_text,
|  | const gchar * | delta_text,
|  | int64_t | delta_start,
|  | int64_t | delta_end,
|  | int64_t | selection_base,
|  | int64_t | selection_extent,
|  | FlTextAffinity | selection_affinity,
|  | gboolean | selection_is_directional,
|  | int64_t | composing_base,
|  | int64_t | composing_extent,
|  | GCancellable * | cancellable,
|  | GAsyncReadyCallback | callback,
|  | gpointer | user_data
| ) |  |

fl_text_input_channel_update_editing_state_with_deltas: @channel: an #FlTextInputChannel. @client_id: @old_text: @delta_text: @delta_start: @delta_end: @selection_base: @selection_extent: @selection_affinity: @selection_is_directional: @composing_base: @composing_extent: @cancellable: (allow-none): a #GCancellable or NULL. @callback: (scope async): a #GAsyncReadyCallback to call when the method returns. @user_data: (closure): user data to pass to @callback.

Definition at line 385 of file fl_text_input_channel.cc.

400 {
401 g_return_if_fail(FL_IS_TEXT_INPUT_CHANNEL(self));
402
403 g_autoptr(FlValue) args = fl_value_new_list();
404 fl_value_append_take(args, fl_value_new_int(client_id));
405
406 g_autoptr(FlValue) deltaValue = fl_value_new_map();
407 fl_value_set_string_take(deltaValue, "oldText",
408 fl_value_new_string(old_text));
409 fl_value_set_string_take(deltaValue, "deltaText",
410 fl_value_new_string(delta_text));
411 fl_value_set_string_take(deltaValue, "deltaStart",
412 fl_value_new_int(delta_start));
413 fl_value_set_string_take(deltaValue, "deltaEnd", fl_value_new_int(delta_end));
414 fl_value_set_string_take(deltaValue, "selectionBase",
415 fl_value_new_int(selection_base));
416 fl_value_set_string_take(deltaValue, "selectionExtent",
417 fl_value_new_int(selection_extent));
418 fl_value_set_string_take(
419 deltaValue, "selectionAffinity",
420 fl_value_new_string(text_affinity_to_string(selection_affinity)));
421 fl_value_set_string_take(deltaValue, "selectionIsDirectional",
422 fl_value_new_bool(selection_is_directional));
423 fl_value_set_string_take(deltaValue, "composingBase",
424 fl_value_new_int(composing_base));
425 fl_value_set_string_take(deltaValue, "composingExtent",
426 fl_value_new_int(composing_extent));
427
428 g_autoptr(FlValue) deltas = fl_value_new_list();
429 fl_value_append(deltas, deltaValue);
430 g_autoptr(FlValue) value = fl_value_new_map();
431 fl_value_set_string(value, "deltas", deltas);
432
433 fl_value_append(args, value);
434
435 fl_method_channel_invoke_method(self->channel,
436 kUpdateEditingStateWithDeltasMethod, args,
437 cancellable, callback, user_data);
438 }
kUpdateEditingStateWithDeltasMethod
static constexpr char kUpdateEditingStateWithDeltasMethod[]
Definition: fl_text_input_channel.cc:22
fl_value_set_string
G_MODULE_EXPORT void fl_value_set_string(FlValue *self, const gchar *key, FlValue *value)
Definition: fl_value.cc:639

References args, fl_method_channel_invoke_method(), fl_value_append(), fl_value_append_take(), fl_value_new_bool(), fl_value_new_int(), fl_value_new_list(), fl_value_new_map(), fl_value_new_string(), fl_value_set_string(), fl_value_set_string_take(), g_autoptr(), kUpdateEditingStateWithDeltasMethod, text_affinity_to_string(), user_data, and value.

Referenced by update_editing_state_with_delta().

## ◆ fl_text_input_channel_update_editing_state_with_deltas_finish()

gboolean fl_text_input_channel_update_editing_state_with_deltas_finish | ( | GObject * | object,
|  | GAsyncResult * | result,
|  | GError ** | error
| ) |  |

fl_text_input_channel_update_editing_state_with_deltas_finish: @object:

Returns
  : a #GAsyncResult. @error: (allow-none): #GError location to store the error occurring, or NULL to ignore. If `error` is not NULL, `*error` must be initialized (typically NULL, but an error from a previous call using GLib error handling is explicitly valid).

Completes request started with fl_text_input_channel_update_editing_state_with_deltas().

Returns: TRUE on success.

Definition at line 440 of file fl_text_input_channel.cc.

443 {
444 g_autoptr(FlMethodResponse) response = fl_method_channel_invoke_method_finish(
445 FL_METHOD_CHANNEL(object), result, error);
446 if (response == nullptr) {
447 return FALSE;
448 }
449 return fl_method_response_get_result(response, error) != nullptr;
450 }

References error, fl_method_channel_invoke_method_finish(), fl_method_response_get_result(), and g_autoptr().

Referenced by update_editing_state_with_deltas_response_cb().

## ◆ fl_text_input_parse_input_type_name()

static void fl_text_input_parse_input_type_name | ( | const gchar * | input_type_name,
|  | FlTextInputType * | input_type,
|  | GtkInputPurpose * | im_purpose,
|  | GtkInputHints * | im_hints
| ) |  |
| static

Definition at line 86 of file fl_text_input_channel.cc.

89 {
90 if (input_type_name == nullptr) {
91 input_type_name = kTextInputType;
92 }
93
94 if (g_strcmp0(input_type_name, kTextInputType) == 0) {
95 // default
96 } else if (g_strcmp0(input_type_name, kMultilineInputType) == 0) {
97 *im_hints = static_cast<GtkInputHints>(GTK_INPUT_HINT_SPELLCHECK |
98 GTK_INPUT_HINT_UPPERCASE_SENTENCES);
99 *input_type = FL_TEXT_INPUT_TYPE_MULTILINE;
100 } else if (g_strcmp0(input_type_name, kNumberInputType) == 0) {
101 *im_purpose = GTK_INPUT_PURPOSE_NUMBER;
102 } else if (g_strcmp0(input_type_name, kPhoneInputType) == 0) {
103 *im_purpose = GTK_INPUT_PURPOSE_PHONE;
104 } else if (g_strcmp0(input_type_name, kDatetimeInputType) == 0) {
105 // Not in GTK 3
106 } else if (g_strcmp0(input_type_name, kEmailAddressInputType) == 0) {
107 *im_purpose = GTK_INPUT_PURPOSE_EMAIL;
108 } else if (g_strcmp0(input_type_name, kUrlInputType) == 0) {
109 *im_purpose = GTK_INPUT_PURPOSE_URL;
110 } else if (g_strcmp0(input_type_name, kPasswordInputType) == 0) {
111 *im_purpose = GTK_INPUT_PURPOSE_PASSWORD;
112 } else if (g_strcmp0(input_type_name, kNameInputType) == 0) {
113 *im_purpose = GTK_INPUT_PURPOSE_NAME;
114 *im_hints = GTK_INPUT_HINT_UPPERCASE_WORDS;
115 } else if (g_strcmp0(input_type_name, kAddressInputType) == 0) {
116 *im_hints = GTK_INPUT_HINT_UPPERCASE_WORDS;
117 } else if (g_strcmp0(input_type_name, kNoneInputType) == 0) {
118 // keep defaults
119 *input_type = FL_TEXT_INPUT_TYPE_NONE;
120 } else if (g_strcmp0(input_type_name, kWebSearchInputType) == 0) {
121 *im_hints = GTK_INPUT_HINT_LOWERCASE;
122 } else if (g_strcmp0(input_type_name, kTwitterInputType) == 0) {
123 *im_hints = static_cast<GtkInputHints>(GTK_INPUT_HINT_SPELLCHECK |
124 GTK_INPUT_HINT_UPPERCASE_SENTENCES);
125 } else {
126 g_warning("Unhandled input type name: %s", input_type_name);
127 }
128 }
kNoneInputType
static constexpr char kNoneInputType[]
Definition: fl_text_input_channel.cc:53
kAddressInputType
static constexpr char kAddressInputType[]
Definition: fl_text_input_channel.cc:52
kTwitterInputType
static constexpr char kTwitterInputType[]
Definition: fl_text_input_channel.cc:55
kMultilineInputType
static constexpr char kMultilineInputType[]
Definition: fl_text_input_channel.cc:44
kPhoneInputType
static constexpr char kPhoneInputType[]
Definition: fl_text_input_channel.cc:46
kEmailAddressInputType
static constexpr char kEmailAddressInputType[]
Definition: fl_text_input_channel.cc:48
kUrlInputType
static constexpr char kUrlInputType[]
Definition: fl_text_input_channel.cc:49
kTextInputType
static constexpr char kTextInputType[]
Definition: fl_text_input_channel.cc:43
kPasswordInputType
static constexpr char kPasswordInputType[]
Definition: fl_text_input_channel.cc:50
kWebSearchInputType
static constexpr char kWebSearchInputType[]
Definition: fl_text_input_channel.cc:54
kDatetimeInputType
static constexpr char kDatetimeInputType[]
Definition: fl_text_input_channel.cc:47
kNameInputType
static constexpr char kNameInputType[]
Definition: fl_text_input_channel.cc:51
kNumberInputType
static constexpr char kNumberInputType[]
Definition: fl_text_input_channel.cc:45
FL_TEXT_INPUT_TYPE_MULTILINE
@ FL_TEXT_INPUT_TYPE_MULTILINE
Definition: fl_text_input_channel.h:17
FL_TEXT_INPUT_TYPE_NONE
@ FL_TEXT_INPUT_TYPE_NONE
Definition: fl_text_input_channel.h:19

References FL_TEXT_INPUT_TYPE_MULTILINE, FL_TEXT_INPUT_TYPE_NONE, kAddressInputType, kDatetimeInputType, kEmailAddressInputType, kMultilineInputType, kNameInputType, kNoneInputType, kNumberInputType, kPasswordInputType, kPhoneInputType, kTextInputType, kTwitterInputType, kUrlInputType, and kWebSearchInputType.

Referenced by update_config().

## ◆ hide()

static FlMethodResponse* hide | ( | FlTextInputChannel * | self | ) |
| static

Definition at line 182 of file fl_text_input_channel.cc.

182 {
183 self->vtable->hide(self->user_data);
184 return FL_METHOD_RESPONSE(fl_method_success_response_new(nullptr));
185 }

References fl_method_success_response_new().

Referenced by method_call_cb().

## ◆ method_call_cb()

static void method_call_cb | ( | FlMethodChannel * | channel,
|  | FlMethodCall * | method_call,
|  | gpointer | user_data
| ) |  |
| static

Definition at line 264 of file fl_text_input_channel.cc.

266 {
267 FlTextInputChannel* self = FL_TEXT_INPUT_CHANNEL(user_data);
268
269 const gchar* method = fl_method_call_get_name(method_call);
270 FlValue* args = fl_method_call_get_args(method_call);
271
272 g_autoptr(FlMethodResponse) response = nullptr;
273 if (strcmp(method, kSetClientMethod) == 0) {
274 response = set_client(self, args);
275 } else if (strcmp(method, kShowMethod) == 0) {
276 response = show(self);
277 } else if (strcmp(method, kSetEditingStateMethod) == 0) {
278 response = set_editing_state(self, args);
279 } else if (strcmp(method, kClearClientMethod) == 0) {
280 response = clear_client(self);
281 } else if (strcmp(method, kHideMethod) == 0) {
282 response = hide(self);
283 } else if (strcmp(method, kSetEditableSizeAndTransform) == 0) {
284 response = set_editable_size_and_transform(self, args);
285 } else if (strcmp(method, kSetMarkedTextRect) == 0) {
286 response = set_marked_text_rect(self, args);
287 } else if (strcmp(method, kUpdateConfigMethod) == 0) {
288 response = update_config(self, args);
289 } else {
290 response = FL_METHOD_RESPONSE(fl_method_not_implemented_response_new());
291 }
292
293 g_autoptr(GError) error = nullptr;
294 if (!fl_method_call_respond(method_call, response, &error)) {
295 g_warning("Failed to send method call response: %s", error->message);
296 }
297 }
fl_method_call_respond
G_MODULE_EXPORT gboolean fl_method_call_respond(FlMethodCall *self, FlMethodResponse *response, GError **error)
Definition: fl_method_call.cc:77
fl_method_call_get_name
G_MODULE_EXPORT const gchar * fl_method_call_get_name(FlMethodCall *self)
Definition: fl_method_call.cc:67
fl_method_call_get_args
G_MODULE_EXPORT FlValue * fl_method_call_get_args(FlMethodCall *self)
Definition: fl_method_call.cc:72
method_call
G_BEGIN_DECLS G_MODULE_EXPORT FlMethodCall * method_call
Definition: fl_method_channel.h:120
fl_method_not_implemented_response_new
G_MODULE_EXPORT FlMethodNotImplementedResponse * fl_method_not_implemented_response_new()
Definition: fl_method_response.cc:179
kClearClientMethod
static constexpr char kClearClientMethod[]
Definition: fl_text_input_channel.cc:18
kSetEditableSizeAndTransform
static constexpr char kSetEditableSizeAndTransform[]
Definition: fl_text_input_channel.cc:25
set_editing_state
static FlMethodResponse * set_editing_state(FlTextInputChannel *self, FlValue *args)
Definition: fl_text_input_channel.cc:194
kSetMarkedTextRect
static constexpr char kSetMarkedTextRect[]
Definition: fl_text_input_channel.cc:27
kHideMethod
static constexpr char kHideMethod[]
Definition: fl_text_input_channel.cc:19
set_editable_size_and_transform
static FlMethodResponse * set_editable_size_and_transform(FlTextInputChannel *self, FlValue *args)
Definition: fl_text_input_channel.cc:226
kSetEditingStateMethod
static constexpr char kSetEditingStateMethod[]
Definition: fl_text_input_channel.cc:17
hide
static FlMethodResponse * hide(FlTextInputChannel *self)
Definition: fl_text_input_channel.cc:182
kSetClientMethod
static constexpr char kSetClientMethod[]
Definition: fl_text_input_channel.cc:14
kShowMethod
static constexpr char kShowMethod[]
Definition: fl_text_input_channel.cc:16
set_client
static FlMethodResponse * set_client(FlTextInputChannel *self, FlValue *args)
Definition: fl_text_input_channel.cc:131
show
static FlMethodResponse * show(FlTextInputChannel *self)
Definition: fl_text_input_channel.cc:188
kUpdateConfigMethod
static constexpr char kUpdateConfigMethod[]
Definition: fl_text_input_channel.cc:15
update_config
static FlMethodResponse * update_config(FlTextInputChannel *self, FlValue *config_value)
Definition: fl_text_input_channel.cc:146
set_marked_text_rect
static FlMethodResponse * set_marked_text_rect(FlTextInputChannel *self, FlValue *args)
Definition: fl_text_input_channel.cc:251
clear_client
static FlMethodResponse * clear_client(FlTextInputChannel *self)
Definition: fl_text_input_channel.cc:215

References args, clear_client(), error, fl_method_call_get_args(), fl_method_call_get_name(), fl_method_call_respond(), fl_method_not_implemented_response_new(), g_autoptr(), hide(), kClearClientMethod, kHideMethod, kSetClientMethod, kSetEditableSizeAndTransform, kSetEditingStateMethod, kSetMarkedTextRect, kShowMethod, kUpdateConfigMethod, method_call, set_client(), set_editable_size_and_transform(), set_editing_state(), set_marked_text_rect(), show(), update_config(), and user_data.

Referenced by fl_text_input_channel_new().

## ◆ set_client()

static FlMethodResponse* set_client | ( | FlTextInputChannel * | self,
|  | FlValue * | args
| ) |  |
| static

Definition at line 131 of file fl_text_input_channel.cc.

131 {
132 if (fl_value_get_type(args) != FL_VALUE_TYPE_LIST ||
133 fl_value_get_length(args) < 2) {
134 return FL_METHOD_RESPONSE(fl_method_error_response_new(
135 kBadArgumentsError, "Expected 2-element list", nullptr));
136 }
137
138 int64_t client_id = fl_value_get_int(fl_value_get_list_value(args, 0));
139 FlValue* config_value = fl_value_get_list_value(args, 1);
140
141 self->vtable->set_client(client_id, self->user_data);
142
143 return update_config(self, config_value);
144 }
fl_method_error_response_new
G_MODULE_EXPORT FlMethodErrorResponse * fl_method_error_response_new(const gchar *code, const gchar *message, FlValue *details)
Definition: fl_method_response.cc:144
kBadArgumentsError
static constexpr char kBadArgumentsError[]
Definition: fl_text_input_channel.cc:12
fl_value_get_list_value
G_MODULE_EXPORT FlValue * fl_value_get_list_value(FlValue *self, size_t index)
Definition: fl_value.cc:776
fl_value_get_int
G_MODULE_EXPORT int64_t fl_value_get_int(FlValue *self)
Definition: fl_value.cc:668
fl_value_get_type
G_MODULE_EXPORT FlValueType fl_value_get_type(FlValue *self)
Definition: fl_value.cc:466
fl_value_get_length
G_MODULE_EXPORT size_t fl_value_get_length(FlValue *self)
Definition: fl_value.cc:724
FL_VALUE_TYPE_LIST
@ FL_VALUE_TYPE_LIST
Definition: fl_value.h:73

References args, fl_method_error_response_new(), fl_value_get_int(), fl_value_get_length(), fl_value_get_list_value(), fl_value_get_type(), FL_VALUE_TYPE_LIST, kBadArgumentsError, and update_config().

Referenced by method_call_cb().

## ◆ set_editable_size_and_transform()

static FlMethodResponse* set_editable_size_and_transform | ( | FlTextInputChannel * | self,
|  | FlValue * | args
| ) |  |
| static

Definition at line 226 of file fl_text_input_channel.cc.

228 {
229 FlValue* transform_value = fl_value_lookup_string(args, kTransform);
230 if (fl_value_get_length(transform_value) != 16) {
231 return FL_METHOD_RESPONSE(fl_method_error_response_new(
232 kBadArgumentsError, "Invalid transform", nullptr));
233 }
234
235 double transform[16];
236 for (size_t i = 0; i < 16; i++) {
237 transform[i] =
238 fl_value_get_float(fl_value_get_list_value(transform_value, i));
239 }
240 self->vtable->set_editable_size_and_transform(transform, self->user_data);
241
242 return FL_METHOD_RESPONSE(fl_method_success_response_new(nullptr));
243 }
i
int i
Definition: fl_socket_accessible.cc:18
kTransform
static constexpr char kTransform[]
Definition: fl_text_input_channel.cc:41
fl_value_lookup_string
G_MODULE_EXPORT FlValue * fl_value_lookup_string(FlValue *self, const gchar *key)
Definition: fl_value.cc:811
fl_value_get_float
G_MODULE_EXPORT double fl_value_get_float(FlValue *self)
Definition: fl_value.cc:675

References args, fl_method_error_response_new(), fl_method_success_response_new(), fl_value_get_float(), fl_value_get_length(), fl_value_get_list_value(), fl_value_lookup_string(), i, kBadArgumentsError, and kTransform.

Referenced by method_call_cb().

## ◆ set_editing_state()

static FlMethodResponse* set_editing_state | ( | FlTextInputChannel * | self,
|  | FlValue * | args
| ) |  |
| static

Definition at line 194 of file fl_text_input_channel.cc.

195 {
196 const gchar* text =
197 fl_value_get_string(fl_value_lookup_string(args, kTextKey));
198 int64_t selection_base =
199 fl_value_get_int(fl_value_lookup_string(args, kSelectionBaseKey));
200 int64_t selection_extent =
201 fl_value_get_int(fl_value_lookup_string(args, kSelectionExtentKey));
202 int64_t composing_base =
203 fl_value_get_int(fl_value_lookup_string(args, kComposingBaseKey));
204 int64_t composing_extent =
205 fl_value_get_int(fl_value_lookup_string(args, kComposingExtentKey));
206
207 self->vtable->set_editing_state(text, selection_base, selection_extent,
208 composing_base, composing_extent,
209 self->user_data);
210
211 return FL_METHOD_RESPONSE(fl_method_success_response_new(nullptr));
212 }
fl_value_get_string
G_MODULE_EXPORT const gchar * fl_value_get_string(FlValue *self)
Definition: fl_value.cc:682

References args, fl_method_success_response_new(), fl_value_get_int(), fl_value_get_string(), fl_value_lookup_string(), kComposingBaseKey, kComposingExtentKey, kSelectionBaseKey, kSelectionExtentKey, and kTextKey.

Referenced by method_call_cb().

## ◆ set_marked_text_rect()

static FlMethodResponse* set_marked_text_rect | ( | FlTextInputChannel * | self,
|  | FlValue * | args
| ) |  |
| static

Definition at line 251 of file fl_text_input_channel.cc.

252 {
253 double x = fl_value_get_float(fl_value_lookup_string(args, "x"));
254 double y = fl_value_get_float(fl_value_lookup_string(args, "y"));
255 double width = fl_value_get_float(fl_value_lookup_string(args, "width"));
256 double height = fl_value_get_float(fl_value_lookup_string(args, "height"));
257
258 self->vtable->set_marked_text_rect(x, y, width, height, self->user_data);
259
260 return FL_METHOD_RESPONSE(fl_method_success_response_new(nullptr));
261 }
height
self height
Definition: fl_compositor_software.cc:43
width
self width
Definition: fl_compositor_software.cc:42

References args, fl_method_success_response_new(), fl_value_get_float(), fl_value_lookup_string(), height, and width.

Referenced by method_call_cb().

## ◆ show()

static FlMethodResponse* show | ( | FlTextInputChannel * | self | ) |
| static

Definition at line 188 of file fl_text_input_channel.cc.

188 {
189 self->vtable->show(self->user_data);
190 return FL_METHOD_RESPONSE(fl_method_success_response_new(nullptr));
191 }

References fl_method_success_response_new().

Referenced by method_call_cb().

## ◆ text_affinity_to_string()

static const gchar* text_affinity_to_string | ( | FlTextAffinity | affinity | ) |
| static

Definition at line 75 of file fl_text_input_channel.cc.

75 {
76 switch (affinity) {
77 case FL_TEXT_AFFINITY_UPSTREAM:
78 return kTextAffinityUpstream;
79 case FL_TEXT_AFFINITY_DOWNSTREAM:
80 return kTextAffinityDownstream;
81 default:
82 g_assert_not_reached();
83 }
84 }
kTextAffinityUpstream
static constexpr char kTextAffinityUpstream[]
Definition: fl_text_input_channel.cc:57
kTextAffinityDownstream
static constexpr char kTextAffinityDownstream[]
Definition: fl_text_input_channel.cc:58
FL_TEXT_AFFINITY_DOWNSTREAM
@ FL_TEXT_AFFINITY_DOWNSTREAM
Definition: fl_text_input_channel.h:24
FL_TEXT_AFFINITY_UPSTREAM
@ FL_TEXT_AFFINITY_UPSTREAM
Definition: fl_text_input_channel.h:23

References FL_TEXT_AFFINITY_DOWNSTREAM, FL_TEXT_AFFINITY_UPSTREAM, kTextAffinityDownstream, and kTextAffinityUpstream.

Referenced by fl_text_input_channel_update_editing_state(), and fl_text_input_channel_update_editing_state_with_deltas().

## ◆ update_config()

static FlMethodResponse * update_config | ( | FlTextInputChannel * | self,
|  | FlValue * | config_value
| ) |  |
| static

Definition at line 146 of file fl_text_input_channel.cc.

147 {
148 const gchar* input_action = nullptr;
149 FlValue* input_action_value =
150 fl_value_lookup_string(config_value, kInputActionKey);
151 if (fl_value_get_type(input_action_value) == FL_VALUE_TYPE_STRING) {
152 input_action = fl_value_get_string(input_action_value);
153 }
154
155 FlValue* enable_delta_model_value =
156 fl_value_lookup_string(config_value, kEnableDeltaModel);
157 gboolean enable_delta_model = fl_value_get_bool(enable_delta_model_value);
158
159 // Reset the input type, then set only if appropriate.
160 FlTextInputType input_type = FL_TEXT_INPUT_TYPE_TEXT;
161 GtkInputPurpose im_purpose = GTK_INPUT_PURPOSE_FREE_FORM;
162 GtkInputHints im_hints = GTK_INPUT_HINT_NONE;
163 FlValue* input_type_value =
164 fl_value_lookup_string(config_value, kTextInputTypeKey);
165 if (fl_value_get_type(input_type_value) == FL_VALUE_TYPE_MAP) {
166 FlValue* input_type_name_value =
167 fl_value_lookup_string(input_type_value, kTextInputTypeNameKey);
168 if (fl_value_get_type(input_type_name_value) == FL_VALUE_TYPE_STRING) {
169 const gchar* input_type_name = fl_value_get_string(input_type_name_value);
170 fl_text_input_parse_input_type_name(input_type_name, &input_type,
171 &im_purpose, &im_hints);
172 }
173 }
174
175 self->vtable->configure(input_action, enable_delta_model, input_type,
176 im_purpose, im_hints, self->user_data);
177
178 return FL_METHOD_RESPONSE(fl_method_success_response_new(nullptr));
179 }
kEnableDeltaModel
static constexpr char kEnableDeltaModel[]
Definition: fl_text_input_channel.cc:31
fl_text_input_parse_input_type_name
static void fl_text_input_parse_input_type_name(const gchar *input_type_name, FlTextInputType *input_type, GtkInputPurpose *im_purpose, GtkInputHints *im_hints)
Definition: fl_text_input_channel.cc:86
kTextInputTypeNameKey
static constexpr char kTextInputTypeNameKey[]
Definition: fl_text_input_channel.cc:32
kTextInputTypeKey
static constexpr char kTextInputTypeKey[]
Definition: fl_text_input_channel.cc:30
kInputActionKey
static constexpr char kInputActionKey[]
Definition: fl_text_input_channel.cc:29
FlTextInputType
FlTextInputType
Definition: fl_text_input_channel.h:14
FL_TEXT_INPUT_TYPE_TEXT
@ FL_TEXT_INPUT_TYPE_TEXT
Definition: fl_text_input_channel.h:15
fl_value_get_bool
G_MODULE_EXPORT bool fl_value_get_bool(FlValue *self)
Definition: fl_value.cc:661
FL_VALUE_TYPE_STRING
@ FL_VALUE_TYPE_STRING
Definition: fl_value.h:68
FL_VALUE_TYPE_MAP
@ FL_VALUE_TYPE_MAP
Definition: fl_value.h:74

References fl_method_success_response_new(), fl_text_input_parse_input_type_name(), FL_TEXT_INPUT_TYPE_TEXT, fl_value_get_bool(), fl_value_get_string(), fl_value_get_type(), fl_value_lookup_string(), FL_VALUE_TYPE_MAP, FL_VALUE_TYPE_STRING, kEnableDeltaModel, kInputActionKey, kTextInputTypeKey, and kTextInputTypeNameKey.

Referenced by method_call_cb(), and set_client().

## Variable Documentation

## ◆ kAddressInputType

constexpr char kAddressInputType[] = "TextInputType.address"
| static constexpr

Definition at line 52 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().

## ◆ kBadArgumentsError

constexpr char kBadArgumentsError[] = "Bad Arguments"
| static constexpr

Definition at line 12 of file fl_text_input_channel.cc.

Referenced by set_client(), and set_editable_size_and_transform().

## ◆ kChannelName

constexpr char kChannelName[] = "flutter/textinput"
| static constexpr

Definition at line 10 of file fl_text_input_channel.cc.

Referenced by fl_text_input_channel_new().

## ◆ kClearClientMethod

constexpr char kClearClientMethod[] = "TextInput.clearClient"
| static constexpr

Definition at line 18 of file fl_text_input_channel.cc.

Referenced by method_call_cb().

## ◆ kComposingBaseKey

constexpr char kComposingBaseKey[] = "composingBase"
| static constexpr

Definition at line 38 of file fl_text_input_channel.cc.

Referenced by fl_text_input_channel_update_editing_state(), and set_editing_state().

## ◆ kComposingExtentKey

constexpr char kComposingExtentKey[] = "composingExtent"
| static constexpr

Definition at line 39 of file fl_text_input_channel.cc.

Referenced by fl_text_input_channel_update_editing_state(), and set_editing_state().

## ◆ kDatetimeInputType

constexpr char kDatetimeInputType[] = "TextInputType.datetime"
| static constexpr

Definition at line 47 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().

## ◆ kEmailAddressInputType

constexpr char kEmailAddressInputType[] = "TextInputType.emailAddress"
| static constexpr

Definition at line 48 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().

## ◆ kEnableDeltaModel

constexpr char kEnableDeltaModel[] = "enableDeltaModel"
| static constexpr

Definition at line 31 of file fl_text_input_channel.cc.

Referenced by update_config().

## ◆ kHideMethod

constexpr char kHideMethod[] = "TextInput.hide"
| static constexpr

Definition at line 19 of file fl_text_input_channel.cc.

Referenced by method_call_cb().

## ◆ kInputActionKey

constexpr char kInputActionKey[] = "inputAction"
| static constexpr

Definition at line 29 of file fl_text_input_channel.cc.

Referenced by update_config().

## ◆ kMultilineInputType

constexpr char kMultilineInputType[] = "TextInputType.multiline"
| static constexpr

Definition at line 44 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().

## ◆ kNameInputType

constexpr char kNameInputType[] = "TextInputType.name"
| static constexpr

Definition at line 51 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().

## ◆ kNoneInputType

constexpr char kNoneInputType[] = "TextInputType.none"
| static constexpr

Definition at line 53 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().

## ◆ kNumberInputType

constexpr char kNumberInputType[] = "TextInputType.number"
| static constexpr

Definition at line 45 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().

## ◆ kPasswordInputType

constexpr char kPasswordInputType[] = "TextInputType.visiblePassword"
| static constexpr

Definition at line 50 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().

## ◆ kPerformActionMethod

constexpr char kPerformActionMethod[] = "TextInputClient.performAction"
| static constexpr

Definition at line 24 of file fl_text_input_channel.cc.

Referenced by fl_text_input_channel_perform_action().

## ◆ kPhoneInputType

constexpr char kPhoneInputType[] = "TextInputType.phone"
| static constexpr

Definition at line 46 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().

## ◆ kSelectionAffinityKey

constexpr char kSelectionAffinityKey[] = "selectionAffinity"
| static constexpr

Definition at line 36 of file fl_text_input_channel.cc.

Referenced by fl_text_input_channel_update_editing_state().

## ◆ kSelectionBaseKey

constexpr char kSelectionBaseKey[] = "selectionBase"
| static constexpr

Definition at line 34 of file fl_text_input_channel.cc.

Referenced by fl_text_input_channel_update_editing_state(), and set_editing_state().

## ◆ kSelectionExtentKey

constexpr char kSelectionExtentKey[] = "selectionExtent"
| static constexpr

Definition at line 35 of file fl_text_input_channel.cc.

Referenced by fl_text_input_channel_update_editing_state(), and set_editing_state().

## ◆ kSelectionIsDirectionalKey

constexpr char kSelectionIsDirectionalKey[] = "selectionIsDirectional"
| static constexpr

Definition at line 37 of file fl_text_input_channel.cc.

Referenced by fl_text_input_channel_update_editing_state().

## ◆ kSetClientMethod

constexpr char kSetClientMethod[] = "TextInput.setClient"
| static constexpr

Definition at line 14 of file fl_text_input_channel.cc.

Referenced by method_call_cb().

## ◆ kSetEditableSizeAndTransform

constexpr char kSetEditableSizeAndTransform[]
| static constexpr

Initial value:
=
"TextInput.setEditableSizeAndTransform"

Definition at line 25 of file fl_text_input_channel.cc.

Referenced by method_call_cb().

## ◆ kSetEditingStateMethod

constexpr char kSetEditingStateMethod[] = "TextInput.setEditingState"
| static constexpr

Definition at line 17 of file fl_text_input_channel.cc.

Referenced by method_call_cb().

## ◆ kSetMarkedTextRect

constexpr char kSetMarkedTextRect[] = "TextInput.setMarkedTextRect"
| static constexpr

Definition at line 27 of file fl_text_input_channel.cc.

Referenced by method_call_cb().

## ◆ kShowMethod

constexpr char kShowMethod[] = "TextInput.show"
| static constexpr

Definition at line 16 of file fl_text_input_channel.cc.

Referenced by method_call_cb().

## ◆ kTextAffinityDownstream

constexpr char kTextAffinityDownstream[] = "TextAffinity.downstream"
| static constexpr

Definition at line 58 of file fl_text_input_channel.cc.

Referenced by text_affinity_to_string().

## ◆ kTextAffinityUpstream

constexpr char kTextAffinityUpstream[] = "TextAffinity.upstream"
| static constexpr

Definition at line 57 of file fl_text_input_channel.cc.

Referenced by text_affinity_to_string().

## ◆ kTextInputType

constexpr char kTextInputType[] = "TextInputType.text"
| static constexpr

Definition at line 43 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().

## ◆ kTextInputTypeKey

constexpr char kTextInputTypeKey[] = "inputType"
| static constexpr

Definition at line 30 of file fl_text_input_channel.cc.

Referenced by update_config().

## ◆ kTextInputTypeNameKey

constexpr char kTextInputTypeNameKey[] = "name"
| static constexpr

Definition at line 32 of file fl_text_input_channel.cc.

Referenced by update_config().

## ◆ kTextKey

constexpr char kTextKey[] = "text"
| static constexpr

Definition at line 33 of file fl_text_input_channel.cc.

Referenced by fl_text_input_channel_update_editing_state(), and set_editing_state().

## ◆ kTransform

constexpr char kTransform[] = "transform"
| static constexpr

Definition at line 41 of file fl_text_input_channel.cc.

Referenced by set_editable_size_and_transform().

## ◆ kTwitterInputType

constexpr char kTwitterInputType[] = "TextInputType.twitter"
| static constexpr

Definition at line 55 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().

## ◆ kUpdateConfigMethod

constexpr char kUpdateConfigMethod[] = "TextInput.updateConfig"
| static constexpr

Definition at line 15 of file fl_text_input_channel.cc.

Referenced by method_call_cb().

## ◆ kUpdateEditingStateMethod

constexpr char kUpdateEditingStateMethod[]
| static constexpr

Initial value:
=
"TextInputClient.updateEditingState"

Definition at line 20 of file fl_text_input_channel.cc.

Referenced by fl_text_input_channel_update_editing_state().

## ◆ kUpdateEditingStateWithDeltasMethod

constexpr char kUpdateEditingStateWithDeltasMethod[]
| static constexpr

Initial value:
=
"TextInputClient.updateEditingStateWithDeltas"

Definition at line 22 of file fl_text_input_channel.cc.

Referenced by fl_text_input_channel_update_editing_state_with_deltas().

## ◆ kUrlInputType

constexpr char kUrlInputType[] = "TextInputType.url"
| static constexpr

Definition at line 49 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().

## ◆ kWebSearchInputType

constexpr char kWebSearchInputType[] = "TextInputType.webSearch"
| static constexpr

Definition at line 54 of file fl_text_input_channel.cc.

Referenced by fl_text_input_parse_input_type_name().