From 9496ae0a50e6848121c7e913ca2dc55c8e6c84c1 Mon Sep 17 00:00:00 2001 From: admin Date: Tue, 5 Aug 2025 10:11:14 +0200 Subject: rewrote clustering --- include/glamac_render.h | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) (limited to 'include/glamac_render.h') diff --git a/include/glamac_render.h b/include/glamac_render.h index a07e055..899702d 100644 --- a/include/glamac_render.h +++ b/include/glamac_render.h @@ -16,12 +16,12 @@ void draw_filled_circle(SDL_Renderer *renderer, i32 centerX, i32 centerY, i32 ra // UI element rendering void draw_axes(SDL_Renderer *renderer, TTF_Font *font, TTF_Font *titleFont, const ViewState* view); void draw_grid(SDL_Renderer *renderer, const ViewState* view); -void draw_glass_points(SDL_Renderer *renderer, TTF_Font *labelFont, const ViewState* view, GlassCluster* clusters, i32 clusterCount); +void draw_glass_points(SDL_Renderer *renderer, TTF_Font *labelFont, const ViewState* view); void draw_glass_properties(SDL_Renderer *renderer, TTF_Font *font, TTF_Font *titleFont, const ViewState* view); void draw_help_window(SDL_Renderer *renderer, TTF_Font *font, TTF_Font *titleFont, const ViewState* view); // Main render function -void render(SDL_Renderer *renderer, TTF_Font *font, TTF_Font *titleFont, TTF_Font *labelFont, ViewState* view, GlassCluster* clusters, i32 clusterCount); +void render(SDL_Renderer *renderer, TTF_Font *font, TTF_Font *titleFont, TTF_Font *labelFont, ViewState* view); // Font management typedef struct { @@ -40,33 +40,11 @@ b32 load_adaptive_fonts(FontSet *fonts, i32 windowWidth, i32 windowHeight, f32 d void free_fonts(FontSet *fonts); void clear_text_cache(void); -// Simple collision detection structures -typedef struct { - i32 x, y; // Screen position - i32 width, height; // Label dimensions -} LabelRect; - -// Pre-calculated label positions (updated only on catalog changes) -typedef struct { - i32 glassIndex; // Which glass this label belongs to - i32 screenX, screenY; // Fixed screen position - b32 visible; // Whether to show this label - char text[64]; // Label text -} PreCalculatedLabel; - -// Global label positioning system -void recalculate_label_positions(const ViewState* view, GlassCluster* clusters, i32 clusterCount); -void draw_precalculated_labels(SDL_Renderer *renderer, TTF_Font *labelFont, const ViewState* view); -b32 needs_label_recalculation(ViewState* view); - -// Collision detection functions for debug mode -b32 rects_overlap(const LabelRect* a, const LabelRect* b); -b32 label_collides_with_point(const LabelRect* label, i32 pointX, i32 pointY, i32 pointRadius); - -// Advanced label visibility functions for testing +// Simple glass property display helper void calculate_smart_window_position(i32 glassX, i32 glassY, i32 windowWidth, i32 windowHeight, const ViewState* view, i32* windowX, i32* windowY); -f32 calculate_label_priority(i32 glassIndex, const ViewState* view, GlassCluster* clusters, i32 clusterCount); -b32 should_show_label_advanced(i32 glassIndex, const ViewState* view, GlassCluster* clusters, i32 clusterCount); + +// Debug mode check +b32 is_debug_mode(void); #endif /* GLAMAC_RENDER_H */ -- cgit v1.2.3