1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /******************************************************************************
- Copyright (C) 2023 by Lain Bailey <[email protected]>
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- ******************************************************************************/
- #pragma once
- #include <obs.hpp>
- #include <QMetaType>
- using namespace std;
- class QPushButton;
- struct QuickTransition {
- QPushButton *button = nullptr;
- OBSSource source;
- obs_hotkey_id hotkey = OBS_INVALID_HOTKEY_ID;
- int duration = 0;
- int id = 0;
- bool fadeToBlack = false;
- inline QuickTransition() {}
- inline QuickTransition(OBSSource source_, int duration_, int id_, bool fadeToBlack_ = false)
- : source(source_),
- duration(duration_),
- id(id_),
- fadeToBlack(fadeToBlack_),
- renamedSignal(std::make_shared<OBSSignal>(obs_source_get_signal_handler(source), "rename",
- SourceRenamed, this))
- {
- }
- private:
- static void SourceRenamed(void *param, calldata_t *data);
- std::shared_ptr<OBSSignal> renamedSignal;
- };
|