diff options
author | Harry Jeffery <harry@exec64.co.uk> | 2017-12-07 21:11:47 +0000 |
---|---|---|
committer | Harry Jeffery <harry@exec64.co.uk> | 2017-12-07 21:11:47 +0000 |
commit | 45bf3b3099ba192b115335889e0aaa9381beb879 (patch) | |
tree | d689633ae9633b68b5f03ba32f7c334ce64fad49 /src/viewport.c | |
parent | 8f3d69f3e83560b168cc43afc57ca52126b81c8d (diff) | |
download | imv-45bf3b3099ba192b115335889e0aaa9381beb879.tar.gz |
Make viepwort interface opaque
Diffstat (limited to 'src/viewport.c')
-rw-r--r-- | src/viewport.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/viewport.c b/src/viewport.c index a5df9df..65a269b 100644 --- a/src/viewport.c +++ b/src/viewport.c @@ -1,5 +1,15 @@ #include "viewport.h" +struct imv_viewport { + SDL_Window *window; + double scale; + int x, y; + int fullscreen; + int redraw; + int playing; + int locked; +}; + struct imv_viewport *imv_viewport_create(SDL_Window *window) { struct imv_viewport *view = malloc(sizeof(struct imv_viewport)); @@ -27,6 +37,16 @@ void imv_viewport_toggle_fullscreen(struct imv_viewport *view) } } +void imv_viewport_set_playing(struct imv_viewport *view, bool playing) +{ + view->playing = playing; +} + +bool imv_viewport_is_playing(struct imv_viewport *view) +{ + return view->playing; +} + void imv_viewport_toggle_playing(struct imv_viewport *view) { view->playing = !view->playing; @@ -40,6 +60,23 @@ void imv_viewport_scale_to_actual(struct imv_viewport *view, const struct imv_im imv_viewport_center(view, image); } +void imv_viewport_get_offset(struct imv_viewport *view, int *x, int *y) +{ + if(x) { + *x = view->x; + } + if(y) { + *y = view->y; + } +} + +void imv_viewport_get_scale(struct imv_viewport *view, double *scale) +{ + if(scale) { + *scale = view->scale; + } +} + void imv_viewport_move(struct imv_viewport *view, int x, int y, const struct imv_image *image) { |