summaryrefslogtreecommitdiff
path: root/include/glamac_view.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/glamac_view.h')
-rw-r--r--include/glamac_view.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/glamac_view.h b/include/glamac_view.h
index 21f273f..9eec63a 100644
--- a/include/glamac_view.h
+++ b/include/glamac_view.h
@@ -45,11 +45,21 @@ typedef struct {
u32 gKeyTime; // Time when 'g' was pressed for sequence timing
i32 selectedGlass; // Index of selected glass (-1 if none)
i32 selectedCluster; // Index of selected cluster (-1 if none)
+
+ // Label recalculation tracking
+ f32 lastZoomLevel; // Last zoom level for which labels were calculated
+ i32 lastWindowWidth; // Last window width for labels
+ i32 lastWindowHeight; // Last window height for labels
+ f32 lastOffsetX; // Last X offset for labels
+ f32 lastOffsetY; // Last Y offset for labels
} ViewState;
// Initialize a view state with default values
void init_view_state(ViewState* view, i32 windowWidth, i32 windowHeight);
+// Refresh view state data range when catalog changes
+void refresh_view_data_range(ViewState* view);
+
// Helper function to calculate adaptive padding
static inline i32 get_adaptive_padding(const ViewState* view) {
i32 padding = (i32)(view->windowWidth * MAX_PADDING_PERCENT);
Back to https://optics-design.com