#ifndef MANDELBROT_H
#define MANDELBROT_H

#include <SDL2/SDL.h>

#define SCREEN_WIDTH 640
#define SCREEN_HEIGHT 480
#define MAX_ITERATIONS 200
#define FRAMES_TO_CALCULATE_FPS 10 

typedef struct {
    double real;
    double imag;
} Complex;

typedef struct{
    SDL_Window *window;
    SDL_Renderer *renderer;
    int win_height;
    int win_width;
} App ;

typedef struct{
    double x_min;
    double x_max;
    double y_min;
    double y_max;
    double zoom;
} ViewInfo ;

typedef struct{
    int dragging;
    int start_x;
    int start_y;
    ViewInfo original_view;
} Mouse ;

void render(App *app, ViewInfo view, int start_x, int end_x, int start_y, int end_y);

#endif