summaryrefslogtreecommitdiffstats
path: root/src/Runtime/ogl-runtime/src/runtime/Qt3DSIScriptBridge.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/ogl-runtime/src/runtime/Qt3DSIScriptBridge.h')
m---------src/Runtime/ogl-runtime0
-rw-r--r--src/Runtime/ogl-runtime/src/runtime/Qt3DSIScriptBridge.h206
2 files changed, 0 insertions, 206 deletions
diff --git a/src/Runtime/ogl-runtime b/src/Runtime/ogl-runtime
new file mode 160000
+Subproject 2025912174c4cf99270b7439ec3b021e1d089ae
diff --git a/src/Runtime/ogl-runtime/src/runtime/Qt3DSIScriptBridge.h b/src/Runtime/ogl-runtime/src/runtime/Qt3DSIScriptBridge.h
deleted file mode 100644
index 889968d3..00000000
--- a/src/Runtime/ogl-runtime/src/runtime/Qt3DSIScriptBridge.h
+++ /dev/null
@@ -1,206 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 1993-2009 NVIDIA Corporation.
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt 3D Studio.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#pragma once
-#include "Qt3DSIComponentManager.h"
-#include "EASTL/vector.h"
-#include "EASTL/string.h"
-#include "foundation/Qt3DSRefCounted.h"
-#include "Qt3DSApplication.h"
-
-#include <QtCore/qvariant.h>
-#include <QtCore/qvector.h>
-#include <QtCore/qstringlist.h>
-
-namespace qt3dsimp {
- struct Mesh;
-}
-
-namespace qt3ds {
-namespace runtime {
- class IApplication;
-}
-}
-namespace qt3ds {
-namespace state {
- namespace debugger {
- class IMultiProtocolSocket;
- }
-}
-}
-namespace qt3ds {
-namespace render {
- class IThreadPool;
- class IQt3DSRenderer;
- class ICustomMaterialSystem;
- class IDynamicObjectSystem;
- class IBufferManager;
-}
-}
-
-struct script_State;
-
-namespace Q3DStudio {
-
-struct SEventCommand;
-class IPresentation;
-
-/**
- * @interface IScriptBridge
- * @brief Callback and load interface for a script engine.
- */
-
-class IScriptTableProvider
-{
-protected:
- virtual ~IScriptTableProvider() {}
-public:
- virtual void CreateTable(script_State *inState) = 0;
-};
-
-struct SScriptEngineGotoSlideArgs
-{
- TTimePolicyModeOption m_Mode;
- //-2 means previous, -1 means next, 1-N means slide
- const char *m_PlaythroughTo;
- TULongOption m_StartTime;
- float m_Rate;
- bool m_Reverse;
- TBoolOption m_Paused;
- SScriptEngineGotoSlideArgs()
- : m_PlaythroughTo(NULL)
- , m_Rate(1.0f)
- , m_Reverse(false)
- {
- }
-};
-
-class CScriptEngineCallFunctionArgRetriever
-{
-public:
- CScriptEngineCallFunctionArgRetriever(const char *inArguments)
- : m_ArgumentString(inArguments)
- {
- }
- virtual ~CScriptEngineCallFunctionArgRetriever() {}
- // Retrieve argument
- // Return value: -1 error; otherwise it indicates argument count
- virtual int RetrieveArgument(script_State *inState);
- virtual eastl::string GetArgDescription();
-
-protected:
- const char *m_ArgumentString;
-};
-
-class IScriptBridge : public qt3ds::foundation::NVRefCounted
-{
-public:
- virtual ~IScriptBridge() {}
-
-public: // thread
- // After this call all public functions are protected by a mutex
- virtual void EnableMultithreadedAccess() = 0;
- // After this call all public functions are not threadsafe.
- virtual void DisableMultithreadedAccess() = 0;
-
-public: // Settings
- virtual void SetApplicationCore(qt3ds::runtime::IApplication &inApplication) = 0;
- virtual void SetApplication(qt3ds::runtime::IApplication &inApplication) = 0;
-
-public: // Scripts
- // Both loads script, create an self table -> scriptIndex in a behaviors table
- // LoadScript goes further by registering scriptIndex->inPresentation, and inOwner->m_ScriptID=
- // scriptIndex
- virtual void LoadScript(IPresentation *inPresentation, TElement *inOwner,
- const CHAR *inName) = 0;
- virtual Q3DStudio::INT32 InitializeApplicationBehavior(const char *inProjectRelativePath) = 0;
-
-public: // Script functions and Callbacks
- virtual void ProcessFrameCallbacks(IPresentation *inPresentation) = 0;
- // Call a member function inFnName from self table whose script index is given by inApp
- virtual void ExecuteApplicationScriptFunction(Q3DStudio::INT32 inApp, const char *inFnName) = 0;
- virtual void CallFunction(const char *behavior, const char *handler,
- CScriptEngineCallFunctionArgRetriever &inArgRetriever) = 0;
-
-public: // Custom Actions
- virtual void ProcessSignal(IPresentation *inPresentation,
- const SEventCommand &inCommand) = 0;
- virtual void ProcessCustomActions(IPresentation *inPresentation,
- const SEventCommand &inCommand) = 0;
- virtual void ProcessCustomCallback(IPresentation *inPresentation,
- const SEventCommand &inCommand) = 0;
-
-public: // Elements
- // Use inProvider to create a new table and associate with inElement: currently a render plugin
- // element this mimics render plugin as an behavior element
- virtual void SetTableForElement(TElement &inElement, IScriptTableProvider &inProvider) = 0;
- virtual void SetAttribute(TElement *element, const char *attName, const char *value) = 0;
- virtual void SetAttribute(const char *element, const char *attName, const char *value) = 0;
- virtual void FireEvent(const char *element, const char *evtName) = 0;
- virtual void SetDataInputValue(
- const QString &name, const QVariant &value,
- qt3ds::runtime::DataInputValueRole property
- = qt3ds::runtime::DataInputValueRole::Value) = 0;
- virtual void createElements(const QString &parentElementPath, const QString &slideName,
- const QVector<QHash<QString, QVariant>> &properties,
- qt3ds::render::IQt3DSRenderer *renderer) = 0;
- virtual void deleteElements(const QStringList &elementPath,
- qt3ds::render::IQt3DSRenderer *renderer) = 0;
- virtual void createMaterials(const QString &subPresId, const QStringList &materialDefinitions,
- qt3ds::render::ICustomMaterialSystem *customMaterialSystem,
- qt3ds::render::IDynamicObjectSystem *dynamicObjectSystem,
- qt3ds::render::IQt3DSRenderer *renderer) = 0;
- virtual void deleteMaterials(const QStringList &materialNames,
- qt3ds::render::IQt3DSRenderer *renderer) = 0;
- virtual void createMesh(const QString &name, qt3dsimp::Mesh *mesh,
- qt3ds::render::IBufferManager *bufferManager) = 0;
- virtual void deleteMeshes(const QStringList &elementPath,
- qt3ds::render::IBufferManager *bufferManager) = 0;
-
-public: // Components
- virtual void GotoSlide(const char *component, const char *slideName,
- const SScriptEngineGotoSlideArgs &inArgs) = 0;
- virtual void GotoSlideRelative(const char *component, bool inNextSlide, bool inWrap,
- const SScriptEngineGotoSlideArgs &inArgs) = 0;
-
-public: // Presentation
- virtual void SetPresentationAttribute(const char *presId, const char *attName,
- const char *attValue) = 0;
-
-public: // Multimedia
- virtual bool PlaySoundFile(const char *soundPath) = 0;
-
-public: // Miscellaneous
- virtual void EnableDebugging(qt3ds::state::debugger::IMultiProtocolSocket &socket) = 0;
- virtual void EnableProfiling() = 0;
- virtual void StepGC() = 0;
-};
-
-} // namespace Q3DStudio