summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authoradmin <admin@optics-design.com>2025-08-06 16:24:05 +0200
committeradmin <admin@optics-design.com>2025-08-06 16:24:05 +0200
commit91c024d42e54c3db70fa9693525c0dc2b5e775fc (patch)
treeff52dd8da83533a277a8c5d320a5eab7a4d19054 /include
parenta3389f25f786be7139feaca837c86442f7745745 (diff)
last version with windows
Diffstat (limited to 'include')
-rw-r--r--include/glamac/graphics/glamac_view.h12
1 files changed, 10 insertions, 2 deletions
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) {
Back to https://optics-design.com