5#ifndef FLUTTER_FLOW_SURFACE_FRAME_H_
6#define FLUTTER_FLOW_SURFACE_FRAME_H_
11#include "flutter/common/graphics/gl_context_switch.h"
12#include "flutter/display_list/dl_builder.h"
13#include "flutter/display_list/skia/dl_sk_canvas.h"
14#include "flutter/fml/macros.h"
15#include "flutter/fml/time/time_point.h"
63 std::unique_ptr<GLContextResult> context_result =
nullptr,
64 bool display_list_fallback =
false);
103 bool submitted_ =
false;
111 FramebufferInfo framebuffer_info_;
112 SubmitInfo submit_info_;
114 std::unique_ptr<GLContextResult> context_result_;
116 bool PerformSubmit();
Developer-facing API for rendering anything within the engine.
Backend implementation of |DlCanvas| for |SkCanvas|.
std::function< bool(SurfaceFrame &surface_frame, DlCanvas *canvas)> SubmitCallback
SurfaceFrame(sk_sp< SkSurface > surface, FramebufferInfo framebuffer_info, const SubmitCallback &submit_callback, SkISize frame_size, std::unique_ptr< GLContextResult > context_result=nullptr, bool display_list_fallback=false)
void set_submit_info(const SubmitInfo &submit_info)
sk_sp< DisplayList > BuildDisplayList()
sk_sp< SkSurface > SkiaSurface() const
const FramebufferInfo & framebuffer_info() const
const SubmitInfo & submit_info() const
Dart_NativeFunction function
bool supports_partial_repaint
std::optional< SkIRect > existing_damage
int horizontal_clip_alignment
int vertical_clip_alignment
std::optional< SkIRect > frame_damage
std::optional< fml::TimePoint > presentation_time
std::optional< SkIRect > buffer_damage