Flutter Engine
 
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_LIB_WEB_UI_SKWASM_SKWASM_SUPPORT_H_
6#define FLUTTER_LIB_WEB_UI_SKWASM_SKWASM_SUPPORT_H_
7
8#include <emscripten/threading.h>
9#include <cinttypes>
10#include "surface.h"
11#include "third_party/skia/include/core/SkPicture.h"
12
13using SkwasmObject = __externref_t;
14
15namespace flutter {
16class DisplayList;
17}
18
19extern "C" {
21extern void skwasm_setAssociatedObjectOnThread(unsigned long threadId,
22 void* pointer,
23 SkwasmObject object);
25extern void skwasm_disposeAssociatedObjectOnThread(unsigned long threadId,
26 void* pointer);
27extern void skwasm_connectThread(pthread_t threadId);
28extern void skwasm_dispatchRenderPictures(unsigned long threadId,
29 Skwasm::Surface* surface,
30 sk_sp<flutter::DisplayList>* pictures,
31 int width,
32 int height,
33 int count,
34 uint32_t callbackId);
35extern uint32_t skwasm_createOffscreenCanvas(int width, int height);
36extern void skwasm_resizeCanvas(uint32_t contextHandle, int width, int height);
37extern SkwasmObject skwasm_captureImageBitmap(uint32_t contextHandle,
38 SkwasmObject imageBitmaps);
40 SkwasmObject imageBitmaps,
41 double rasterStart,
42 uint32_t callbackId);
44 SkwasmObject textureSource,
45 int width,
46 int height);
47extern void skwasm_dispatchDisposeSurface(unsigned long threadId,
48 Skwasm::Surface* surface);
49extern void skwasm_dispatchRasterizeImage(unsigned long threadId,
50 Skwasm::Surface* surface,
51 SkImage* image,
53 uint32_t callbackId);
55 SkData* data,
56 uint32_t callbackId);
57}
58
59#endif // FLUTTER_LIB_WEB_UI_SKWASM_SKWASM_SUPPORT_H_
FlutterVulkanImage * image
ImageByteFormat
Definition surface.h:32
int32_t height
int32_t width
void skwasm_disposeAssociatedObjectOnThread(unsigned long threadId, void *pointer)
SkwasmObject skwasm_getAssociatedObject(void *pointer)
uint32_t skwasm_createOffscreenCanvas(int width, int height)
void skwasm_connectThread(pthread_t threadId)
bool skwasm_isSingleThreaded()
SkwasmObject skwasm_captureImageBitmap(uint32_t contextHandle, SkwasmObject imageBitmaps)
void skwasm_resolveAndPostImages(Skwasm::Surface *surface, SkwasmObject imageBitmaps, double rasterStart, uint32_t callbackId)
void skwasm_setAssociatedObjectOnThread(unsigned long threadId, void *pointer, SkwasmObject object)
void skwasm_resizeCanvas(uint32_t contextHandle, int width, int height)
void skwasm_postRasterizeResult(Skwasm::Surface *surface, SkData *data, uint32_t callbackId)
__externref_t SkwasmObject
void skwasm_dispatchDisposeSurface(unsigned long threadId, Skwasm::Surface *surface)
void skwasm_dispatchRasterizeImage(unsigned long threadId, Skwasm::Surface *surface, SkImage *image, Skwasm::ImageByteFormat format, uint32_t callbackId)
void skwasm_dispatchRenderPictures(unsigned long threadId, Skwasm::Surface *surface, sk_sp< flutter::DisplayList > *pictures, int width, int height, int count, uint32_t callbackId)
unsigned int skwasm_createGlTextureFromTextureSource(SkwasmObject textureSource, int width, int height)
std::shared_ptr< const fml::Mapping > data