blob: fb4f8f9159204cc70e9c479cf6e28e62733a185c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#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 = 60 + pixelLength;
marquee.doesScroll = pixelLength > 128;
return marquee;
}
void scroll_marquee(marquee_t* marquee, int increment) {
//define the wrap point
//calculate the new scroll amount
int newScroll = marquee->scrolledBy + increment;
marquee->scrolledBy = newScroll <= marquee->scrollMax ? newScroll : 0;
}
|