opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
scene_viewer.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <span>
5
6namespace osc { class SceneCache; }
7namespace osc { struct SceneDecoration; }
8namespace osc { struct SceneRendererParams; }
9
10namespace osc
11{
12 // pumps scenes into a `BasicRenderer` and emits the output as a `ui::Image()`
13 class SceneViewer final {
14 public:
16 SceneViewer(const SceneViewer&) = delete;
18 SceneViewer& operator=(const SceneViewer&) = delete;
19 SceneViewer& operator=(SceneViewer&&) noexcept;
20 ~SceneViewer() noexcept;
21
22 void on_draw(std::span<const SceneDecoration>, const SceneRendererParams&);
23
24 bool is_hovered() const;
25 bool is_left_clicked() const;
26 bool is_right_clicked() const;
27
28 private:
29 class Impl;
30 std::unique_ptr<Impl> impl_;
31 };
32}
Definition scene_cache.h:25
Definition scene_viewer.h:13
SceneViewer(SceneViewer &&) noexcept
bool is_right_clicked() const
bool is_left_clicked() const
bool is_hovered() const
SceneViewer(const SceneViewer &)=delete
void on_draw(std::span< const SceneDecoration >, const SceneRendererParams &)
SceneViewer(SceneCache &)
Definition custom_decoration_generator.h:5
Definition scene_decoration.h:15
Definition scene_renderer_params.h:13