Frame Color Animations
frame-color-animations demonstrates the animated color modes of
FrameDrawOptions. The demo renders several frame styles side by side,
each with a different FrameColorMode so you can compare one-color,
striped, diagonal, and chasing-border animations in one screen.
It is a good showcase for decorative terminal panels, status frames, and animated dashboards that should stay readable while still feeling alive.
Run the Demo
Start the demo from the build directory:
$ ./cmake-build-debug/demo-apps/frame-color-animations
Press Q to quit.
ANSI Output Example
The following capture shows one frame of the animation gallery:
╭───────────────────────────────────────────────────────────────────────────────────────╮ │ Frame Color Animations │ │ │ │ This is a demo of various frame animation modes. │ │ │ │ ╭──────────────────╮ ┌─────────────────┐ ┏━━━━━━━━━━━━━━━━━┓ ╔═════════════════╗ │ │ │ OneColor │ │ Vertical │ ┃ Horizontal ┃ ║ Forward ║ │ │ │ │ │ │ ┃ ┃ ║ ║ │ │ │ animated frame │ │ animated frame │ ┃ animated frame ┃ ║ animated frame ║ │ │ │ │ │ │ ┃ ┃ ║ ║ │ │ │ │ │ │ ┃ ┃ ║ ║ │ │ ╰──────────────────╯ └─────────────────┘ ┗━━━━━━━━━━━━━━━━━┛ ╚═════════════════╝ │ │ ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜ ┏━━━━━━━━━━━━━━━━━┓ ╭─────────────────╮ │ │ ▌ Backward ▐ ┃ Chasing Border ┃ │ Chasing Border │ │ │ ▌ ▐ ┃ ┃ │ │ │ │ ▌ animated frame ▐ ┃ animated frame ┃ │ animated frame │ │ │ ▌ ▐ ┃ ┃ │ │ │ │ ▌ ▐ ┃ ┃ │ │ │ │ ▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟ ┗━━━━━━━━━━━━━━━━━┛ ╰─────────────────╯ │ │ │ │ Press q to quit. │ │ │ ╰───────────────────────────────────────────────────────────────────────────────────────╯
Features Shown
This demo highlights the frame-animation pipeline:
FrameDrawOptions::setFrameColorSequence()with severalFrameColorModevalues.Animated outer frames plus animated fill colors.
A side-by-side comparison of different
FrameStylevalues.Simple full-screen rendering with one persistent
Buffer.
Relevant Source Files
If you want to explore the implementation, start with:
demo/frame-color-animations/src/FrameColorAnimationsApp.cpp
This file contains the animation loop, the panel layout, and the color sequences for each frame mode.