![]() |
Heart 1.3.880.d32293b
Heart is base back end library for your c++ Qt projects.
|
The AsyncRenderLoop is a class for asynchronous rendering. This class is used to create a render loop that is executed in a separate thread. To use this class, you must inherit from it and implement the renderIteration method. example: : More...
#include <asyncrenderloop.h>
Classes | |
class | MainSharedPtr |
The MainSharedPtr class is a helper class for creating a shared pointer to the render loop. More... | |
Public Member Functions | |
AsyncRenderLoop (QThread *thread, QObject *ptr=nullptr) | |
~AsyncRenderLoop () | |
virtual void | run () |
run This method starts the render loop. | |
void | stop () |
stop This method stops the render loop. | |
bool | isRun () const |
isRun This method returns the state of the render loop. | |
![]() | |
bool | asyncLauncher (const Job &job, bool await=false, bool freaze=true) const |
asyncLauncher This method invoke a job on the thread (using the asyncHandler method) of this object. | |
Static Public Member Functions | |
template<typename Type , typename... Args> | |
static MainSharedPtr< Type > | createMainPtr (Args &&...arguments) |
createMainPtr This method creates a shared pointer to the render loop. | |
Protected Member Functions | |
virtual void | renderIteration (int mmsec)=0 |
renderIteration This method is called in each iteration of the render loop. This method must be implemented in the derived class. | |
![]() | |
Async (QThread *thread, QObject *ptr=nullptr) | |
Async This is default constructor of the async object. | |
~Async () | |
bool | waitFor (bool *condition, int timeout=WAIT_TIME, bool freaze=true) const |
waitFor This is base wait function. | |
bool | waitFor (const Job &condition, int timeout=WAIT_TIME, bool freaze=true) const |
waitFor This is base wait function. | |
Additional Inherited Members | |
![]() | |
using | Job = std::function< bool()> |
The AsyncRenderLoop is a class for asynchronous rendering. This class is used to create a render loop that is executed in a separate thread. To use this class, you must inherit from it and implement the renderIteration method. example: :
Example:
Definition at line 58 of file asyncrenderloop.h.
QH::AsyncRenderLoop::AsyncRenderLoop | ( | QThread * | thread, |
QObject * | ptr = nullptr |
||
) |
Definition at line 14 of file asyncrenderloop.cpp.
QH::AsyncRenderLoop::~AsyncRenderLoop | ( | ) |
|
inlinestatic |
createMainPtr This method creates a shared pointer to the render loop.
Type | type of the render loop object. |
Args | arguments for the constructor of the render loop object. |
arguments | arguments for the constructor of the render loop object. |
Definition at line 151 of file asyncrenderloop.h.
bool QH::AsyncRenderLoop::isRun | ( | ) | const |
isRun This method returns the state of the render loop.
Definition at line 52 of file asyncrenderloop.cpp.
|
protectedpure virtual |
|
virtual |
run This method starts the render loop.
Definition at line 30 of file asyncrenderloop.cpp.
void QH::AsyncRenderLoop::stop | ( | ) |
stop This method stops the render loop.
Definition at line 43 of file asyncrenderloop.cpp.