45 float extent()
const {
return extent_; }
50 animation_duration_ = std::max(0.0f, seconds);
60 tween_ =
Tween{progress_, 1.0f, animation_duration_, easing_};
69 tween_ =
Tween{progress_, 0.0f, animation_duration_, easing_};
101 progress_ = tween_.advance(dt);
102 if (tween_.finished()) {
121 float extent_ = 240.0f;
122 float animation_duration_ = 0.25f;
126 float progress_ = 0.0f;
Definition side_panel.hpp:32
Edge
Definition side_panel.hpp:34
@ right
Definition side_panel.hpp:34
bool is_open() const
Definition side_panel.hpp:80
void close()
Slide-out tween. Idempotent.
Definition side_panel.hpp:67
Edge edge() const
Definition side_panel.hpp:40
float extent() const
Definition side_panel.hpp:45
State state() const
Definition side_panel.hpp:79
float slide_offset() const
Pixel distance the panel is slid in from the edge (0 → fully hidden, extent → fully visible).
Definition side_panel.hpp:93
State
Definition side_panel.hpp:35
@ closed
Definition side_panel.hpp:35
@ closing
Definition side_panel.hpp:35
@ open
Definition side_panel.hpp:35
@ opening
Definition side_panel.hpp:35
void open()
Slide-in tween.
Definition side_panel.hpp:58
bool is_open_or_opening() const
Definition side_panel.hpp:81
void set_animation_duration(float seconds)
Tween duration in seconds.
Definition side_panel.hpp:49
float animation_duration() const
Definition side_panel.hpp:52
bool is_animating() const
Definition side_panel.hpp:84
void set_easing(EasingFunction ef)
Definition side_panel.hpp:54
void toggle()
Definition side_panel.hpp:74
void advance_animations(float dt) override
Step the slide animation.
Definition side_panel.hpp:99
void set_edge(Edge e)
Definition side_panel.hpp:39
std::function< void(State)> on_state_change
Fires on every State transition (closed→opening, opening→open, open→closing, closing→closed).
Definition side_panel.hpp:117
float progress() const
0 = fully off-screen (closed), 1 = fully on-screen (open).
Definition side_panel.hpp:89
void set_extent(float px)
Pixel extent perpendicular to the edge.
Definition side_panel.hpp:44
Definition animation.hpp:72
void set_visible(bool v)
Show or hide this view.
Definition view.hpp:343
float bottom() const
Definition view.hpp:1800
float top() const
Definition view.hpp:1798
float right() const
Definition view.hpp:1799
float left() const
Definition view.hpp:1801
float ease_out_cubic(float t)
Definition animation.hpp:33
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27
@ px
Absolute pixels.
Definition geometry.hpp:393
@ e
Definition input_events.hpp:39
SidePanel Sidebar
Design-system alias.
Definition side_panel.hpp:136
float(*)(float) EasingFunction
Definition animation.hpp:51