Flutter Engine
 
Loading...
Searching...
No Matches
Skwasm Namespace Reference

Classes

struct  FlutterFontCollection
 
struct  Paragraph
 
struct  ParagraphBuilder
 
struct  ParagraphStyle
 
class  sp_wrapper
 
class  Surface
 
struct  SurfaceWrapper
 
struct  TextStyle
 
class  TextureSourceWrapper
 

Typedefs

using SkwasmObject = __externref_t
 

Enumerations

enum class  FilterQuality {
  none ,
  low ,
  medium ,
  high
}
 
enum class  ImageByteFormat {
  rawRgba ,
  rawStraightRgba ,
  rawUnmodified ,
  png
}
 

Functions

flutter::DlMatrix createDlMatrixFrom3x3 (const flutter::DlScalar *f)
 
SkMatrix createSkMatrix (const SkScalar *f)
 
flutter::DlRect createDlRect (const float *f)
 
flutter::DlRoundingRadii createDlRadii (const float *f)
 
flutter::DlRoundRect createDlRRect (const float *f)
 
SkRRect createSkRRect (const SkScalar *f)
 
flutter::DlFilterMode filterModeForQuality (FilterQuality quality)
 
flutter::DlImageSampling samplingOptionsForQuality (FilterQuality quality)
 
void makeCurrent (EMSCRIPTEN_WEBGL_CONTEXT_HANDLE handle)
 

Typedef Documentation

◆ SkwasmObject

using Skwasm::SkwasmObject = typedef __externref_t

Definition at line 16 of file wrappers.h.

Enumeration Type Documentation

◆ FilterQuality

enum class Skwasm::FilterQuality
strong
Enumerator
none 
low 
medium 
high 

Definition at line 76 of file helpers.h.

◆ ImageByteFormat

enum class Skwasm::ImageByteFormat
strong
Enumerator
rawRgba 
rawStraightRgba 
rawUnmodified 
png 

Definition at line 32 of file surface.h.

Function Documentation

◆ createDlMatrixFrom3x3()

flutter::DlMatrix Skwasm::createDlMatrixFrom3x3 ( const flutter::DlScalar f)
inline

Definition at line 30 of file helpers.h.

30 {
31 // clang-format off
32 return flutter::DlMatrix(
33 f[0], f[3], 0, f[6],
34 f[1], f[4], 0, f[7],
35 0, 0, 1, 0,
36 f[2], f[5], 0, f[8]
37 );
38 // clang-format on
39}
impeller::Matrix DlMatrix

◆ createDlRadii()

flutter::DlRoundingRadii Skwasm::createDlRadii ( const float *  f)
inline

Definition at line 50 of file helpers.h.

50 {
51 // Flutter has radii in TL,TR,BR,BL (clockwise) order,
52 // but Impeller uses TL,TR,BL,BR (zig-zag) order
54 .top_left = flutter::DlSize(f[0], f[1]),
55 .top_right = flutter::DlSize(f[2], f[3]),
56 .bottom_left = flutter::DlSize(f[6], f[7]),
57 .bottom_right = flutter::DlSize(f[4], f[5]),
58 };
59 return radii;
60}
impeller::Size DlSize

References impeller::RoundingRadii::top_left.

Referenced by createDlRRect().

◆ createDlRect()

flutter::DlRect Skwasm::createDlRect ( const float *  f)
inline

Definition at line 46 of file helpers.h.

46 {
47 return flutter::DlRect::MakeLTRB(f[0], f[1], f[2], f[3]);
48}
static constexpr TRect MakeLTRB(Type left, Type top, Type right, Type bottom)
Definition rect.h:129

References impeller::TRect< Scalar >::MakeLTRB().

Referenced by createDlRRect().

◆ createDlRRect()

flutter::DlRoundRect Skwasm::createDlRRect ( const float *  f)
inline

Definition at line 62 of file helpers.h.

62 {
64 createDlRadii(f + 4));
65}
flutter::DlRoundingRadii createDlRadii(const float *f)
Definition helpers.h:50
flutter::DlRect createDlRect(const float *f)
Definition helpers.h:46
static RoundRect MakeRectRadii(const Rect &rect, const RoundingRadii &radii)
Definition round_rect.cc:9

References createDlRadii(), createDlRect(), and impeller::RoundRect::MakeRectRadii().

◆ createSkMatrix()

SkMatrix Skwasm::createSkMatrix ( const SkScalar *  f)
inline

Definition at line 41 of file helpers.h.

41 {
42 return SkMatrix::MakeAll(f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7],
43 f[8]);
44}

◆ createSkRRect()

SkRRect Skwasm::createSkRRect ( const SkScalar *  f)
inline

Definition at line 67 of file helpers.h.

67 {
68 const SkRect* rect = reinterpret_cast<const SkRect*>(f);
69 const SkVector* radiiValues = reinterpret_cast<const SkVector*>(f + 4);
70 SkRRect rr;
71 rr.setRectRadii(*rect, radiiValues);
72 return rr;
73}

◆ filterModeForQuality()

flutter::DlFilterMode Skwasm::filterModeForQuality ( FilterQuality  quality)
inline

Definition at line 83 of file helpers.h.

83 {
84 switch (quality) {
85 case FilterQuality::none:
87 case FilterQuality::low:
88 case FilterQuality::medium:
89 case FilterQuality::high:
91 }
92}

References high, flutter::kLinear, flutter::kNearest, low, medium, and none.

◆ makeCurrent()

void Skwasm::makeCurrent ( EMSCRIPTEN_WEBGL_CONTEXT_HANDLE  handle)
inline

Definition at line 24 of file wrappers.h.

24 {
25 if (!handle)
26 return;
27
28 int result = emscripten_webgl_make_context_current(handle);
29 if (result != EMSCRIPTEN_RESULT_SUCCESS) {
30 printf("make_context failed: %d", result);
31 }
32}

◆ samplingOptionsForQuality()

flutter::DlImageSampling Skwasm::samplingOptionsForQuality ( FilterQuality  quality)
inline

Definition at line 94 of file helpers.h.

95 {
96 switch (quality) {
97 case FilterQuality::none:
99 case FilterQuality::low:
101 case FilterQuality::medium:
103 case FilterQuality::high:
105 }
106}

References high, flutter::kCubic, flutter::kLinear, flutter::kMipmapLinear, flutter::kNearestNeighbor, low, medium, and none.