neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
timer.hpp
Go to the documentation of this file.
1
// timer.hpp
2
/*
3
neogfx C++ App/Game Engine
4
Copyright (c) 2020 Leigh Johnston. All Rights Reserved.
5
6
This program is free software: you can redistribute it and / or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#pragma once
21
22
#include <
neogfx/neogfx.hpp
>
23
#include <
neolib/task/timer.hpp
>
24
#include <
neogfx/core/async_task.hpp
>
25
26
namespace
neogfx
27
{
28
class
i_widget;
29
30
class
widget_timer
:
public
neolib::callback_timer
31
{
32
public
:
33
widget_timer
(
i_widget
& aWidget, std::function<
void
(
widget_timer
&)> aCallback,
const
duration_type
& aDuration_s,
bool
aInitialWait =
true
);
34
template
<
typename
Context>
35
widget_timer
(
i_widget
& aWidget,
const
Context& aContext, std::function<
void
(
widget_timer
&)> aCallback,
const
duration_type
& aDuration_s,
bool
aInitialWait =
true
) :
36
widget_timer
{ aWidget, dynamic_cast<const i_lifetime&>(aContext), aCallback, aDuration_s, aInitialWait } {}
37
widget_timer
(
i_widget
& aWidget,
const
i_lifetime& aContext, std::function<
void
(
widget_timer
&)> aCallback,
const
duration_type
& aDuration_s,
bool
aInitialWait =
true
);
38
public
:
39
std::optional<destroyed_flag>
iContextDestroyed
;
40
};
41
}
neogfx::i_widget
Definition
i_widget.hpp:50
neogfx::widget_timer
Definition
timer.hpp:31
neogfx::widget_timer::widget_timer
widget_timer(i_widget &aWidget, const i_lifetime &aContext, std::function< void(widget_timer &)> aCallback, const duration_type &aDuration_s, bool aInitialWait=true)
neogfx::widget_timer::iContextDestroyed
std::optional< destroyed_flag > iContextDestroyed
Definition
timer.hpp:39
neogfx::widget_timer::widget_timer
widget_timer(i_widget &aWidget, std::function< void(widget_timer &)> aCallback, const duration_type &aDuration_s, bool aInitialWait=true)
neogfx::widget_timer::widget_timer
widget_timer(i_widget &aWidget, const Context &aContext, std::function< void(widget_timer &)> aCallback, const duration_type &aDuration_s, bool aInitialWait=true)
Definition
timer.hpp:35
neolib::callback_timer
Definition
timer.hpp:112
neolib::timer::duration_type
std::chrono::duration< double > duration_type
Definition
timer.hpp:54
neogfx
Definition
action.hpp:28
async_task.hpp
neogfx.hpp
timer.hpp
include
neogfx
gui
widget
timer.hpp
Generated by
1.9.8