From c15ecfa48e45e5475b31d109254d0f35c80470b6 Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Wed, 12 Jun 2024 02:27:48 +0100 Subject: basic functionality done --- marquee.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 marquee.c (limited to 'marquee.c') 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 +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; +} -- cgit v1.2.3-70-g09d2