5#ifndef FLUTTER_FLOW_SURFACE_FRAME_H_
6#define FLUTTER_FLOW_SURFACE_FRAME_H_
17#include "third_party/skia/include/core/SkSurface.h"
68 std::unique_ptr<GLContextResult> context_result =
nullptr,
69 bool display_list_fallback =
false);
130 user_data_ = std::move(
data);
134 return std::move(user_data_);
138 bool submitted_ =
false;
139 bool encoded_ =
false;
144 sk_sp<DisplayListBuilder> dl_builder_;
145 sk_sp<SkSurface> surface_;
147 FramebufferInfo framebuffer_info_;
148 SubmitInfo submit_info_;
151 std::shared_ptr<impeller::Surface> user_data_;
152 std::unique_ptr<GLContextResult> context_result_;
154 bool PerformSubmit();
156 bool PerformEncode();
Developer-facing API for rendering anything within the engine.
Backend implementation of |DlCanvas| for |SkCanvas|.
void set_submit_info(const SubmitInfo &submit_info)
sk_sp< DisplayList > BuildDisplayList()
std::shared_ptr< impeller::Surface > take_user_data()
sk_sp< SkSurface > SkiaSurface() const
void set_user_data(std::shared_ptr< impeller::Surface > data)
const FramebufferInfo & framebuffer_info() const
std::function< bool(SurfaceFrame &surface_frame, DlCanvas *canvas)> EncodeCallback
std::function< bool(SurfaceFrame &surface_frame)> SubmitCallback
const SubmitInfo & submit_info() const
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot data
bool supports_partial_repaint
std::optional< DlIRect > existing_damage
int horizontal_clip_alignment
int vertical_clip_alignment
std::optional< DlIRect > frame_damage
bool present_with_transaction
std::optional< DlIRect > buffer_damage
std::optional< fml::TimePoint > presentation_time