WIP: checkpoint geocaching before main integration

This commit is contained in:
Trail Mate Dev
2026-09-24 08:47:53 +08:00
parent d7a2f35328
commit 3d65ece83d
244 changed files with 25291 additions and 126 deletions
@@ -0,0 +1,11 @@
#pragma once
#include "lvgl.h"
#include "ui/page/page_host.h"
#include "ui_presentation/geocaching/geocaching_source.h"
namespace geocaching::ui::shell
{
void bind(::ui::geocaching::Source* source);
void enter(void* user_data, lv_obj_t* parent);
void exit(void* user_data, lv_obj_t* parent);
} // namespace geocaching::ui::shell
@@ -1,6 +1,7 @@
#pragma once
#include "ui/screens/gps/gps_page_shell.h"
#include "ui_presentation/map/map_overlay_snapshot.h"
#include <cstdint>
@@ -8,6 +9,16 @@ namespace gps::ui::runtime
{
bool is_available();
struct MapTarget
{
int32_t latitude_e7 = 0, longitude_e7 = 0;
char name[97]{};
void* overlay_context = nullptr;
void (*append_overlays)(void*, ::ui::map::MapOverlaySnapshot&) = nullptr;
void (*select_overlay)(void*, uint32_t) = nullptr;
};
// Target is borrowed until exit; caller owns its lifetime.
bool enter_target(const shell::Host* host, lv_obj_t* parent, const MapTarget& target);
void enter(const shell::Host* host,
lv_obj_t* parent,
shell::Projection projection = shell::Projection::Map);
@@ -84,6 +84,7 @@ enum class GesturePhase : uint8_t
DragUpdate,
DragEnd,
Cancel,
Tapped,
};
struct GestureEvent