42 void start(ssq::VM&
vm,
const std::string& gameRoot = {},
bool allowWindow =
true);
46 const std::string&
gameRoot()
const {
return gameRoot_; }
50 std::string closeWindow();
51 bool windowOpen()
const;
52 std::string windowState()
const;
56 std::string applyEditor(
const std::string& json);
57 std::string removeEditor(
const std::string&
id);
58 std::string listEditors()
const;
60 std::string editorState(
const std::string&
id)
const;
63 std::string setEditorValue(
const std::string& editorId,
const std::string& widgetId,
64 const std::string& jsonValue);
66 std::string consumeEvents(
const std::string& editorId);
68 std::string widgetRect(
const std::string& editorId,
const std::string& widgetId)
const;
72 std::string registerVM(
const std::string&
name,
const std::string& source);
73 std::string unregisterVM(
const std::string&
name);
77 std::string saveEditor(
const std::string&
id);
79 std::string unloadEditor(
const std::string&
id);
81 void loadEditorsFromDisk();
84 std::string runScript(
const std::string& source);
85 std::string capture(
const std::string& path);
86 std::string
status()
const;
95 void exposeScriptApi(ssq::VM&
vm);
101 std::unique_ptr<Impl> impl_;
102 bool running_ =
false;
103 bool allowWindow_ =
true;
104 bool exitRequested_ =
false;
105 std::string gameRoot_;