Skip to content

Commit 4d94426

Browse files
committed
frontend: scaffold for clipboard service and serializer
1 parent 686ee75 commit 4d94426

5 files changed

Lines changed: 94 additions & 0 deletions

File tree

frontend/cmake/ui-utility.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ target_sources(
2828
utility/MultitrackVideoOutput.cpp
2929
utility/MultitrackVideoOutput.hpp
3030
utility/NativeEventFilter.hpp
31+
utility/OBSClipboardService.hpp
32+
utility/OBSClipboardService.cpp
33+
utility/OBSClipboardSerializer.hpp
34+
utility/OBSClipboardSerializer.cpp
3135
utility/OBSCanvas.cpp
3236
utility/OBSCanvas.hpp
3337
utility/OBSEventFilter.hpp
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#include "OBSClipboardSerializer.hpp"
2+
3+
OBSData OBSClipboardSerializer::SerializeSceneItem(OBSSceneItem item)
4+
{
5+
return OBSData();
6+
}
7+
8+
OBSData OBSClipboardSerializer::SerializeFilters(OBSSource source)
9+
{
10+
return OBSData();
11+
}
12+
13+
OBSData OBSClipboardSerializer::SerializeTransform(OBSSceneItem item)
14+
{
15+
return OBSData();
16+
}
17+
18+
OBSData OBSClipboardSerializer::SerializeTransition(OBSSceneItem item, bool show)
19+
{
20+
return OBSData();
21+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/******************************************************************************
2+
Copyright (C) 2026 by Kunal Dubey <xakep8@protonmail.com>
3+
4+
This program is free software: you can redistribute it and/or modify
5+
it under the terms of the GNU General Public License as published by
6+
the Free Software Foundation, either version 2 of the License, or
7+
(at your option) any later version.
8+
9+
This program is distributed in the hope that it will be useful,
10+
but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
GNU General Public License for more details.
13+
14+
You should have received a copy of the GNU General Public License
15+
along with this program. If not, see <http://www.gnu.org/licenses/>.
16+
******************************************************************************/
17+
18+
#pragma once
19+
20+
#include <obs.hpp>
21+
#include <QMimeData>
22+
23+
class OBSClipboardSerializer {
24+
public:
25+
static OBSData SerializeSceneItem(OBSSceneItem item);
26+
static OBSData SerializeFilters(OBSSource source);
27+
static OBSData SerializeTransform(OBSSceneItem item);
28+
static OBSData SerializeTransition(OBSSceneItem item, bool show);
29+
};
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#include "OBSClipboardService.hpp"
2+
3+
bool OBSClipboardService::canPasteSceneItems(bool duplicate) const
4+
{
5+
return false;
6+
}
7+
8+
void OBSClipboardService::copySceneItems(const std::vector<OBSSceneItem> &items) {}
9+
10+
void OBSClipboardService::pasteSceneItems(OBSScene scene, bool duplicate) {}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/******************************************************************************
2+
Copyright (C) 2026 by Kunal Dubey <xakep8@protonmail.com>
3+
4+
This program is free software: you can redistribute it and/or modify
5+
it under the terms of the GNU General Public License as published by
6+
the Free Software Foundation, either version 2 of the License, or
7+
(at your option) any later version.
8+
9+
This program is distributed in the hope that it will be useful,
10+
but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
GNU General Public License for more details.
13+
14+
You should have received a copy of the GNU General Public License
15+
along with this program. If not, see <http://www.gnu.org/licenses/>.
16+
******************************************************************************/
17+
18+
#pragma once
19+
20+
#include <obs.hpp>
21+
#include <QMimeData>
22+
#include <QClipboard>
23+
#include <vector>
24+
25+
class OBSClipboardService {
26+
public:
27+
bool canPasteSceneItems(bool duplicate) const;
28+
void copySceneItems(const std::vector<OBSSceneItem> &items);
29+
void pasteSceneItems(OBSScene scene, bool duplicate);
30+
};

0 commit comments

Comments
 (0)