Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
skwasm_support.h
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#ifndef FLUTTER_SKWASM_SKWASM_SUPPORT_H_
6#define FLUTTER_SKWASM_SKWASM_SUPPORT_H_
7
8#include <cinttypes>
9
10#include <emscripten/threading.h>
11
14#include "third_party/skia/include/core/SkData.h"
15#include "third_party/skia/include/core/SkPicture.h"
16
17using SkwasmObject = __externref_t;
18
19namespace flutter {
20class DisplayList;
21}
22
23extern "C" {
25extern void skwasm_setAssociatedObjectOnThread(unsigned long thread_id,
26 void* pointer,
27 SkwasmObject object);
29extern void skwasm_disposeAssociatedObjectOnThread(unsigned long thread_id,
30 void* pointer);
31extern void skwasm_connectThread(pthread_t thread_id);
32extern void skwasm_dispatchRenderPictures(unsigned long thread_id,
33 Skwasm::Surface* surface,
34 sk_sp<flutter::DisplayList>* pictures,
35 int width,
36 int height,
37 int count,
38 uint32_t callback_id);
39extern uint32_t skwasm_createOffscreenCanvas(int width, int height);
40extern void skwasm_resizeCanvas(uint32_t context_handle, int width, int height);
41extern SkwasmObject skwasm_captureImageBitmap(uint32_t context_handle,
42 SkwasmObject image_bitmaps);
44 SkwasmObject image_bitmaps,
45 double raster_start,
46 uint32_t callback_id);
48 SkwasmObject texture_source,
49 int width,
50 int height);
51extern void skwasm_dispatchDisposeSurface(unsigned long thread_id,
52 Skwasm::Surface* surface);
53extern void skwasm_dispatchRasterizeImage(unsigned long thread_id,
54 Skwasm::Surface* surface,
57 uint32_t callback_id);
59 SkData* data,
60 uint32_t callback_id);
61}
62
63#endif // FLUTTER_SKWASM_SKWASM_SUPPORT_H_
Represents an image whose allocation is (usually) resident on device memory.
Definition dl_image.h:32
FlutterVulkanImage * image
ImageByteFormat
Definition helpers.h:75
int32_t height
int32_t width
void skwasm_resolveAndPostImages(Skwasm::Surface *surface, SkwasmObject image_bitmaps, double raster_start, uint32_t callback_id)
void skwasm_resizeCanvas(uint32_t context_handle, int width, int height)
SkwasmObject skwasm_getAssociatedObject(void *pointer)
uint32_t skwasm_createOffscreenCanvas(int width, int height)
SkwasmObject skwasm_captureImageBitmap(uint32_t context_handle, SkwasmObject image_bitmaps)
void skwasm_connectThread(pthread_t thread_id)
void skwasm_dispatchDisposeSurface(unsigned long thread_id, Skwasm::Surface *surface)
void skwasm_postRasterizeResult(Skwasm::Surface *surface, SkData *data, uint32_t callback_id)
void skwasm_dispatchRasterizeImage(unsigned long thread_id, Skwasm::Surface *surface, flutter::DlImage *image, Skwasm::ImageByteFormat format, uint32_t callback_id)
bool skwasm_isSingleThreaded()
__externref_t SkwasmObject
unsigned int skwasm_createGlTextureFromTextureSource(SkwasmObject texture_source, int width, int height)
void skwasm_disposeAssociatedObjectOnThread(unsigned long thread_id, void *pointer)
void skwasm_setAssociatedObjectOnThread(unsigned long thread_id, void *pointer, SkwasmObject object)
void skwasm_dispatchRenderPictures(unsigned long thread_id, Skwasm::Surface *surface, sk_sp< flutter::DisplayList > *pictures, int width, int height, int count, uint32_t callback_id)
std::shared_ptr< const fml::Mapping > data