Files
factorygame/util/util.h

52 lines
1.4 KiB
C

//
// Created by bruno on 4/24/25.
//
#ifndef FACTORYGAME_UTIL_H
#define FACTORYGAME_UTIL_H
#include <SDL2/SDL.h>
//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