Flutter Engine
The Flutter Engine
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Properties
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Related Functions
:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
v
w
y
Enumerator
b
c
d
e
f
g
h
k
l
m
n
p
r
s
t
u
v
w
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
shell
platform
windows
keyboard_utils.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 "
keyboard_utils.h
"
6
7
#include "flutter/fml/logging.h"
8
9
namespace
flutter
{
10
11
std::u16string
EncodeUtf16
(
char32_t
character
) {
12
// Algorithm: https://en.wikipedia.org/wiki/UTF-16#Description
13
std::u16string
result
;
14
// Invalid value.
15
FML_DCHECK
(!(
character
>= 0xD800 &&
character
<= 0xDFFF) &&
16
!(
character
> 0x10FFFF));
17
if
((
character
>= 0xD800 &&
character
<= 0xDFFF) || (
character
> 0x10FFFF)) {
18
return
result
;
19
}
20
if
(
character
<= 0xD7FF || (
character
>= 0xE000 &&
character
<= 0xFFFF)) {
21
result
.push_back((
char16_t
)
character
);
22
return
result
;
23
}
24
uint32_t remnant =
character
- 0x10000;
25
result
.push_back((remnant >> 10) + 0xD800);
26
result
.push_back((remnant & 0x3FF) + 0xDC00);
27
return
result
;
28
}
29
30
}
// namespace flutter
result
GAsyncResult * result
Definition:
fl_text_input_plugin.cc:106
FML_DCHECK
#define FML_DCHECK(condition)
Definition:
logging.h:103
character
char32_t character
Definition:
keyboard_key_handler_unittests.cc:117
keyboard_utils.h
flutter
Definition:
asset_manager.cc:10
flutter::EncodeUtf16
std::u16string EncodeUtf16(char32_t character)
Definition:
keyboard_utils.cc:11
Generated on Sun Jun 23 2024 21:55:18 for Flutter Engine by
1.9.4