reset_image_transform(3)

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

πŸŽ€ reset_image_transform(3) β€” Arcan Lua API ✨

πŸ’– NAME πŸ’–

reset_image_transform β€” drop all ongoing transformations. periodt. πŸ’…

🌈 SYNOPSIS 🌈

left_blend, left_move, left_rotate, left_scale
reset_image_transform( vid )
reset_image_transform( vid:id, int:mask )

✨ DESCRIPTION ✨

Okay so sometimes there are queued events that should be cancelled out due to unforeseen changes. This is especially typical when transformations are initated as part as some input or client event handler β€” like pushing a button to move a cursor indicating a selected item, or invoking a keybinding that triggers new animations. 😭 No cap.

To prevent these from stacking up, reset_image_transformation can first be called to flush the queue, and the return values are the number of ticks left to the next item in the chain before flushing. The synopsis lists those return slots as left_blend, left_move, left_rotate, left_scale. Those values could then be used to schedule the new transform and make sure that the total would take 'as long' time as the previously scheduled one would have been. 🫢

If a mask is provided, only the specific transforms are reset. The mask values β€” MASK_POSITION, MASK_ORIENTATION, MASK_SCALE, MASK_OPACITY β€” can be bit.or:ed together. This is highkey helpful when you have different parts of a codebase responsible for different transforms and do not want them to interfere with each other. πŸ’–

πŸ¦‹ NOTES πŸ¦‹

  1. This will not revert the object back to a previous state, but rather stop at whatever part of the chain was currently being processed. It's giving freeze-frame, not rewind, bestie. 🧚

πŸ”₯ EXAMPLE πŸ”₯

       function reset_image_transform0()
             a = fill_surface(20, 20, 255, 0, 0);
             show_image(a);
             move_image(a, 100, 100, 10);
             clock_c = 5;
       end
       function main_clock_pulse()
             if (clock_c > 0) then
                   clock_c = clock_c - 1;
                   if (clock_c == 0) then
                         reset_image_transform(a);
                   end
             end
       end

πŸ‘‘ SEE ALSO πŸ‘‘


πŸ’– that's the page, bestie β€” from the image manual, dated October 2026. stay slaying! πŸŽ€
πŸ“¦ where this page comes from