diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2024-11-28 20:04:59 +0100 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2024-11-28 20:04:59 +0100 |
| commit | 3606c84655eb2bfac76933bc15b68e954e9b3034 (patch) | |
| tree | 409e60d8d21120b3dcc8eb354eef4a4bfa6d0dc0 /src/world.c | |
| parent | 48dcb969a6e7e71bdda8a1438be1e6c96ab28e4e (diff) | |
checkin
Diffstat (limited to 'src/world.c')
| -rw-r--r-- | src/world.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/world.c b/src/world.c index 3c3dbc8..4665a86 100644 --- a/src/world.c +++ b/src/world.c @@ -7,6 +7,7 @@ static void enable_insights_for_current_month(world* world); static vec2f get_world_location_for_job(platform_window* window, world* world, active_job* job);
static employee* get_employee_by_id(world_location* location, u32 id);
static void end_contract_with_employee(world* world, employee* emp);
+vec2f px_to_coords(platform_window* window, double x, double y);
float dotsize = 5;
@@ -586,6 +587,19 @@ world* world_create_new() return new_world;
}
+vec2f px_to_coords(platform_window* window, double x, double y)
+{
+ vec2f extra = {9 * scale, 4 * scale};
+ float orig_lon = x - extra.x - (area.x/zoom);
+ orig_lon = (orig_lon * 360.0f / area.w - 180.0f);
+
+ float orig_lat = y - extra.y - (area.y/zoom);
+ orig_lat = (orig_lat * 180.0f / -area.h + 90.0f);
+
+ vec2f map_pos = {orig_lon, orig_lat};
+ return map_pos;
+}
+
static vec2f coords_to_px(platform_window* window, double lon, double lat)
{
vec2f extra = {9 * scale, 4 * scale};
|
