// // Created by bruno on 4/24/25. // #ifndef FACTORYGAME_UTIL_H #define FACTORYGAME_UTIL_H #include //The window we'll be rendering to extern SDL_Window *window; extern volatile bool running; //The surface contained by the window extern SDL_Renderer *mainRenderer; extern SDL_Rect screenRect; typedef enum { ORIENT_LEFT_DOWN, ORIENT_LEFT, ORIENT_LEFT_UP, ORIENT_UP, ORIENT_RIGHT_UP, ORIENT_RIGHT, ORIENT_RIGHT_DOWN, ORIENT_DOWN, ORIENT_DIRECTION_COUNT } OrientDirection; extern bool debugMode; SDL_Texture *createRotatedTexture(SDL_Renderer *renderer, SDL_Texture *src, double angle); SDL_Texture *createFlippedTexture(SDL_Renderer *renderer, SDL_Texture *src, SDL_RendererFlip flip); SDL_Texture *ScaleTexture(SDL_Renderer *renderer, SDL_Texture *src, int newWidth, int newHeight); void DrawThickRect(SDL_Renderer *renderer, SDL_Rect rect, int thickness); // Define a function pointer type for your callback typedef void (*DirEntryCallback)(const char *filename, SDL_Renderer *renderer); // Helper function to iterate over sorted entries in a directory void iterateSortedDir(const char *path, DirEntryCallback callback, SDL_Renderer *renderer); void renderBar(SDL_Renderer *renderer, int x, int y, int width, int height, int maxValue, int currentValue, SDL_Color barColor, int margin); #endif //FACTORYGAME_UTIL_H