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 bool skwasm_isWimp();
26extern void skwasm_setAssociatedObjectOnThread(unsigned long thread_id,
27 void* pointer,
28 SkwasmObject object);
30extern void skwasm_disposeAssociatedObjectOnThread(unsigned long thread_id,
31 void* pointer);
32extern void skwasm_connectThread(pthread_t thread_id);
33extern void skwasm_dispatchRenderPictures(unsigned long thread_id,
34 Skwasm::Surface* surface,
35 sk_sp<flutter::DisplayList>* pictures,
36 int count,
37 uint32_t callback_id);
39 bool antialias,
40 Skwasm::Surface* surface);
42 uint32_t callback_id,
43 uint32_t context_lost_callback_id);
45 uint32_t callback_id);
46extern void skwasm_dispatchResizeSurface(unsigned long thread_id,
47 Skwasm::Surface* surface,
48 int width,
49 int height,
50 uint32_t callback_id);
51extern void skwasm_resizeCanvas(uint32_t contextHandle, int width, int height);
52extern void skwasm_dispatchDisposeDlImage(unsigned long thread_id,
53 void* pointer);
54extern SkwasmObject skwasm_captureImageBitmap(uint32_t context_handle,
55 SkwasmObject image_bitmaps);
57 SkwasmObject image_bitmaps,
58 double raster_start,
59 uint32_t callback_id);
61 SkwasmObject texture_source,
62 int width,
63 int height);
64extern void skwasm_dispatchTriggerContextLoss(unsigned long thread_id,
65 Skwasm::Surface* surface,
66 uint32_t callback_id);
69 uint32_t callback_id);
71 uint32_t callback_id);
72extern void skwasm_destroyContext(uint32_t context_handle);
73extern void skwasm_dispatchTransferCanvas(unsigned long thread_id,
74 Skwasm::Surface* surface,
75 SkwasmObject canvas,
76 uint32_t callback_id);
77extern void skwasm_dispatchDisposeSurface(unsigned long thread_id,
78 Skwasm::Surface* surface);
79extern void skwasm_dispatchRasterizeImage(unsigned long thread_id,
80 Skwasm::Surface* surface,
83 uint32_t callback_id);
85 SkData* data,
86 uint32_t callback_id);
87}
88
89#endif // FLUTTER_SKWASM_SKWASM_SUPPORT_H_
Represents an image whose allocation is (usually) resident on device memory.
Definition dl_image.h:34
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)
SkwasmObject skwasm_getAssociatedObject(void *pointer)
void skwasm_reportContextLossTriggered(Skwasm::Surface *surface, uint32_t callback_id)
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_dispatchRenderPictures(unsigned long thread_id, Skwasm::Surface *surface, sk_sp< flutter::DisplayList > *pictures, int count, uint32_t callback_id)
void skwasm_dispatchTransferCanvas(unsigned long thread_id, Skwasm::Surface *surface, SkwasmObject canvas, uint32_t callback_id)
uint32_t skwasm_getGlContextForCanvas(SkwasmObject canvas, bool antialias, Skwasm::Surface *surface)
void skwasm_dispatchRasterizeImage(unsigned long thread_id, Skwasm::Surface *surface, flutter::DlImage *image, Skwasm::ImageByteFormat format, uint32_t callback_id)
bool skwasm_isSingleThreaded()
void skwasm_reportInitialized(Skwasm::Surface *surface, uint32_t callback_id, uint32_t context_lost_callback_id)
void skwasm_destroyContext(uint32_t context_handle)
void skwasm_resizeCanvas(uint32_t contextHandle, int width, int height)
void skwasm_triggerContextLossOnCanvas()
void skwasm_dispatchResizeSurface(unsigned long thread_id, Skwasm::Surface *surface, int width, int height, uint32_t callback_id)
void skwasm_reportResizeComplete(Skwasm::Surface *surface, uint32_t callback_id)
__externref_t SkwasmObject
unsigned int skwasm_createGlTextureFromTextureSource(SkwasmObject texture_source, int width, int height)
bool skwasm_isWimp()
void skwasm_disposeAssociatedObjectOnThread(unsigned long thread_id, void *pointer)
void skwasm_reportContextLost(Skwasm::Surface *surface, uint32_t callback_id)
void skwasm_dispatchTriggerContextLoss(unsigned long thread_id, Skwasm::Surface *surface, uint32_t callback_id)
void skwasm_dispatchDisposeDlImage(unsigned long thread_id, void *pointer)
void skwasm_setAssociatedObjectOnThread(unsigned long thread_id, void *pointer, SkwasmObject object)