mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-04-05 00:35:46 -05:00
28 lines
736 B
C++
28 lines
736 B
C++
#pragma once
|
|
#include "macro-segment.hpp"
|
|
#include "macro-ref.hpp"
|
|
|
|
class MacroAction : public MacroSegment {
|
|
public:
|
|
MacroAction(Macro *m, bool supportsVariableValue = false);
|
|
virtual ~MacroAction() = default;
|
|
virtual bool PerformAction() = 0;
|
|
virtual bool Save(obs_data_t *obj) const = 0;
|
|
virtual bool Load(obs_data_t *obj) = 0;
|
|
virtual void LogAction() const;
|
|
};
|
|
|
|
class MacroRefAction : virtual public MacroAction {
|
|
public:
|
|
MacroRefAction(Macro *m, bool supportsVariableValue = false);
|
|
void ResolveMacroRef();
|
|
MacroRef _macro;
|
|
};
|
|
|
|
class MultiMacroRefAction : virtual public MacroAction {
|
|
public:
|
|
MultiMacroRefAction(Macro *m, bool supportsVariableValue = false);
|
|
void ResolveMacroRef();
|
|
std::vector<MacroRef> _macros;
|
|
};
|