From 91c024d42e54c3db70fa9693525c0dc2b5e775fc Mon Sep 17 00:00:00 2001 From: admin Date: Wed, 6 Aug 2025 16:24:05 +0200 Subject: last version with windows --- include/glamac/graphics/glamac_view.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/glamac/graphics/glamac_view.h b/include/glamac/graphics/glamac_view.h index a15aaf1..c7b00d9 100644 --- a/include/glamac/graphics/glamac_view.h +++ b/include/glamac/graphics/glamac_view.h @@ -8,8 +8,8 @@ #include "../core/glamacdef.h" // Constants for view -#define MIN_PADDING 15 // Minimum padding in pixels (reduced for small windows) -#define MAX_PADDING_PERCENT 0.06f // Maximum padding as percentage of window size (increased for responsiveness) +#define MIN_PADDING 20 // Minimum padding in pixels +#define MAX_PADDING_PERCENT 0.04f // Maximum padding as percentage of window size #define PAN_STEP 0.05f // Step size for keyboard panning #define ZOOM_FACTOR 1.2f // Zoom factor for zoom operations #define MIN_ZOOM 0.5f // Minimum zoom level @@ -59,6 +59,7 @@ typedef struct { u32 gKeyTime; // Time when 'g' was pressed for sequence timing i32 selectedGlass; // Index of selected glass (-1 if none) b32 viewDirty; // Flag to track if view needs re-rendering + u32 forceRenderFrames; // Number of additional frames to force rendering (for transitions) // Tight clustering data TightCluster* tightClusters; // Array of tight clusters @@ -79,6 +80,13 @@ static inline i32 get_adaptive_padding(const ViewState* view) { return padding > MIN_PADDING ? padding : MIN_PADDING; } +// Helper function to calculate adaptive padding for specific dimensions +static inline i32 get_adaptive_padding_for_size(i32 windowWidth, i32 windowHeight) { + (void)windowHeight; // Suppress unused parameter warning + i32 padding = (i32)(windowWidth * MAX_PADDING_PERCENT); + return padding > MIN_PADDING ? padding : MIN_PADDING; +} + // Convert glass data to screen coordinates with zoom and offset static inline void data_to_screen_coords(f32 abbeNumber, f32 refractiveIndex, const ViewState* view, i32 *x, i32 *y) { -- cgit v1.2.3