diff options
Diffstat (limited to 'marquee.c')
-rw-r--r-- | marquee.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/marquee.c b/marquee.c new file mode 100644 index 0000000..37b2fc4 --- /dev/null +++ b/marquee.c @@ -0,0 +1,20 @@ +#include "marquee.h" +#include <string.h> +marquee_t make_marquee(char* str) { + marquee_t marquee; + marquee.textLength = strlen(str); + marquee.text = malloc(sizeof(char) * (marquee.textLength + 1)); + strcpy(marquee.text, str); + marquee.scrolledBy = 0; + int pixelLength = marquee.textLength * 21; + marquee.scrollMax = 5 + pixelLength; + marquee.doesScroll = pixelLength > 128; + return marquee; +} +void scroll_marquee(marquee_t* marquee, int increment) { + //define the wrap point + int scrollMax = 5 + (marquee->textLength * 21); + //calculate the new scroll amount + int newScroll = marquee->scrolledBy + increment; + marquee->scrolledBy = newScroll <= marquee->scrollMax ? newScroll : 0; +} |