2021-04-24 14:16:02 (UTC-03:00)
Marcel Rodrigues <marcelgmr@gmail.com>
GIF: add support for looping
diff --git a/gif.lua b/gif.lua index eded668..a388508 100644 --- a/gif.lua +++ b/gif.lua @@ -48,11 +48,20 @@ local function new_gifout(f, w, h, colors) f:write(string.char(0, 0, 0)) -- fill unused colors as black i = i + 1 end - -- TODO: write Netscape Application Extension (loop) here self.n = 0 -- # of frames added return self end +function GIFout:set_loop(n) + n = n or 0 + self.f:write("!") + self.f:write(string.char(0xFF, 0x0B)) + self.f:write("NETSCAPE2.0") + self.f:write(string.char(0x03, 0x01)) + write_num(self.f, n) + self.f:write(string.char(0)) +end + function GIFout:set_delay(d) self.f:write("!") self.f:write(string.char(0xF9, 0x04, 0x04))