Files
Seele/src/Editor/Window/SceneView.h
T

40 lines
1.1 KiB
C++
Raw Normal View History

2020-03-05 11:43:38 +01:00
#pragma once
2024-06-09 12:20:04 +02:00
#include "ThreadPool.h"
2022-11-17 16:47:42 +01:00
#include "ViewportControl.h"
2024-06-09 12:20:04 +02:00
#include "Window/View.h"
2022-11-17 16:47:42 +01:00
2024-06-09 12:20:04 +02:00
namespace Seele {
2021-04-01 16:40:14 +02:00
DECLARE_REF(Scene)
2024-06-09 12:20:04 +02:00
namespace Editor {
class SceneView : public View {
public:
SceneView(Gfx::PGraphics graphics, PWindow owner, const ViewportCreateInfo& createInfo);
~SceneView();
2022-11-17 16:47:42 +01:00
2024-06-09 12:20:04 +02:00
virtual void beginUpdate() override;
virtual void update() override;
virtual void commitUpdate() override;
2021-10-01 19:55:04 +02:00
2024-06-09 12:20:04 +02:00
virtual void prepareRender() override;
virtual void render() override;
2021-10-01 19:55:04 +02:00
2024-06-09 12:20:04 +02:00
PScene getScene() const { return scene; }
2021-10-01 19:55:04 +02:00
2024-06-09 12:20:04 +02:00
private:
OScene scene;
Component::Camera viewportCamera;
2024-06-09 12:20:04 +02:00
RenderGraph renderGraph;
ViewportControl cameraSystem;
virtual void keyCallback(KeyCode code, InputAction action, KeyModifier modifier) override;
virtual void mouseMoveCallback(double xPos, double yPos) override;
virtual void mouseButtonCallback(MouseButton button, InputAction action, KeyModifier modifier) override;
virtual void scrollCallback(double xOffset, double yOffset) override;
virtual void fileCallback(int count, const char** paths) override;
2020-04-12 15:47:19 +02:00
};
2021-04-01 16:40:14 +02:00
DEFINE_REF(SceneView)
2022-11-17 16:47:42 +01:00
} // namespace Editor
2020-04-12 15:47:19 +02:00
} // namespace Seele