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 #pragma once
6 
7 #include <memory>
8 #include <vector>
9 
10 #include "flutter/fml/macros.h"
11 
13 #include "impeller/scene/camera.h"
14 #include "impeller/scene/node.h"
16 
17 namespace impeller {
18 namespace scene {
19 
20 class Scene {
21  public:
22  Scene() = delete;
23 
24  explicit Scene(std::shared_ptr<SceneContext> scene_context);
25 
26  ~Scene();
27 
28  Node& GetRoot();
29 
30  bool Render(const RenderTarget& render_target,
31  const Matrix& camera_transform);
32 
33  bool Render(const RenderTarget& render_target, const Camera& camera);
34 
35  private:
36  std::shared_ptr<SceneContext> scene_context_;
37  Node root_;
38 
39  FML_DISALLOW_COPY_AND_ASSIGN(Scene);
40 };
41 
42 } // namespace scene
43 } // namespace impeller
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:48
impeller::scene::Scene::~Scene
~Scene()
Definition: scene.cc:23
camera.h
impeller::scene::Node
Definition: node.h:29
impeller::scene::Scene
Definition: scene.h:20
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:36
impeller::scene::Camera
Definition: camera.h:14