5#ifndef FLUTTER_LIB_UI_COMPOSITING_SCENE_BUILDER_H_
6#define FLUTTER_LIB_UI_COMPOSITING_SCENE_BUILDER_H_
12#include "flutter/flow/layers/container_layer.h"
13#include "flutter/lib/ui/compositing/scene.h"
14#include "flutter/lib/ui/dart_wrapper.h"
15#include "flutter/lib/ui/painting/color_filter.h"
16#include "flutter/lib/ui/painting/engine_layer.h"
17#include "flutter/lib/ui/painting/image_filter.h"
18#include "flutter/lib/ui/painting/path.h"
19#include "flutter/lib/ui/painting/picture.h"
20#include "flutter/lib/ui/painting/rrect.h"
21#include "flutter/lib/ui/painting/shader.h"
27 DEFINE_WRAPPERTYPEINFO();
33 auto res = fml::MakeRefCounted<SceneBuilder>();
34 res->AssociateWithDartWrapper(wrapper);
42 tonic::Float64List matrix4(matrix4_handle);
46 tonic::Float64List& matrix4,
89 double maskRectBottom,
91 int filterQualityIndex,
122 const std::vector<std::shared_ptr<ContainerLayer>>&
layer_stack() {
129 void AddLayer(std::shared_ptr<Layer> layer);
130 void PushLayer(std::shared_ptr<ContainerLayer> layer);
133 std::vector<std::shared_ptr<ContainerLayer>> layer_stack_;
static sk_sp< SkImage > color_filter(const SkImage *image, SkColorFilter *colorFilter)
void pushOffset(Dart_Handle layer_handle, double dx, double dy, const fml::RefPtr< EngineLayer > &oldLayer)
void pushTransformHandle(Dart_Handle layer_handle, Dart_Handle matrix4_handle, const fml::RefPtr< EngineLayer > &oldLayer)
void pushBackdropFilter(Dart_Handle layer_handle, ImageFilter *filter, int blendMode, const fml::RefPtr< EngineLayer > &oldLayer)
void addTexture(double dx, double dy, double width, double height, int64_t textureId, bool freeze, int filterQuality)
void build(Dart_Handle scene_handle)
void pushShaderMask(Dart_Handle layer_handle, Shader *shader, double maskRectLeft, double maskRectRight, double maskRectTop, double maskRectBottom, int blendMode, int filterQualityIndex, const fml::RefPtr< EngineLayer > &oldLayer)
const std::vector< std::shared_ptr< ContainerLayer > > & layer_stack()
static void Create(Dart_Handle wrapper)
void pushClipRect(Dart_Handle layer_handle, double left, double right, double top, double bottom, int clipBehavior, const fml::RefPtr< EngineLayer > &oldLayer)
void pushClipPath(Dart_Handle layer_handle, const CanvasPath *path, int clipBehavior, const fml::RefPtr< EngineLayer > &oldLayer)
void addPlatformView(double dx, double dy, double width, double height, int64_t viewId)
void pushClipRRect(Dart_Handle layer_handle, const RRect &rrect, int clipBehavior, const fml::RefPtr< EngineLayer > &oldLayer)
void addRetained(const fml::RefPtr< EngineLayer > &retainedLayer)
void pushImageFilter(Dart_Handle layer_handle, const ImageFilter *image_filter, double dx, double dy, const fml::RefPtr< EngineLayer > &oldLayer)
void addPicture(double dx, double dy, Picture *picture, int hints)
void addPerformanceOverlay(uint64_t enabledOptions, double left, double right, double top, double bottom)
void pushTransform(Dart_Handle layer_handle, tonic::Float64List &matrix4, const fml::RefPtr< EngineLayer > &oldLayer)
void pushColorFilter(Dart_Handle layer_handle, const ColorFilter *color_filter, const fml::RefPtr< EngineLayer > &oldLayer)
void pushOpacity(Dart_Handle layer_handle, int alpha, double dx, double dy, const fml::RefPtr< EngineLayer > &oldLayer)
static void ThrowIfUIOperationsProhibited()
struct _Dart_Handle * Dart_Handle
sk_sp< const SkPicture > picture
skia_private::AutoTArray< sk_sp< SkImageFilter > > filters TypedMatrix matrix TypedMatrix matrix SkScalar dx
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path