History

Proper handling of enum classes for scripting

ksuprynowicz committed 4 years ago

Commit 33c86071 parent 95434a24 files · +59 −11Browse files

Showing the changes to interface/src/scripting/RenderScriptingInterface.cpp (1 of 4 files). Show all

Unified · Split

interface/src/scripting/RenderScriptingInterface.cpp+8−2
@@ -1,16 +1,24 @@
1//1//
2// Created by Sam Gondelman on 5/16/192// Created by Sam Gondelman on 5/16/19
3// Copyright 2013-2019 High Fidelity, Inc.3// Copyright 2013-2019 High Fidelity, Inc.
4// Copyright 2022 Overte e.V.
4//5//
5// Distributed under the Apache License, Version 2.0.6// Distributed under the Apache License, Version 2.0.
6// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html7// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
7//8//
8#include "RenderScriptingInterface.h"9#include "RenderScriptingInterface.h"
9 10
11#include <ScriptEngineCast.h>
12
10#include "LightingModel.h"13#include "LightingModel.h"
11#include <QScreen>14#include <QScreen>
12#include "ScreenName.h"15#include "ScreenName.h"
13 16
17STATIC_SCRIPT_INITIALIZER(+[](ScriptManager* manager){
18 auto scriptEngine = manager->engine().get();
19
20 scriptRegisterMetaType(scriptEngine, scriptValueFromEnumClass<RenderScriptingInterface::RenderMethod>, scriptValueToEnumClass<RenderScriptingInterface::RenderMethod>, "RenderMethod");
21});
14 22
15RenderScriptingInterface* RenderScriptingInterface::getInstance() {23RenderScriptingInterface* RenderScriptingInterface::getInstance() {
16 static RenderScriptingInterface sharedInstance;24 static RenderScriptingInterface sharedInstance;
@@ -22,8 +30,6 @@ std::once_flag RenderScriptingInterface::registry_flag; · 5 unmodified lines
22RenderScriptingInterface::RenderScriptingInterface() {30RenderScriptingInterface::RenderScriptingInterface() {
23 std::call_once(registry_flag, [] {31 std::call_once(registry_flag, [] {
24 qmlRegisterType<RenderScriptingInterface>("RenderEnums", 1, 0, "RenderEnums");32 qmlRegisterType<RenderScriptingInterface>("RenderEnums", 1, 0, "RenderEnums");
25 qRegisterMetaType<RenderScriptingInterface::RenderMethod>("RenderScriptingInterface::RenderMethod");
26 qDebug() << "qRegisterMetaType<RenderScriptingInterface::RenderMethod>(\"RenderScriptingInterface::RenderMethod\")";
27 });33 });
28}34}
29 35