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;
109 FramebufferInfo framebuffer_info_;
110 SubmitInfo submit_info_;
112 std::unique_ptr<GLContextResult> context_result_;
114 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
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
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
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