SCENE C++ API  2.1.0
lsscenecontext.h
1 #pragma once
2 
3 #include <core_api/lsglobaldefinitions.h>
4 #include <core_api/lsappcontext.h>
5 #include <core_api/lsworkspace.h>
6 #include <core_api/lssignal.h>
7 #include <core_api/lsworkspaceevent.h>
8 
9 #include <plugin_api/lsview.h>
10 #include <plugin_api/lsviewevent.h>
11 
12 namespace SCENE_API {
13 
14 // Forward declarations
15 class LSSceneContext_Implementation;
16 
21 {
22  LS_UNCOPYABLE(LSSceneContext)
23 
24 public:
25 
34  PLUGIN_API_EXPORT ref_ptr<LSWorkspace> getSceneWorkspace() const;
35 
39  PLUGIN_API_EXPORT LSResult::Result openSceneWorkspace();
40 
45  PLUGIN_API_EXPORT LSResult::Result openSceneWorkspace(LSString path);
46 
47 
51  PLUGIN_API_EXPORT ref_ptr<LSView> getActiveViewer() const;
52 
56  PLUGIN_API_EXPORT LSPod<std::vector<ref_ptr<LSView> > > getViews() const;
57 
61  PLUGIN_API_EXPORT LSResult::Result createView(LSView::ViewType type, ref_ptr<LSObject> object, ref_ptr<LSView>& viewOut);
62 
66  PLUGIN_API_EXPORT LSResult::Result createOffscreenView(LSView::ViewType type, ref_ptr<LSObject> object, unsigned int sizeX, unsigned int sizeY, ref_ptr<LSView>& viewOut);
67 
71  PLUGIN_API_EXPORT void closeView(LSView& view);
72 
73 
79  PLUGIN_API_EXPORT bool bindTask(int resourceID, LSString taskID);
80 
83  PLUGIN_API_EXPORT HANDLE registerToolbar(int resourceID, LSString toolbarName);
84 
85 
89  PLUGIN_API_EXPORT LSString getGUILanguage() const;
90 
91 
93 
94 
98 
102 
106 
110 
114 
116 
117 
118 private:
119  LS_INTERFACE(LSSceneContext, LSAppContext)
120 };
121 
122 }