| Flutter Impeller |

scene.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_SCENE_SCENE_H_
6 #define FLUTTER_IMPELLER_SCENE_SCENE_H_
7
8 #include <memory>
9 #include <vector>
10
11 #include "flutter/fml/macros.h"
12
13 #include "impeller/renderer/render_target.h"
14 #include "impeller/scene/camera.h"
15 #include "impeller/scene/node.h"
16 #include "impeller/scene/scene_context.h"
17
18 namespace impeller {
19 namespace scene {
20
21 class Scene {
22 public:
23 Scene() = delete;
24
25 explicit Scene(std::shared_ptr<SceneContext> scene_context);
26
27 ~Scene();
28
29 Node& GetRoot();
30
31 bool Render(const RenderTarget& render_target,
32 const Matrix& camera_transform);
33
34 bool Render(const RenderTarget& render_target, const Camera& camera);
35
36 private:
37 std::shared_ptr<SceneContext> scene_context_;
38 Node root_;
39
40 Scene(const Scene&) = delete;
41
42 Scene& operator=(const Scene&) = delete;
43 };
44
45 } // namespace scene
46 } // namespace impeller
47
48 #endif // FLUTTER_IMPELLER_SCENE_SCENE_H_
scene_context.h
impeller::scene::Scene::Scene
Scene()=delete
impeller::scene::Scene::GetRoot
Node & GetRoot()
Definition: scene.cc:29
node.h
impeller::RenderTarget
Definition: render_target.h:49
impeller::scene::Scene::~Scene
~Scene()
Definition: scene.cc:23
camera.h
impeller::scene::Node
Definition: node.h:30
impeller::scene::Scene
Definition: scene.h:21
render_target.h
impeller::scene::Scene::Render
bool Render(const RenderTarget &render_target, const Matrix &camera_transform)
Definition: scene.cc:33
impeller
Definition: aiks_context.cc:10
impeller::Matrix
A 4x4 matrix using column-major storage.
Definition: matrix.h:37
impeller::scene::Camera
Definition: camera.h:15