adding basic script-engine documentation

This commit is contained in:
Heather Anderson 2021-08-29 23:02:08 -07:00 committed by ksuprynowicz
parent 2dd9d784a9
commit 1f4f458942
22 changed files with 107 additions and 53 deletions

View file

@ -9,6 +9,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_PointerEvent_h #ifndef hifi_PointerEvent_h
#define hifi_PointerEvent_h #define hifi_PointerEvent_h
@ -22,6 +25,7 @@ class ScriptEngine;
class ScriptValue; class ScriptValue;
using ScriptValuePointer = QSharedPointer<ScriptValue>; using ScriptValuePointer = QSharedPointer<ScriptValue>;
/// Represents a 2D or 3D pointer to the scripting engine. Exposed as <code><a href="https://apidocs.vircadia.dev/global.html#PointerEvent">PointerEvent</a></code>
class PointerEvent { class PointerEvent {
public: public:
enum Button { enum Button {
@ -95,3 +99,5 @@ QDebug& operator<<(QDebug& dbg, const PointerEvent& p);
Q_DECLARE_METATYPE(PointerEvent) Q_DECLARE_METATYPE(PointerEvent)
#endif // hifi_PointerEvent_h #endif // hifi_PointerEvent_h
/// @}

View file

@ -9,6 +9,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_ScriptContext_h #ifndef hifi_ScriptContext_h
#define hifi_ScriptContext_h #define hifi_ScriptContext_h
@ -25,6 +28,7 @@ using ScriptFunctionContextPointer = QSharedPointer<ScriptFunctionContext>;
using ScriptEnginePointer = QSharedPointer<ScriptEngine>; using ScriptEnginePointer = QSharedPointer<ScriptEngine>;
using ScriptValuePointer = QSharedPointer<ScriptValue>; using ScriptValuePointer = QSharedPointer<ScriptValue>;
/// [ScriptInterface] Provides an engine-independent interface for QScriptContextInfo
class ScriptFunctionContext { class ScriptFunctionContext {
public: public:
enum FunctionType { enum FunctionType {
@ -41,6 +45,7 @@ public:
virtual int lineNumber() const = 0; virtual int lineNumber() const = 0;
}; };
/// [ScriptInterface] Provides an engine-independent interface for QScriptContext
class ScriptContext { class ScriptContext {
public: public:
virtual int argumentCount() const = 0; virtual int argumentCount() const = 0;
@ -56,3 +61,5 @@ public:
}; };
#endif // hifi_ScriptContext_h #endif // hifi_ScriptContext_h
/// @}

View file

@ -34,8 +34,9 @@ using ScriptEnginePointer = QSharedPointer<ScriptEngine>;
using ScriptProgramPointer = QSharedPointer<ScriptProgram>; using ScriptProgramPointer = QSharedPointer<ScriptProgram>;
using ScriptValuePointer = QSharedPointer<ScriptValue>; using ScriptValuePointer = QSharedPointer<ScriptValue>;
Q_DECLARE_METATYPE(ScriptEnginePointer) Q_DECLARE_METATYPE(ScriptEnginePointer);
/// [ScriptInterface] Provides an engine-independent interface for QScriptEngine
class ScriptEngine { class ScriptEngine {
public: public:
typedef ScriptValuePointer (*FunctionSignature)(ScriptContext*, ScriptEngine*); typedef ScriptValuePointer (*FunctionSignature)(ScriptContext*, ScriptEngine*);
@ -128,7 +129,7 @@ public: // not for public use, but I don't like how Qt strings this along with p
virtual bool convert(const ScriptValuePointer& value, int type, void* ptr) = 0; virtual bool convert(const ScriptValuePointer& value, int type, void* ptr) = 0;
virtual void registerCustomType(int type, MarshalFunction mf, DemarshalFunction df, const ScriptValuePointer& prototype) = 0; virtual void registerCustomType(int type, MarshalFunction mf, DemarshalFunction df, const ScriptValuePointer& prototype) = 0;
}; };
Q_DECLARE_OPERATORS_FOR_FLAGS(ScriptEngine::QObjectWrapOptions) Q_DECLARE_OPERATORS_FOR_FLAGS(ScriptEngine::QObjectWrapOptions);
ScriptEnginePointer newScriptEngine(ScriptManager* manager = nullptr); ScriptEnginePointer newScriptEngine(ScriptManager* manager = nullptr);
@ -157,3 +158,5 @@ QThread* ScriptEngine::thread() const {
*/ */
#endif // hifi_ScriptEngine_h #endif // hifi_ScriptEngine_h
/// @}

View file

@ -9,6 +9,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_ScriptEngineCast_h #ifndef hifi_ScriptEngineCast_h
#define hifi_ScriptEngineCast_h #define hifi_ScriptEngineCast_h
@ -99,3 +102,5 @@ int scriptRegisterSequenceMetaType(ScriptEngine* engine,
} }
#endif // hifi_ScriptEngineCast_h #endif // hifi_ScriptEngineCast_h
/// @}

View file

@ -9,6 +9,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_ScriptProgram_h #ifndef hifi_ScriptProgram_h
#define hifi_ScriptProgram_h #define hifi_ScriptProgram_h
@ -19,6 +22,7 @@ class ScriptSyntaxCheckResult;
using ScriptProgramPointer = QSharedPointer<ScriptProgram>; using ScriptProgramPointer = QSharedPointer<ScriptProgram>;
using ScriptSyntaxCheckResultPointer = QSharedPointer<ScriptSyntaxCheckResult>; using ScriptSyntaxCheckResultPointer = QSharedPointer<ScriptSyntaxCheckResult>;
/// [ScriptInterface] Provides an engine-independent interface for QScriptProgram
class ScriptProgram { class ScriptProgram {
public: public:
virtual ScriptSyntaxCheckResultPointer checkSyntax() const = 0; virtual ScriptSyntaxCheckResultPointer checkSyntax() const = 0;
@ -26,6 +30,7 @@ public:
virtual QString sourceCode() const = 0; virtual QString sourceCode() const = 0;
}; };
/// [ScriptInterface] Provides an engine-independent interface for QScriptSyntaxCheckResult
class ScriptSyntaxCheckResult { class ScriptSyntaxCheckResult {
public: public:
enum State enum State
@ -43,3 +48,5 @@ public:
}; };
#endif // hifi_ScriptProgram_h #endif // hifi_ScriptProgram_h
/// @}

View file

@ -9,6 +9,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_ScriptValue_h #ifndef hifi_ScriptValue_h
#define hifi_ScriptValue_h #define hifi_ScriptValue_h
@ -26,6 +29,7 @@ using ScriptValuePointer = QSharedPointer<ScriptValue>;
using ScriptValueList = QList<ScriptValuePointer>; using ScriptValueList = QList<ScriptValuePointer>;
using ScriptValueIteratorPointer = QSharedPointer<ScriptValueIterator>; using ScriptValueIteratorPointer = QSharedPointer<ScriptValueIterator>;
/// [ScriptInterface] Provides an engine-independent interface for QScriptValue
class ScriptValue { class ScriptValue {
public: public:
enum ResolveFlag enum ResolveFlag
@ -107,7 +111,7 @@ protected:
virtual bool isValidInternal() const = 0; virtual bool isValidInternal() const = 0;
virtual bool isVariantInternal() const = 0; virtual bool isVariantInternal() const = 0;
}; };
Q_DECLARE_OPERATORS_FOR_FLAGS(ScriptValue::PropertyFlags) Q_DECLARE_OPERATORS_FOR_FLAGS(ScriptValue::PropertyFlags);
bool ScriptValue::equals(const ScriptValuePointer& other) const { bool ScriptValue::equals(const ScriptValuePointer& other) const {
if (this == NULL || !other) { if (this == NULL || !other) {
@ -206,3 +210,5 @@ template <typename T>
T scriptvalue_cast(const ScriptValuePointer& value); T scriptvalue_cast(const ScriptValuePointer& value);
#endif // hifi_ScriptValue_h #endif // hifi_ScriptValue_h
/// @}

View file

@ -9,6 +9,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_ScriptValueIterator_h #ifndef hifi_ScriptValueIterator_h
#define hifi_ScriptValueIterator_h #define hifi_ScriptValueIterator_h
@ -20,6 +23,7 @@
class ScriptValueIterator; class ScriptValueIterator;
using ScriptValueIteratorPointer = QSharedPointer<ScriptValueIterator>; using ScriptValueIteratorPointer = QSharedPointer<ScriptValueIterator>;
/// [ScriptInterface] Provides an engine-independent interface for QScriptValueIterator
class ScriptValueIterator { class ScriptValueIterator {
public: public:
virtual ScriptValue::PropertyFlags flags() const = 0; virtual ScriptValue::PropertyFlags flags() const = 0;
@ -30,3 +34,5 @@ public:
}; };
#endif // hifi_ScriptValueIterator_h #endif // hifi_ScriptValueIterator_h
/// @}

View file

@ -11,6 +11,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_ScriptValueUtils_h #ifndef hifi_ScriptValueUtils_h
#define hifi_ScriptValueUtils_h #define hifi_ScriptValueUtils_h
@ -260,3 +263,5 @@ void promiseFromScriptValue(const ScriptValuePointer& object, std::shared_ptr<Mi
ScriptValuePointer promiseToScriptValue(ScriptEngine* engine, const std::shared_ptr<MiniPromise>& promise); ScriptValuePointer promiseToScriptValue(ScriptEngine* engine, const std::shared_ptr<MiniPromise>& promise);
#endif // #define hifi_ScriptValueUtils_h #endif // #define hifi_ScriptValueUtils_h
/// @}

View file

@ -9,6 +9,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_Scriptable_h #ifndef hifi_Scriptable_h
#define hifi_Scriptable_h #define hifi_Scriptable_h
@ -21,6 +24,7 @@ class ScriptValue;
using ScriptEnginePointer = QSharedPointer<ScriptEngine>; using ScriptEnginePointer = QSharedPointer<ScriptEngine>;
using ScriptValuePointer = QSharedPointer<ScriptValue>; using ScriptValuePointer = QSharedPointer<ScriptValue>;
/// [ScriptInterface] Provides an engine-independent interface for QScriptable
class Scriptable { class Scriptable {
public: public:
static inline ScriptEnginePointer engine(); static inline ScriptEnginePointer engine();
@ -57,3 +61,5 @@ ScriptValuePointer Scriptable::argument(int index) {
} }
#endif // hifi_Scriptable_h #endif // hifi_Scriptable_h
/// @}

View file

@ -9,6 +9,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#include <QVariant> #include <QVariant>
#include "ScriptValue.h" #include "ScriptValue.h"
#include "ScriptEngine.h" #include "ScriptEngine.h"
@ -16,3 +19,5 @@
ScriptValuePointer variantToScriptValue(QVariant& qValue, ScriptEngine& scriptEngine); ScriptValuePointer variantToScriptValue(QVariant& qValue, ScriptEngine& scriptEngine);
ScriptValuePointer variantMapToScriptValue(QVariantMap& variantMap, ScriptEngine& scriptEngine); ScriptValuePointer variantMapToScriptValue(QVariantMap& variantMap, ScriptEngine& scriptEngine);
ScriptValuePointer variantListToScriptValue(QVariantList& variantList, ScriptEngine& scriptEngine); ScriptValuePointer variantListToScriptValue(QVariantList& variantList, ScriptEngine& scriptEngine);
/// @}

View file

@ -26,7 +26,7 @@
class ScriptEngineQtScript; class ScriptEngineQtScript;
/// Implements the <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a></code> scripting class /// [QtScript] Implements the <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a></code> scripting class
class ArrayBufferClass : public QObject, public QScriptClass { class ArrayBufferClass : public QObject, public QScriptClass {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -18,7 +18,7 @@
#include <QtCore/QObject> #include <QtCore/QObject>
#include <QtScript/QScriptable> #include <QtScript/QScriptable>
/// The javascript functions associated with an <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a></code> instance prototype /// [QtScript] The javascript functions associated with an <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a></code> instance prototype
class ArrayBufferPrototype : public QObject, public QScriptable { class ArrayBufferPrototype : public QObject, public QScriptable {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -29,7 +29,7 @@ static const QString BUFFER_PROPERTY_NAME = "buffer";
static const QString BYTE_OFFSET_PROPERTY_NAME = "byteOffset"; static const QString BYTE_OFFSET_PROPERTY_NAME = "byteOffset";
static const QString BYTE_LENGTH_PROPERTY_NAME = "byteLength"; static const QString BYTE_LENGTH_PROPERTY_NAME = "byteLength";
/// The base class containing common code for ArrayBuffer views /// [QtScript] The base class containing common code for ArrayBuffer views
class ArrayBufferViewClass : public QObject, public QScriptClass { class ArrayBufferViewClass : public QObject, public QScriptClass {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -17,7 +17,7 @@
#include "ArrayBufferViewClass.h" #include "ArrayBufferViewClass.h"
/// Implements the <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView">DataView</a></code> scripting class /// [QtScript] Implements the <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView">DataView</a></code> scripting class
class DataViewClass : public ArrayBufferViewClass { class DataViewClass : public ArrayBufferViewClass {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -18,7 +18,7 @@
#include <QtCore/QObject> #include <QtCore/QObject>
#include <QtScript/QScriptable> #include <QtScript/QScriptable>
/// The javascript functions associated with a <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView">DataView</a></code> instance prototype /// [QtScript] The javascript functions associated with a <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView">DataView</a></code> instance prototype
class DataViewPrototype : public QObject, public QScriptable { class DataViewPrototype : public QObject, public QScriptable {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -9,6 +9,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_ScriptContextQtWrapper_h #ifndef hifi_ScriptContextQtWrapper_h
#define hifi_ScriptContextQtWrapper_h #define hifi_ScriptContextQtWrapper_h
@ -23,6 +26,7 @@ class ScriptEngineQtScript;
class ScriptValue; class ScriptValue;
using ScriptValuePointer = QSharedPointer<ScriptValue>; using ScriptValuePointer = QSharedPointer<ScriptValue>;
/// [QtScript] Implements ScriptContext for QtScript and translates calls for QScriptContextInfo
class ScriptContextQtWrapper : public ScriptContext { class ScriptContextQtWrapper : public ScriptContext {
public: // construction public: // construction
inline ScriptContextQtWrapper(ScriptEngineQtScript* engine, QScriptContext* context) : _engine(engine), _context(context) {} inline ScriptContextQtWrapper(ScriptEngineQtScript* engine, QScriptContext* context) : _engine(engine), _context(context) {}
@ -61,3 +65,5 @@ private: // storage
}; };
#endif // hifi_ScriptContextQtWrapper_h #endif // hifi_ScriptContextQtWrapper_h
/// @}

View file

@ -10,6 +10,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_ScriptEngineQtScript_h #ifndef hifi_ScriptEngineQtScript_h
#define hifi_ScriptEngineQtScript_h #define hifi_ScriptEngineQtScript_h
@ -35,40 +38,9 @@ class ScriptManager;
using ScriptEngineQtScriptPointer = QSharedPointer<ScriptEngineQtScript>; using ScriptEngineQtScriptPointer = QSharedPointer<ScriptEngineQtScript>;
using ScriptContextQtPointer = QSharedPointer<ScriptContextQtWrapper>; using ScriptContextQtPointer = QSharedPointer<ScriptContextQtWrapper>;
Q_DECLARE_METATYPE(ScriptEngineQtScriptPointer) Q_DECLARE_METATYPE(ScriptEngineQtScriptPointer);
/**jsdoc /// [QtScript] Implements ScriptEngine for QtScript and translates calls for QScriptEngine
* The <code>Script</code> API provides facilities for working with scripts.
*
* @namespace Script
*
* @hifi-interface
* @hifi-client-entity
* @hifi-avatar
* @hifi-server-entity
* @hifi-assignment-client
*
* @property {string} context - The context that the script is running in:
* <ul>
* <li><code>"client"</code>: An Interface or avatar script.</li>
* <li><code>"entity_client"</code>: A client entity script.</li>
* <li><code>"entity_server"</code>: A server entity script.</li>
* <li><code>"agent"</code>: An assignment client script.</li>
* </ul>
* <em>Read-only.</em>
* @property {string} type - The type of script that is running:
* <ul>
* <li><code>"client"</code>: An Interface script.</li>
* <li><code>"entity_client"</code>: A client entity script.</li>
* <li><code>"avatar"</code>: An avatar script.</li>
* <li><code>"entity_server"</code>: A server entity script.</li>
* <li><code>"agent"</code>: An assignment client script.</li>
* </ul>
* <em>Read-only.</em>
* @property {string} filename - The filename of the script file.
* <em>Read-only.</em>
* @property {Script.ResourceBuckets} ExternalPaths - External resource buckets.
*/
class ScriptEngineQtScript : public QScriptEngine, public ScriptEngine, public QEnableSharedFromThis<ScriptEngineQtScript> { class ScriptEngineQtScript : public QScriptEngine, public ScriptEngine, public QEnableSharedFromThis<ScriptEngineQtScript> {
Q_OBJECT Q_OBJECT
@ -467,3 +439,5 @@ private:
}; };
#endif // hifi_ScriptEngineQtScript_h #endif // hifi_ScriptEngineQtScript_h
/// @}

View file

@ -9,6 +9,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_ScriptProgramQtWrapper_h #ifndef hifi_ScriptProgramQtWrapper_h
#define hifi_ScriptProgramQtWrapper_h #define hifi_ScriptProgramQtWrapper_h
@ -18,6 +21,7 @@
#include "../ScriptProgram.h" #include "../ScriptProgram.h"
#include "ScriptEngineQtScript.h" #include "ScriptEngineQtScript.h"
/// [QtScript] Implements ScriptProgram for QtScript and translates calls for QScriptProgram
class ScriptProgramQtWrapper : public ScriptProgram { class ScriptProgramQtWrapper : public ScriptProgram {
public: // construction public: // construction
inline ScriptProgramQtWrapper(ScriptEngineQtScript* engine, const QScriptProgram& value) : inline ScriptProgramQtWrapper(ScriptEngineQtScript* engine, const QScriptProgram& value) :
@ -53,3 +57,5 @@ private: // storage
}; };
#endif // hifi_ScriptValueQtWrapper_h #endif // hifi_ScriptValueQtWrapper_h
/// @}

View file

@ -9,16 +9,20 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_ScriptValueIteratorQtWrapper_h #ifndef hifi_ScriptValueIteratorQtWrapper_h
#define hifi_ScriptValueIteratorQtWrapper_h #define hifi_ScriptValueIteratorQtWrapper_h
//#include <QtCore/QPointer> #include <QtCore/QPointer>
#include <QtScript/QScriptValueIterator> #include <QtScript/QScriptValueIterator>
#include "../ScriptValueIterator.h" #include "../ScriptValueIterator.h"
#include "ScriptEngineQtScript.h" #include "ScriptEngineQtScript.h"
#include "ScriptValueQtWrapper.h" #include "ScriptValueQtWrapper.h"
/// [QtScript] Implements ScriptValueIterator for QtScript and translates calls for QScriptValueIterator
class ScriptValueIteratorQtWrapper : public ScriptValueIterator { class ScriptValueIteratorQtWrapper : public ScriptValueIterator {
public: // construction public: // construction
inline ScriptValueIteratorQtWrapper(ScriptEngineQtScript* engine, const ScriptValuePointer& object) : inline ScriptValueIteratorQtWrapper(ScriptEngineQtScript* engine, const ScriptValuePointer& object) :
@ -39,3 +43,5 @@ private: // storage
}; };
#endif // hifi_ScriptValueIteratorQtWrapper_h #endif // hifi_ScriptValueIteratorQtWrapper_h
/// @}

View file

@ -9,6 +9,9 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
/// @addtogroup ScriptEngine
/// @{
#ifndef hifi_ScriptValueQtWrapper_h #ifndef hifi_ScriptValueQtWrapper_h
#define hifi_ScriptValueQtWrapper_h #define hifi_ScriptValueQtWrapper_h
@ -20,6 +23,7 @@
#include "../ScriptValue.h" #include "../ScriptValue.h"
#include "ScriptEngineQtScript.h" #include "ScriptEngineQtScript.h"
/// [QtScript] Implements ScriptValue for QtScript and translates calls for QScriptValue
class ScriptValueQtWrapper : public ScriptValue { class ScriptValueQtWrapper : public ScriptValue {
public: // construction public: // construction
inline ScriptValueQtWrapper(ScriptEngineQtScript* engine, const QScriptValue& value) : inline ScriptValueQtWrapper(ScriptEngineQtScript* engine, const QScriptValue& value) :
@ -84,3 +88,5 @@ private: // storage
}; };
#endif // hifi_ScriptValueQtWrapper_h #endif // hifi_ScriptValueQtWrapper_h
/// @}

View file

@ -19,7 +19,7 @@
#include <QtScript/QScriptable> #include <QtScript/QScriptable>
#include <QtScript/QScriptValue> #include <QtScript/QScriptValue>
/// The javascript functions associated with a <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">TypedArray</a></code> instance prototype /// [QtScript] The javascript functions associated with a <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">TypedArray</a></code> instance prototype
class TypedArrayPrototype : public QObject, public QScriptable { class TypedArrayPrototype : public QObject, public QScriptable {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -30,7 +30,7 @@ static const QString UINT_32_ARRAY_CLASS_NAME = "Uint32Array";
static const QString FLOAT_32_ARRAY_CLASS_NAME = "Float32Array"; static const QString FLOAT_32_ARRAY_CLASS_NAME = "Float32Array";
static const QString FLOAT_64_ARRAY_CLASS_NAME = "Float64Array"; static const QString FLOAT_64_ARRAY_CLASS_NAME = "Float64Array";
/// Implements the <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">TypedArray</a></code> scripting class /// [QtScript] Implements the <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">TypedArray</a></code> scripting class
class TypedArray : public ArrayBufferViewClass { class TypedArray : public ArrayBufferViewClass {
Q_OBJECT Q_OBJECT
public: public: