From c95faf32a6a98975828717d596ff51dedeecdf56 Mon Sep 17 00:00:00 2001 From: Dien-Nhung Nguyen Date: Tue, 27 Aug 2024 20:08:24 +0700 Subject: Add animations (#15) * animation: add xbm animations * refactor: correct framebuffer terminology * animation: add animations and effect * animation: timing with TMOS scheduler --- src/animation.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/animation.h (limited to 'src/animation.h') diff --git a/src/animation.h b/src/animation.h new file mode 100644 index 0000000..cd8ea8e --- /dev/null +++ b/src/animation.h @@ -0,0 +1,34 @@ +#ifndef __ANIMATION_H__ +#define __ANIMATION_H__ + +#include + +#include "xbm.h" + +int ani_xbm_next_frame(xbm_t *xbm, uint16_t *fb, int col, int row); +int ani_xbm_scroll_up(xbm_t *xbm, int vh, uint16_t *fb, int col, int row); +int ani_xbm_scrollup_pad( xbm_t *xbm, int vh, int pt, int pb, + uint16_t *fb, int col, int row); +int ani_xbm_scrollup_inf(xbm_t *xbm, uint16_t *fb, + int vh, int col, int row); + +void fb_fill(uint16_t *fb, uint16_t v); +void ani_shift_y(bm_t *bm, uint16_t *fb, int dir, int frame); + +void ani_scroll_x(bm_t *bm, uint16_t *fb, int dir); +void ani_scroll_y(bm_t *bm, uint16_t *fb); + +void ani_scroll_left(bm_t *bm, uint16_t *fb); +void ani_scroll_right(bm_t *bm, uint16_t *fb); +void ani_scroll_up(bm_t *bm, uint16_t *fb); +void ani_scroll_down(bm_t *bm, uint16_t *fb); +void ani_fixed(bm_t *bm, uint16_t *fb); +void ani_laser(bm_t *bm, uint16_t *fb); +void ani_snowflake(bm_t *bm, uint16_t *fb); +void ani_animation(bm_t *bm, uint16_t *fb); +void ani_picture(bm_t *bm, uint16_t *fb); + +void ani_marque(bm_t *bm, uint16_t *fb, int step); +void ani_flash(bm_t *bm, uint16_t *fb, int step); + +#endif /* __ANIMATION_H__ */ -- cgit v1.2.3