Voltray Engine Docs
Loading...
Searching...
No Matches
ViewportInput.h
Go to the documentation of this file.
1#pragma once
2
3#include <imgui.h>
4#include <memory>
5
6// Forward declarations
7class BaseCamera;
8class Scene;
9
10namespace Editor::Components
11{
16 {
17 public:
18 ViewportInput() = default;
19 ~ViewportInput() = default;
20
28 void ProcessInput(::Scene &scene, ::BaseCamera &camera, const ImVec2 &viewportPos, const ImVec2 &viewportSize);
29
30 private:
31 void handleObjectSelection(::Scene &scene, ::BaseCamera &camera, const ImVec2 &viewportPos, const ImVec2 &viewportSize);
32 void handleCameraControls();
33
34 bool isMouseInViewport(const ImVec2 &mousePos, const ImVec2 &viewportPos, const ImVec2 &viewportSize) const;
35 ImVec2 getRelativeMousePosition(const ImVec2 &mousePos, const ImVec2 &viewportPos) const;
36 };
37}
Abstract base class for all camera types.
Definition BaseCamera.h:34
Handles input processing and object selection for the viewport.
Definition ViewportInput.h:16
void ProcessInput(::Scene &scene, ::BaseCamera &camera, const ImVec2 &viewportPos, const ImVec2 &viewportSize)
Process input for the viewport.
Definition ViewportInput.cpp:13
Manages a collection of scene objects and provides rendering functionality.
Definition Scene.h:19
Represents the Inspector panel component in the Editor.
Definition Console.cpp:7