123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifndef IC_EXPLORER_WINDOW_H
- #define IC_EXPLORER_WINDOW_H
- #include <SDL.h>
- #define AUTOMATIC_SCALE 0.0f
- #define MAX_ZOOM 2.0f
- #define ZOOM_TIME 750
- #define WINDOW_STATE_NORMAL 0
- #define WINDOW_STATE_ZOOMING_IN 1
- #define WINDOW_STATE_ZOOMING_OUT 2
- #define WINDOW_STATE_ZOOMED 3
- typedef struct {
- float x;
- float y;
- } Point;
- typedef struct {
- SDL_Window *obj;
- SDL_Renderer *render;
- SDL_Texture *background;
- Point focus;
- Point targetFocus;
- Point startFocus;
- float zoom;
- int state;
- double nowTime;
- double lastTime;
- double delta;
- } Window;
- Window *windowNew(const char *title, int width, int height);
- void windowDelete(Window *window);
- void windowDraw(Window *window);
- void windowUpdate(Window *window);
- void windowZoomTo(Window *window, float x, float y);
- void windowZoomOut(Window *window);
- #endif /* IC_EXPLORER_WINDOW_H */
|