add CoordinateTools

This commit is contained in:
2025-12-07 15:52:23 +08:00
parent b4551b462b
commit 55dc845613
2 changed files with 22 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
#include "CoordinateTools.h"
std::pair<int, int> physicalToLogical(const float screenX, const float screenY, SDL_Renderer* renderer) {
// 将窗口坐标转为逻辑坐标
float logicalX, logicalY;
SDL_RenderCoordinatesFromWindow(
renderer,
static_cast<float>(screenX),
static_cast<float>(screenY),
&logicalX,
&logicalY
);
int mouseX = static_cast<int>(logicalX);
int mouseY = static_cast<int>(logicalY);
return {logicalX, logicalY};
}

View File

@@ -0,0 +1,6 @@
#pragma once
#include <SDL3/SDL.h>
#include <utility>
std::pair<int, int> physicalToLogical(const float screenX, const float screenY, SDL_Renderer* renderer);