image_framecyclemode(3)

πŸ“¦
version 0.7.1 Β· 2 versions
, in nixos 26.05

πŸ’… okay so it’s image_framecyclemode(3) time, bestie πŸ’…

This is the Arcan Lua API page for image_framecyclemode(3) β€” the one about toggling time-triggered active frameset frame cycling. It’s giving utility, it’s giving frame management, and it’s literally all right here.


🌸 NAME 🌸

image_framecyclemode β€” Enable/Disable time-triggered active frameset frame cycling. Like, the name is doing exactly what it says on the tin, no cap.


✨ SYNOPSIS ✨

Here’s the shape of it, bestie β€” and yes, the page literally starts with nil:

nil
image_framecyclemode( vid:dst )
image_framecyclemode( vid:dst, int:time_steps )

So you’ve got the vid:dst form, and the vid:dst, int:time_steps form. That’s the whole vibe.


πŸ’– DESCRIPTION πŸ’–

Every video object with a textured backing store has an active frame defined, which usually refers to the backing store that is allocated during object creation or explicitly updated via image_sharestorage. Periodt. That’s the baseline, okay?

This frame can also be picked from a larger set that is allocated via image_framesetsize and populated via set_image_as_frame. So you’re not stuck with just the one frame β€” there’s a whole little frameset situation going on. ✨

The active frame property can then be managed manually via image_activeframe or automatically via this function. Manual? Automatic? Both valid. We love options. πŸ’…

If called without any time_steps argument, the feature will be disabled. Otherwise, the active frame will be cycled in a (n + 1) % count order at a rate of time_steps ticks on the logic clock. Keep that math exactly as-is, bestie β€” (n + 1) % count, not a typo, not a drill. 😭

Lowkey important: no time_steps means disabled. With time_steps, the cycling is on, at time_steps ticks on the logic clock. That’s the whole toggle, and it’s iconic.

πŸ¦‹ EXAMPLE πŸ¦‹

Here’s the example exactly as it appears β€” copy it like it’s sacred text:

function image_framecyclemode0()
      a = fill_surface(64, 64, 255, 0, 0);
      b = fill_surface(64, 64, 0, 255, 0);
      c = fill_surface(64, 64, 0, 0, 255);
      image_framesetsize(a, 3);
      set_image_as_frame(a, b, 1);
      set_image_as_frame(a, c, 2);
      image_framecyclemode(a, 1);
end

Three surfaces, a frameset size of 3, frames set at 1 and 2, and then image_framecyclemode(a, 1) does its thing. Slay. 🌈


πŸ‘‘ SEE ALSO πŸ‘‘

Go give these their flowers too, bestie:


That’s the whole page, bestie πŸ’– β€” sourced from the image source/version and dated October 2026, with image_framecyclemode(3) energy from start to finish. Byeee πŸ’…πŸŽ€

πŸ“¦ where this page comes from