CCIMXDesktop
 
Loading...
Searching...
No Matches
MouseProcessor.h
1#ifndef MOUSEPROCESSOR_H
2#define MOUSEPROCESSOR_H
3#include <QPoint>
4#include <QString>
5#include <functional>
6class MouseRecorder;
8public:
9 using TryFunctor = std::function<bool(MouseRecorder* recorder)>;
10 using ProcessFunctor = std::function<bool(MouseRecorder* recorder)>;
11 MouseProcessor() = delete;
12 explicit MouseProcessor(
13 TryFunctor _try_functor,
14 ProcessFunctor _processing_functor);
15 Q_DISABLE_COPY_MOVE(MouseProcessor);
16 bool try_and_process(MouseRecorder* recorder);
17 inline bool tryProcess(MouseRecorder* recorder) { return try_functor(recorder); }
18 inline bool directProcess(MouseRecorder* recorder) { return processing_functor(recorder); }
19 inline void setNext(MouseProcessor* processor) { next_one = processor; }
20 inline MouseProcessor* next() const { return next_one; }
21 inline bool isEnable() const { return enabled; }
22 inline void setEnable(bool enabled) { this->enabled = enabled; }
23
24 inline QString name() const { return processor_name; }
25 inline void setName(const QString& name) { processor_name = name; }
26 inline void setName(QString&& name) { processor_name = std::move(name); }
27
28private:
29 TryFunctor try_functor;
30 ProcessFunctor processing_functor;
31 MouseProcessor* next_one { nullptr };
32 QString processor_name { "MouseProcessor" };
33 bool enabled { true };
34};
35
36#endif // MOUSEPROCESSOR_H
Definition MouseProcessor.h:7
The MouseRecorder class plain struct for recording mouse.
Definition MouseRecorder.h:9