#ifndef DISPLAY_H #define DISPLAY_H void init_draworder(); void updateRenderer(SDL_Renderer* renderer); void resetRenderer(SDL_Renderer* renderer); void drawRectToRenderer(SDL_Renderer* renderer, SDL_Rect* rect, int R, int G, int B, int A); void placeRectToRenderer(SDL_Renderer* renderer, int X, int Y, int W, int H, int R, int G, int B, int A); void placeRectToRendererNoColor(SDL_Renderer* renderer, int X, int Y, int W, int H); void drawLineWithThicc(SDL_Renderer* renderer, int width, int x1, int x2, int y1, int y2, int R, int G, int B, int A); void drawLineWithThiccNoColor(SDL_Renderer* renderer, int width, int x1, int x2, int y1, int y2); void drawLineWithThiccGradient(SDL_Renderer* renderer, int start_width, int end_width, int x1, int x2, int y1, int y2, int R, int G, int B, int A); void drawDigitToRenderer(SDL_Renderer* renderer, imgs data, int digit, int X, int Y, int W, int H); void drawCharToRenderer(SDL_Renderer* renderer, imgs data, char c, int X, int Y, int W, int H); void drawNumberToRenderer(SDL_Renderer* renderer, imgs data, int n, int X, int Y, int W, int H, int Woffset); void drawStringToRenderer(SDL_Renderer* renderer, imgs data, char* s, int X, int Y, int W, int H); double pt_z_distance_to_camera(double x, double y, double z); double segment_z_distance_to_camera(double x0, double y0, double z0, double x1, double y1, double z1); double square_z_distance_to_camera( double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2 ); double cube_z_distance_to_camera(cube_0 cb); void axialRotation_X0(double* y, double* z, double theta); void axialRotation_X(double* y, double* z, double theta, double cst_y, double cst_z); void axialRotation_Y0(double* x, double* z, double theta); void axialRotation_Y(double* x, double* z, double theta, double cst_x, double cst_z); void axialRotation_Z0(double* x, double* y, double theta); void axialRotation_Z(double* x, double* z, double theta, double cst_x, double cst_z); void project_to_camera(double x0, double y0, double z0, double* rx, double* ry, double* rz); void draw_segment(SDL_Renderer* renderer, double sx, double sy, double sz, double ex, double ey, double ez); void drawOutlineOfCube_0(SDL_Renderer* renderer, cube_0 c); void drawCurrentRoom(SDL_Renderer* renderer); void drawData(SDL_Renderer* renderer); void renderTriangleNoProject( SDL_Renderer* renderer, double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, int red, int green, int blue, bool debug ); #endif