History

- Bunch of fixes to typed arrays - First working prototype for Int8Array - Base classes for all other typed arrays

Atlante45 committed 12 years ago

Commit b2b17011 parent a76ebae10 files · +412 −37Browse files

Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 10 files). Show all

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+20−8
@@ -32,13 +32,13 @@ · 31 unmodified lines
32#include <VoxelDetail.h>32#include <VoxelDetail.h>
33 33
34#include "AnimationObject.h"34#include "AnimationObject.h"
35#include "ArrayBufferClass.h"
36#include "ArrayBufferViewClass.h"35#include "ArrayBufferViewClass.h"
37#include "DataViewClass.h"36#include "DataViewClass.h"
38#include "MenuItemProperties.h"37#include "MenuItemProperties.h"
39#include "MIDIEvent.h"38#include "MIDIEvent.h"
40#include "LocalVoxels.h"39#include "LocalVoxels.h"
41#include "ScriptEngine.h"40#include "ScriptEngine.h"
41#include "TypedArrays.h"
42#include "XMLHttpRequestClass.h"42#include "XMLHttpRequestClass.h"
43 43
44VoxelsScriptingInterface ScriptEngine::_voxelsScriptingInterface;44VoxelsScriptingInterface ScriptEngine::_voxelsScriptingInterface;
@@ -93,8 +93,15 @@ ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNam · 48 unmodified lines
93 _quatLibrary(),93 _quatLibrary(),
94 _vec3Library(),94 _vec3Library(),
95 _uuidLibrary(),95 _uuidLibrary(),
96 _animationCache(this)96 _animationCache(this),
97 _arrayBufferClass(NULL)
97{98{
99 _arrayBufferClass = new ArrayBufferClass(this);
100 qDebug() << "Engine: " << this;
101 qDebug() << "ArrayBuffer: " <<_arrayBufferClass;
102 qDebug() << "DataView: " << new DataViewClass(this);
103 qDebug() << "Int8Array: " << new Int8ArrayClass(this);
104 qDebug() << "Initial thread: " << QThread::currentThread() << " " << thread();
98}105}
99 106
100ScriptEngine::ScriptEngine(const QUrl& scriptURL,107ScriptEngine::ScriptEngine(const QUrl& scriptURL,
@@ -118,13 +125,21 @@ ScriptEngine::ScriptEngine(const QUrl& scriptURL, · 17 unmodified lines
118 _quatLibrary(),125 _quatLibrary(),
119 _vec3Library(),126 _vec3Library(),
120 _uuidLibrary(),127 _uuidLibrary(),
121 _animationCache(this)128 _animationCache(this),
129 _arrayBufferClass(NULL)
122{130{
123 QString scriptURLString = scriptURL.toString();131 QString scriptURLString = scriptURL.toString();
124 _fileNameString = scriptURLString;132 _fileNameString = scriptURLString;
125 133
126 QUrl url(scriptURL);134 QUrl url(scriptURL);
127 135
136 _arrayBufferClass = new ArrayBufferClass(this);
137 qDebug() << "Engine: " << this;
138 qDebug() << "ArrayBuffer: " <<_arrayBufferClass;
139 qDebug() << "DataView: " << new DataViewClass(this);
140 qDebug() << "Int8Array: " << new Int8ArrayClass(this);
141 qDebug() << "Initial thread: " << QThread::currentThread() << " " << thread();
142
128 // if the scheme length is one or lower, maybe they typed in a file, let's try143 // if the scheme length is one or lower, maybe they typed in a file, let's try
129 const int WINDOWS_DRIVE_LETTER_SIZE = 1;144 const int WINDOWS_DRIVE_LETTER_SIZE = 1;
130 if (url.scheme().size() <= WINDOWS_DRIVE_LETTER_SIZE) {145 if (url.scheme().size() <= WINDOWS_DRIVE_LETTER_SIZE) {
@@ -141,6 +156,7 @@ ScriptEngine::ScriptEngine(const QUrl& scriptURL, · 10 unmodified lines
141 QTextStream in(&scriptFile);156 QTextStream in(&scriptFile);
142 _scriptContents = in.readAll();157 _scriptContents = in.readAll();
143 } else {158 } else {
159
144 qDebug() << "ERROR Loading file:" << fileName;160 qDebug() << "ERROR Loading file:" << fileName;
145 emit errorMessage("ERROR Loading file:" + fileName);161 emit errorMessage("ERROR Loading file:" + fileName);
146 }162 }
@@ -213,10 +229,6 @@ void ScriptEngine::init() { · 66 unmodified lines
213 if (_isInitialized) {229 if (_isInitialized) {
214 return; // only initialize once230 return; // only initialize once
215 }231 }
216
217 new ArrayBufferClass(&_engine);
218 new ArrayBufferViewClass(&_engine);
219 new DataViewClass(&_engine);
220 232
221 _isInitialized = true;233 _isInitialized = true;
222 234