aboutsummaryrefslogtreecommitdiff
path: root/src/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderer')
-rw-r--r--src/renderer/Renderer.cpp10
-rw-r--r--src/renderer/Renderer.hpp2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/renderer/Renderer.cpp b/src/renderer/Renderer.cpp
index 37d90f3..e430039 100644
--- a/src/renderer/Renderer.cpp
+++ b/src/renderer/Renderer.cpp
@@ -61,6 +61,16 @@ Renderer::WorldYToScreenY(float world_y)
return (int32_t)screen_y;
}
+
+V2F32
+Renderer::ScreenPosToViewPos(V2F32 screen_pos)
+{
+ V2F32 view_pos = {};
+ view_pos.x = (screen_pos.x / (float)m_screen_w) * m_camera_w;
+ view_pos.y = (screen_pos.y / (float)m_screen_h) * m_camera_h;
+ return view_pos;
+}
+
void
Renderer::SetClearColor(Color color)
{
diff --git a/src/renderer/Renderer.hpp b/src/renderer/Renderer.hpp
index eaa9630..91a919d 100644
--- a/src/renderer/Renderer.hpp
+++ b/src/renderer/Renderer.hpp
@@ -96,6 +96,8 @@ public:
int32_t WorldWidthToScreenWidth(float w);
int32_t WorldHeightToScreenHeight(float h);
+ V2F32 ScreenPosToViewPos(V2F32 screen_pos);
+
public: