1.1 --- a/include/viewport.h Sat Nov 10 19:06:08 2018 +0100
1.2 +++ b/include/viewport.h Sat Nov 10 19:20:13 2018 +0100
1.3 @@ -53,12 +53,27 @@
1.4
1.5
1.6
1.7 +/* Initialise a viewport.
1.8 +
1.9 + Viewport(<name>, display_config_t *cfg, int xscale, int yscale, void (*update)())
1.10 +*/
1.11 +
1.12 +#define Viewport(NAME, CFG, XSCALE, YSCALE, UPDATE) \
1.13 + int __##NAME##_xorigins[(CFG)->frames]; \
1.14 + int __##NAME##_yorigins[(CFG)->frames]; \
1.15 + viewport_t NAME = { \
1.16 + .cfg=CFG, \
1.17 + .xorigins=__##NAME##_xorigins, \
1.18 + .yorigins=__##NAME##_yorigins, \
1.19 + .xorigin=0, \
1.20 + .yorigin=0, \
1.21 + .xscale=XSCALE, \
1.22 + .yscale=YSCALE, \
1.23 + .update=UPDATE};
1.24 +
1.25 /* Viewport operations. */
1.26
1.27 -void init_viewport(viewport_t *v, display_config_t *cfg,
1.28 - int xorigins[], int yorigins[],
1.29 - int xscale, int yscale,
1.30 - void (*update)());
1.31 +void viewport_set_origin(viewport_t *v, int xorigin, int yorigin);
1.32
1.33 void viewport_update_origin(viewport_t *v, int dx, int dy);
1.34