#ifndef MANDELBROT_H #define MANDELBROT_H #include "SDL3/SDL.h" // TODO: GPU shadering option // TODO: flexible window size // TODO: maybe? change colors #define WINDOW_TITLE "Mandelbrot Visualization" #define WINDOW_WIDTH 800 #define WINDOW_HEIGHT 600 typedef struct position_s { double x_min; double x_max; double y_min; double y_max; } position_t; typedef struct state_s { SDL_Window* window; SDL_Surface* surface; SDL_Renderer* renderer; } state_t; // math.c int mandelbrot_iterations(double cr, double ci, int max_iter); void calculate_points(position_t* pos); void mandelbrot_at_point(double cr, double ci, int* iter_out, double* zr_out, double* zi_out); // draw.c // TODO: color struct or something void get_color(int iter, int max_iter, int* r, int* g, int* b); void draw_points(SDL_Surface* surface); #endif