LeviLamina
Loading...
Searching...
No Matches
ClipboardServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/runtime/Result_deprecated.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockPos;
11class BlockVolumeBase;
12class Vec3;
13namespace Bedrock::PubSub { class Subscription; }
14namespace Editor { class EditorStructureTemplate; }
15namespace Editor { class RelativeVolumeListBlockVolume; }
16namespace Editor::Services { class ClipboardItem; }
17namespace Editor::Services { struct ClipboardWriteOptions; }
18namespace mce { class UUID; }
19// clang-format on
20
21namespace Editor::Services {
22
24public:
25 // virtual functions
26 // NOLINTBEGIN
27 virtual ~ClipboardServiceProvider() = default;
28
29 virtual ::mce::UUID const& getPrimaryItemId() = 0;
30
31 virtual ::mce::UUID const& create() = 0;
32
33 virtual bool destroy(::mce::UUID const& id) = 0;
34
35 virtual void setPrimaryItem(::mce::UUID const& id) = 0;
36
37 virtual ::Editor::Services::ClipboardItem* getPrimaryItem() = 0;
38
39 virtual ::Scripting::Result_deprecated<void>
40 readFromWorld(::mce::UUID const& itemId, ::Editor::RelativeVolumeListBlockVolume const& volume) = 0;
41
42 virtual ::Scripting::Result_deprecated<void>
43 readFromWorld(::mce::UUID const& itemId, ::BlockVolumeBase const& volume) = 0;
44
45 virtual ::Scripting::Result_deprecated<void>
46 readFromEditorStructure(::mce::UUID const& itemId, ::Editor::EditorStructureTemplate const& editorStructure) = 0;
47
48 virtual ::Scripting::Result_deprecated<bool> writeToWorld(
49 ::mce::UUID const& itemId,
50 ::BlockPos const& position,
52 ) const = 0;
53
54 virtual ::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume> getPredictedWriteVolume(
55 ::mce::UUID const& itemId,
56 ::BlockPos const& position,
58 ) const = 0;
59
60 virtual ::Scripting::Result_deprecated<void> clear(::mce::UUID const& itemId) = 0;
61
62 virtual bool isEmpty(::mce::UUID const& itemId) const = 0;
63
64 virtual ::BlockPos getSize(::mce::UUID const& itemId) const = 0;
65
66 virtual ::Vec3 const& getNormalizedOrigin(::mce::UUID const& itemId) const = 0;
67
68 virtual ::Vec3 getOriginalWorldLocation(::mce::UUID const& itemId) const = 0;
69
70 virtual ::Bedrock::PubSub::Subscription
71 listenForClipboardItemChanges(::std::function<void(::mce::UUID const&, bool)> callback) = 0;
72 // NOLINTEND
73
74public:
75 // virtual function thunks
76 // NOLINTBEGIN
77
78 // NOLINTEND
79};
80
81} // namespace Editor::Services
Definition Subscription.h:10
Definition BlockPos.h:19
Definition BlockVolumeBase.h:16
Definition EditorStructureTemplate.h:27
Definition RelativeVolumeListBlockVolume.h:22
Definition ClipboardItem.h:17
Definition ClipboardServiceProvider.h:23
Definition Vec3.h:10
Definition UUID.h:7
Definition ClipboardWriteOptions.h:7