render timer draft

This commit is contained in:
David Kocik 2020-12-15 16:03:20 +01:00
parent 4d459f37de
commit 0592d15c50
5 changed files with 130 additions and 10 deletions

View file

@ -242,6 +242,8 @@ private:
bool requires_render() const { return m_state == EState::FadingOutRender || m_state == EState::ClosePending || m_state == EState::Finished; }
bool requires_update() const { return m_state != EState::Hidden; }
EState get_state() const { return m_state; }
wxLongLong next_render() const { return m_next_render; }
void reset_start_time() { m_notification_start = wxGetLocalTimeMillis(); }
#endif // ENABLE_NEW_NOTIFICATIONS_FADE_OUT
protected:
@ -297,8 +299,13 @@ private:
int m_countdown_frame { 0 };
bool m_fading_out { false };
#if ENABLE_NEW_NOTIFICATIONS_FADE_OUT
wxMilliClock_t m_fading_start { 0LL };
wxMilliClock_t m_last_render_fading { 0LL };
wxLongLong m_fading_start { 0LL };
// time of last done render when fading
wxLongLong m_last_render_fading { 0LL };
// first appereance of notification or last hover;
wxLongLong m_notification_start;
// time to next must-do render
wxLongLong m_next_render { std::numeric_limits<wxLongLong>::max() };
#else
// total time left when fading beggins
float m_fading_time{ 0.0f };