Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
Skwasm Namespace Reference

Classes

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

Typedefs

using SkwasmObject = __externref_t
 

Enumerations

enum class  ImageByteFormat {
  rawRgba ,
  rawStraightRgba ,
  rawUnmodified ,
  png
}
 
enum class  FilterQuality {
  none ,
  low ,
  medium ,
  high
}
 
enum class  PixelFormat {
  rgba8888 ,
  bgra8888 ,
  rgbaFloat32
}
 

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)
 
sk_sp< flutter::DlImageMakeImageFromPicture (flutter::DisplayList *display_list, int32_t width, int32_t height)
 
sk_sp< flutter::DlImageMakeImageFromTexture (SkwasmObject texture_source, int width, int height, Skwasm::Surface *surface)
 
sk_sp< flutter::DlImageMakeImageFromPixels (SkData *data, int width, int height, PixelFormat pixel_format, size_t row_byte_count)
 
sk_sp< flutter::DlRuntimeEffectCreateRuntimeEffect (SkString *string)
 
void makeCurrent (EMSCRIPTEN_WEBGL_CONTEXT_HANDLE handle)
 

Variables

uint32_t live_line_break_buffer_count = 0
 
uint32_t live_unicode_position_buffer_count = 0
 
uint32_t live_line_metrics_count = 0
 
uint32_t live_text_box_list_count = 0
 
uint32_t live_paragraph_builder_count = 0
 
uint32_t live_paragraph_count = 0
 
uint32_t live_strut_style_count = 0
 
uint32_t live_text_style_count = 0
 
uint32_t live_animated_image_count = 0
 
uint32_t live_contour_measure_iter_count = 0
 
uint32_t live_contour_measure_count = 0
 
uint32_t live_data_count = 0
 
uint32_t live_color_filter_count = 0
 
uint32_t live_image_filter_count = 0
 
uint32_t live_mask_filter_count = 0
 
uint32_t live_typeface_count = 0
 
uint32_t live_font_collection_count = 0
 
uint32_t live_image_count = 0
 
uint32_t live_paint_count = 0
 
uint32_t live_path_count = 0
 
uint32_t live_picture_count = 0
 
uint32_t live_picture_recorder_count = 0
 
uint32_t live_shader_count = 0
 
uint32_t live_runtime_effect_count = 0
 
uint32_t live_string_count = 0
 
uint32_t live_string16_count = 0
 
uint32_t live_surface_count = 0
 
uint32_t live_vertices_count = 0
 

Typedef Documentation

◆ SkwasmObject

using Skwasm::SkwasmObject = typedef __externref_t

Definition at line 18 of file wrappers.h.

Enumeration Type Documentation

◆ FilterQuality

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

Definition at line 83 of file helpers.h.

◆ ImageByteFormat

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

Definition at line 75 of file helpers.h.

◆ PixelFormat

enum class Skwasm::PixelFormat
strong
Enumerator
rgba8888 
bgra8888 
rgbaFloat32 

Definition at line 13 of file images.h.

Function Documentation

◆ CreateDlMatrixFrom3x3()

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

Definition at line 29 of file helpers.h.

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

Referenced by imageFilter_createMatrix(), shader_createConicalGradient(), shader_createFromImage(), shader_createLinearGradient(), shader_createRadialGradient(), and shader_createSweepGradient().

◆ CreateDlRadii()

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

Definition at line 49 of file helpers.h.

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

References impeller::RoundingRadii::top_left.

Referenced by CreateDlRRect().

◆ CreateDlRect()

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

Definition at line 45 of file helpers.h.

45 {
46 return flutter::DlRect::MakeLTRB(f[0], f[1], f[2], f[3]);
47}
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 61 of file helpers.h.

61 {
63 CreateDlRadii(f + 4));
64}
flutter::DlRect CreateDlRect(const float *f)
Definition helpers.h:45
flutter::DlRoundingRadii CreateDlRadii(const float *f)
Definition helpers.h:49
static RoundRect MakeRectRadii(const Rect &rect, const RoundingRadii &radii)
Definition round_rect.cc:9

References CreateDlRadii(), CreateDlRect(), and impeller::RoundRect::MakeRectRadii().

Referenced by canvas_clipRRect(), canvas_drawDRRect(), and canvas_drawRRect().

◆ CreateRuntimeEffect()

sk_sp< flutter::DlRuntimeEffect > Skwasm::CreateRuntimeEffect ( SkString *  string)

Definition at line 12 of file shaders_impeller.cc.

12 {
13 // TODO(jacksongardner): Implement runtime effect for wimp
14 // https://github.com/flutter/flutter/issues/175431
16}
static sk_sp< DlRuntimeEffect > Make(std::shared_ptr< impeller::RuntimeStage > runtime_stage)

References flutter::DlRuntimeEffectImpeller::Make().

Referenced by runtimeEffect_create().

◆ CreateSkMatrix()

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

Definition at line 40 of file helpers.h.

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

Referenced by path_addPath(), and path_transform().

◆ CreateSkRRect()

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

Definition at line 66 of file helpers.h.

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

Referenced by path_addRRect().

◆ FilterModeForQuality()

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

Definition at line 90 of file helpers.h.

90 {
91 switch (quality) {
92 case FilterQuality::none:
94 case FilterQuality::low:
95 case FilterQuality::medium:
96 case FilterQuality::high:
98 }
99}

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

◆ makeCurrent()

void Skwasm::makeCurrent ( EMSCRIPTEN_WEBGL_CONTEXT_HANDLE  handle)
inline

Definition at line 26 of file wrappers.h.

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

Referenced by Skwasm::Surface::RenderPicturesOnWorker().

◆ MakeImageFromPicture()

sk_sp< flutter::DlImage > Skwasm::MakeImageFromPicture ( flutter::DisplayList display_list,
int32_t  width,
int32_t  height 
)
extern

Definition at line 71 of file images_impeller.cc.

73 {
74 return StubImage::Make(width, height);
75}
int32_t height
int32_t width

References height, and width.

Referenced by image_createFromPicture().

◆ MakeImageFromPixels()

sk_sp< flutter::DlImage > Skwasm::MakeImageFromPixels ( SkData *  data,
int  width,
int  height,
Skwasm::PixelFormat  pixel_format,
size_t  row_byte_count 
)
extern

Definition at line 84 of file images_impeller.cc.

88 {
89 return StubImage::Make(width, height);
90}

References height, and width.

Referenced by image_createFromPixels().

◆ MakeImageFromTexture()

sk_sp< flutter::DlImage > Skwasm::MakeImageFromTexture ( SkwasmObject  texture_source,
int  width,
int  height,
Skwasm::Surface surface 
)
extern

Definition at line 77 of file images_impeller.cc.

80 {
81 return StubImage::Make(width, height);
82}

References height, and width.

Referenced by image_createFromTextureSource().

◆ SamplingOptionsForQuality()

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

Definition at line 101 of file helpers.h.

102 {
103 switch (quality) {
104 case FilterQuality::none:
106 case FilterQuality::low:
108 case FilterQuality::medium:
110 case FilterQuality::high:
112 }
113}

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

Referenced by canvas_drawAtlas(), canvas_drawImage(), canvas_drawImageRect(), imageFilter_createMatrix(), and shader_createFromImage().

Variable Documentation

◆ live_animated_image_count

uint32_t Skwasm::live_animated_image_count = 0
extern

◆ live_color_filter_count

◆ live_contour_measure_count

uint32_t Skwasm::live_contour_measure_count = 0
extern

◆ live_contour_measure_iter_count

uint32_t Skwasm::live_contour_measure_iter_count = 0
extern

◆ live_data_count

uint32_t Skwasm::live_data_count = 0
extern

Definition at line 20 of file live_objects.cc.

Referenced by skData_create(), skData_dispose(), and skwasm_getLiveObjectCounts().

◆ live_font_collection_count

uint32_t Skwasm::live_font_collection_count = 0
extern

◆ live_image_count

◆ live_image_filter_count

◆ live_line_break_buffer_count

uint32_t Skwasm::live_line_break_buffer_count = 0
extern

◆ live_line_metrics_count

uint32_t Skwasm::live_line_metrics_count = 0
extern

◆ live_mask_filter_count

uint32_t Skwasm::live_mask_filter_count = 0
extern

◆ live_paint_count

uint32_t Skwasm::live_paint_count = 0
extern

Definition at line 27 of file live_objects.cc.

Referenced by paint_create(), paint_dispose(), and skwasm_getLiveObjectCounts().

◆ live_paragraph_builder_count

uint32_t Skwasm::live_paragraph_builder_count = 0
extern

◆ live_paragraph_count

uint32_t Skwasm::live_paragraph_count = 0
extern

◆ live_path_count

uint32_t Skwasm::live_path_count = 0
extern

◆ live_picture_count

uint32_t Skwasm::live_picture_count = 0
extern

◆ live_picture_recorder_count

uint32_t Skwasm::live_picture_recorder_count = 0
extern

◆ live_runtime_effect_count

uint32_t Skwasm::live_runtime_effect_count = 0
extern

◆ live_shader_count

◆ live_string16_count

uint32_t Skwasm::live_string16_count = 0
extern

◆ live_string_count

uint32_t Skwasm::live_string_count = 0
extern

◆ live_strut_style_count

uint32_t Skwasm::live_strut_style_count = 0
extern

◆ live_surface_count

uint32_t Skwasm::live_surface_count = 0
extern

Definition at line 35 of file live_objects.cc.

Referenced by skwasm_getLiveObjectCounts(), surface_create(), and surface_destroy().

◆ live_text_box_list_count

uint32_t Skwasm::live_text_box_list_count = 0
extern

◆ live_text_style_count

uint32_t Skwasm::live_text_style_count = 0
extern

◆ live_typeface_count

uint32_t Skwasm::live_typeface_count = 0
extern

Definition at line 24 of file live_objects.cc.

Referenced by skwasm_getLiveObjectCounts(), typeface_create(), and typeface_dispose().

◆ live_unicode_position_buffer_count

uint32_t Skwasm::live_unicode_position_buffer_count = 0
extern

◆ live_vertices_count

uint32_t Skwasm::live_vertices_count = 0
extern

Definition at line 36 of file live_objects.cc.

Referenced by skwasm_getLiveObjectCounts(), vertices_create(), and vertices_dispose().