diff options
author | Kai Stevenson <kai@kaistevenson.com> | 2024-06-12 02:27:48 +0100 |
---|---|---|
committer | Kai Stevenson <kai@kaistevenson.com> | 2024-06-12 02:27:48 +0100 |
commit | c15ecfa48e45e5475b31d109254d0f35c80470b6 (patch) | |
tree | 36c97d0c2b34b5a535111de91cab09aefe9a5d77 /marquee.c | |
parent | 37a2e3605b29822e6bac1bacd54e8f7497bde6a7 (diff) |
basic functionality done
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; +} |