| Flutter Impeller |

picture.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_IMPELLER_AIKS_PICTURE_H_
6 #define FLUTTER_IMPELLER_AIKS_PICTURE_H_
7
8 #include <deque>
9 #include <memory>
10 #include <optional>
11
12 #include "flutter/fml/macros.h"
13 #include "impeller/aiks/aiks_context.h"
14 #include "impeller/aiks/image.h"
15 #include "impeller/entity/entity.h"
16 #include "impeller/entity/entity_pass.h"
17
18 namespace impeller {
19
20 struct Picture {
21 std::unique_ptr<EntityPass> pass;
22
23 std::optional<Snapshot> Snapshot(AiksContext& context);
24
25 std::shared_ptr<Image> ToImage(AiksContext& context, ISize size) const;
26
27 private:
28 std::shared_ptr<Texture> RenderToTexture(
29 AiksContext& context,
30 ISize size,
31 std::optional<const Matrix> translate = std::nullopt) const;
32 };
33
34 } // namespace impeller
35
36 #endif // FLUTTER_IMPELLER_AIKS_PICTURE_H_
impeller::Picture::pass
std::unique_ptr< EntityPass > pass
Definition: picture.h:21
impeller::AiksContext
Definition: aiks_context.h:20
entity.h
aiks_context.h
impeller::Picture
Definition: picture.h:20
impeller::TSize< int64_t >
impeller::Picture::Snapshot
std::optional< Snapshot > Snapshot(AiksContext &context)
Definition: picture.cc:17
entity_pass.h
impeller::Picture::ToImage
std::shared_ptr< Image > ToImage(AiksContext &context, ISize size) const
Definition: picture.cc:31
image.h
impeller
Definition: aiks_context.cc:10