Flutter Engine
The Flutter Engine
embedder_render_target_impeller.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_RENDER_TARGET_IMPELLER_H_
6#define FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_RENDER_TARGET_IMPELLER_H_
7
8#include "flutter/shell/platform/embedder/embedder_render_target.h"
9
10namespace flutter {
11
13 public:
15 FlutterBackingStore backing_store,
16 std::shared_ptr<impeller::AiksContext> aiks_context,
17 std::unique_ptr<impeller::RenderTarget> impeller_target,
18 fml::closure on_release,
19 fml::closure framebuffer_destruction_callback);
20
21 // |EmbedderRenderTarget|
23
24 // |EmbedderRenderTarget|
25 sk_sp<SkSurface> GetSkiaSurface() const override;
26
27 // |EmbedderRenderTarget|
29
30 // |EmbedderRenderTarget|
31 std::shared_ptr<impeller::AiksContext> GetAiksContext() const override;
32
33 // |EmbedderRenderTarget|
34 SkISize GetRenderTargetSize() const override;
35
36 private:
37 std::shared_ptr<impeller::AiksContext> aiks_context_;
38 std::unique_ptr<impeller::RenderTarget> impeller_target_;
39 fml::closure framebuffer_destruction_callback_;
40
41 FML_DISALLOW_COPY_AND_ASSIGN(EmbedderRenderTargetImpeller);
42};
43
44} // namespace flutter
45
46#endif // FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_RENDER_TARGET_IMPELLER_H_
sk_sp< SkSurface > GetSkiaSurface() const override
A render surface the rasterizer can use to draw into the backing store of this render target.
impeller::RenderTarget * GetImpellerRenderTarget() const override
An impeller render target the rasterizer can use to draw into the backing store.
SkISize GetRenderTargetSize() const override
Returns the size of the render target.
std::shared_ptr< impeller::AiksContext > GetAiksContext() const override
Returns the AiksContext that should be used for rendering, if this render target is backed by Impelle...
EmbedderRenderTargetImpeller(FlutterBackingStore backing_store, std::shared_ptr< impeller::AiksContext > aiks_context, std::unique_ptr< impeller::RenderTarget > impeller_target, fml::closure on_release, fml::closure framebuffer_destruction_callback)
Describes a surface whose backing store is managed by the embedder. The type of surface depends on th...
std::function< void()> closure
Definition: closure.h:14
Definition: SkSize.h:16