aboutsummaryrefslogtreecommitdiff
path: root/src/viewport.h
diff options
context:
space:
mode:
authorHarry Jeffery <harry@exec64.co.uk>2017-12-07 21:11:47 +0000
committerHarry Jeffery <harry@exec64.co.uk>2017-12-07 21:11:47 +0000
commit45bf3b3099ba192b115335889e0aaa9381beb879 (patch)
treed689633ae9633b68b5f03ba32f7c334ce64fad49 /src/viewport.h
parent8f3d69f3e83560b168cc43afc57ca52126b81c8d (diff)
downloadimv-45bf3b3099ba192b115335889e0aaa9381beb879.tar.gz
Make viepwort interface opaque
Diffstat (limited to 'src/viewport.h')
-rw-r--r--src/viewport.h25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/viewport.h b/src/viewport.h
index bda55f1..fd7a6cf 100644
--- a/src/viewport.h
+++ b/src/viewport.h
@@ -1,18 +1,11 @@
#ifndef IMV_VIEWPORT_H
#define IMV_VIEWPORT_H
+#include <stdbool.h>
#include <SDL2/SDL.h>
#include "image.h"
-struct imv_viewport {
- SDL_Window *window;
- double scale;
- int x, y;
- int fullscreen;
- int redraw;
- int playing;
- int locked;
-};
+struct imv_viewport;
/* Used to signify how a a user requested a zoom */
enum imv_zoom_source {
@@ -29,11 +22,20 @@ void imv_viewport_free(struct imv_viewport *view);
/* Toggle their viewport's fullscreen mode. Triggers a redraw */
void imv_viewport_toggle_fullscreen(struct imv_viewport *view);
+/* Set playback of animated gifs */
+void imv_viewport_set_playing(struct imv_viewport *view, bool playing);
+
+/* Get playback status of animated gifs */
+bool imv_viewport_is_playing(struct imv_viewport *view);
+
/* Toggle playback of animated gifs */
void imv_viewport_toggle_playing(struct imv_viewport *view);
-/* Reset the viewport to its initial settings */
-void imv_viewport_reset(struct imv_viewport *view);
+/* Fetch viewport offset/position */
+void imv_viewport_get_offset(struct imv_viewport *view, int *x, int *y);
+
+/* Fetch viewport scale */
+void imv_viewport_get_scale(struct imv_viewport *view, double *scale);
/* Pan the view by the given amounts without letting the image get too far
* off-screen */
@@ -71,5 +73,4 @@ int imv_viewport_needs_redraw(struct imv_viewport *view);
#endif
-
/* vim:set ts=2 sts=2 sw=2 et: */