5 #ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_EXTERNAL_VIEW_H_ 6 #define FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_EXTERNAL_VIEW_H_ 9 #include <unordered_map> 10 #include <unordered_set> 12 #include "flutter/flow/embedded_views.h" 13 #include "flutter/fml/hash_combine.h" 14 #include "flutter/fml/macros.h" 15 #include "flutter/shell/common/canvas_spy.h" 16 #include "flutter/shell/platform/embedder/embedder_render_target.h" 17 #include "third_party/skia/include/core/SkPictureRecorder.h" 30 : platform_view_id(view_id) {}
55 SkISize p_surface_size)
56 : view_identifier(p_view_identifier), surface_size(p_surface_size) {}
82 std::unique_ptr<EmbedderExternalView>,
87 const SkMatrix& surface_transformation);
90 const SkMatrix& surface_transformation,
91 ViewIdentifier view_identifier,
92 std::unique_ptr<EmbeddedViewParams> params);
115 const SkISize render_surface_size_;
116 const SkMatrix surface_transformation_;
117 ViewIdentifier view_identifier_;
118 std::unique_ptr<EmbeddedViewParams> embedded_view_params_;
119 std::unique_ptr<SkPictureRecorder> recorder_;
120 std::unique_ptr<CanvasSpy> canvas_spy_;
127 #endif // FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_EXTERNAL_VIEW_H_ constexpr std::size_t HashCombine()
SkCanvas * GetCanvas() const
ViewIdentifier GetViewIdentifier() const
constexpr bool operator()(const ViewIdentifier &lhs, const ViewIdentifier &rhs) const
bool HasEngineRenderedContents() const
bool operator()(const RenderTargetDescriptor &lhs, const RenderTargetDescriptor &rhs) const
const EmbeddedViewParams * GetEmbeddedViewParams() const
Describes a surface whose backing store is managed by the embedder. The type of surface depends on th...
constexpr std::size_t operator()(const RenderTargetDescriptor &desc) const
RenderTargetDescriptor CreateRenderTargetDescriptor() const
ViewIdentifier view_identifier
RenderTargetDescriptor(ViewIdentifier p_view_identifier, SkISize p_surface_size)
ViewIdentifier(PlatformViewID view_id)
SkISize GetRenderSurfaceSize() const
bool HasPlatformView() const
constexpr std::size_t operator()(const ViewIdentifier &desc) const
EmbedderExternalView(const SkISize &frame_size, const SkMatrix &surface_transformation)
std::optional< PlatformViewID > platform_view_id
std::unordered_set< ViewIdentifier, ViewIdentifier::Hash, ViewIdentifier::Equal > ViewIdentifierSet
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
std::unordered_map< ViewIdentifier, std::unique_ptr< EmbedderExternalView >, ViewIdentifier::Hash, ViewIdentifier::Equal > PendingViews
bool Render(const EmbedderRenderTarget &render_target)