Skip to content

Animated Visual Sources

Header: winui/ui/media/AnimatedVisuals.hpp.

class AnimatedBackVisualSource

Derives from ui::LottieIconSource.

The back arrow, for a Back button.

Example:

static const ui::AnimatedBackVisualSource back;
ui::AnimatedIcon{.source = &back, .state = std::string{"Normal"}};

duration

Duration duration() const override

The length of the whole animation, from progress 0 to 1, in milliseconds.

markers

const std::unordered_map<std::string, double>& markers() const override

The named state markers, such as "NormalToPointerOver_Start", and their progress values.

render_icon_frame

void render_icon_frame(Renderer& renderer, const Rect& bounds, double progress, const Color& foreground) const override

Draws the frame at progress (0..1) into bounds, filled and stroked in foreground.

class AnimatedChevronDownSmallVisualSource

Derives from ui::LottieIconSource.

A small downward chevron.

duration

Duration duration() const override

The length of the whole animation, from progress 0 to 1, in milliseconds.

markers

const std::unordered_map<std::string, double>& markers() const override

The named state markers, such as "NormalToPointerOver_Start", and their progress values.

render_icon_frame

void render_icon_frame(Renderer& renderer, const Rect& bounds, double progress, const Color& foreground) const override

Draws the frame at progress (0..1) into bounds, filled and stroked in foreground.

class AnimatedChevronRightDownSmallVisualSource

Derives from ui::LottieIconSource.

A small chevron turning from right to down.

duration

Duration duration() const override

The length of the whole animation, from progress 0 to 1, in milliseconds.

markers

const std::unordered_map<std::string, double>& markers() const override

The named state markers, such as "NormalToPointerOver_Start", and their progress values.

render_icon_frame

void render_icon_frame(Renderer& renderer, const Rect& bounds, double progress, const Color& foreground) const override

Draws the frame at progress (0..1) into bounds, filled and stroked in foreground.

class AnimatedChevronUpDownSmallVisualSource

Derives from ui::LottieIconSource.

A small chevron turning between up and down.

duration

Duration duration() const override

The length of the whole animation, from progress 0 to 1, in milliseconds.

markers

const std::unordered_map<std::string, double>& markers() const override

The named state markers, such as "NormalToPointerOver_Start", and their progress values.

render_icon_frame

void render_icon_frame(Renderer& renderer, const Rect& bounds, double progress, const Color& foreground) const override

Draws the frame at progress (0..1) into bounds, filled and stroked in foreground.

class AnimatedFindVisualSource

Derives from ui::LottieIconSource.

The magnifying glass, for a search button.

Example:

static const ui::AnimatedFindVisualSource find;
ui::AnimatedIcon{.source   = &find,
                 .fallback = ui::symbol_glyph(ui::Symbol::Find),
                 .state    = std::string{"Normal"}};

duration

Duration duration() const override

The length of the whole animation, from progress 0 to 1, in milliseconds.

markers

const std::unordered_map<std::string, double>& markers() const override

The named state markers, such as "NormalToPointerOver_Start", and their progress values.

render_icon_frame

void render_icon_frame(Renderer& renderer, const Rect& bounds, double progress, const Color& foreground) const override

Draws the frame at progress (0..1) into bounds, filled and stroked in foreground.

class AnimatedGlobalNavigationButtonVisualSource

Derives from ui::LottieIconSource.

The three-line navigation menu icon, for a button that opens a navigation pane.

duration

Duration duration() const override

The length of the whole animation, from progress 0 to 1, in milliseconds.

markers

const std::unordered_map<std::string, double>& markers() const override

The named state markers, such as "NormalToPointerOver_Start", and their progress values.

render_icon_frame

void render_icon_frame(Renderer& renderer, const Rect& bounds, double progress, const Color& foreground) const override

Draws the frame at progress (0..1) into bounds, filled and stroked in foreground.

class AnimatedSettingsVisualSource

Derives from ui::LottieIconSource.

The settings gear.

duration

Duration duration() const override

The length of the whole animation, from progress 0 to 1, in milliseconds.

markers

const std::unordered_map<std::string, double>& markers() const override

The named state markers, such as "NormalToPointerOver_Start", and their progress values.

render_icon_frame

void render_icon_frame(Renderer& renderer, const Rect& bounds, double progress, const Color& foreground) const override

Draws the frame at progress (0..1) into bounds, filled and stroked in foreground.

Tests

  • tests/test_animated_icon.cpp