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 count,
36 uint32_t callback_id);
38 Skwasm::Surface* surface);
40 uint32_t callback_id,
41 uint32_t context_lost_callback_id);
43 uint32_t callback_id);
44extern void skwasm_dispatchResizeSurface(unsigned long thread_id,
45 Skwasm::Surface* surface,
46 int width,
47 int height,
48 uint32_t callback_id);
49extern void skwasm_resizeCanvas(uint32_t contextHandle, int width, int height);
50extern SkwasmObject skwasm_captureImageBitmap(uint32_t context_handle,
51 SkwasmObject image_bitmaps);
53 SkwasmObject image_bitmaps,
54 double raster_start,
55 uint32_t callback_id);
57 SkwasmObject texture_source,
58 int width,
59 int height);
60extern void skwasm_dispatchTriggerContextLoss(unsigned long thread_id,
61 Skwasm::Surface* surface,
62 uint32_t callback_id);
65 uint32_t callback_id);
67 uint32_t callback_id);
68extern void skwasm_destroyContext(uint32_t context_handle);
69extern void skwasm_dispatchTransferCanvas(unsigned long thread_id,
70 Skwasm::Surface* surface,
71 SkwasmObject canvas,
72 uint32_t callback_id);
73extern void skwasm_dispatchDisposeSurface(unsigned long thread_id,
74 Skwasm::Surface* surface);
75extern void skwasm_dispatchRasterizeImage(unsigned long thread_id,
76 Skwasm::Surface* surface,
79 uint32_t callback_id);
81 SkData* data,
82 uint32_t callback_id);
83}
84
85#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)
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)
uint32_t skwasm_getGlContextForCanvas(SkwasmObject canvas, Skwasm::Surface *surface)
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)
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)
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_setAssociatedObjectOnThread(unsigned long thread_id, void *pointer, SkwasmObject object)
std::shared_ptr< const fml::Mapping > data