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
3232 #include <VoxelDetail.h>
3333
3434 #include "AnimationObject.h"
35−#include "ArrayBufferClass.h"
3635 #include "ArrayBufferViewClass.h"
3736 #include "DataViewClass.h"
3837 #include "MenuItemProperties.h"
3938 #include "MIDIEvent.h"
4039 #include "LocalVoxels.h"
4140 #include "ScriptEngine.h"
41+#include "TypedArrays.h"
4242 #include "XMLHttpRequestClass.h"
4343
4444 VoxelsScriptingInterface ScriptEngine::_voxelsScriptingInterface;
@@ -93,8 +93,15 @@ ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNam · 48 unmodified lines
9393 _quatLibrary(),
9494 _vec3Library(),
9595 _uuidLibrary(),
96− _animationCache(this)
96+ _animationCache(this),
97+ _arrayBufferClass(NULL)
9798 {
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();
98105 }
99106
100107 ScriptEngine::ScriptEngine(const QUrl& scriptURL,
@@ -118,13 +125,21 @@ ScriptEngine::ScriptEngine(const QUrl& scriptURL, · 17 unmodified lines
118125 _quatLibrary(),
119126 _vec3Library(),
120127 _uuidLibrary(),
121− _animationCache(this)
128+ _animationCache(this),
129+ _arrayBufferClass(NULL)
122130 {
123131 QString scriptURLString = scriptURL.toString();
124132 _fileNameString = scriptURLString;
125133
126134 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+
128143 // if the scheme length is one or lower, maybe they typed in a file, let's try
129144 const int WINDOWS_DRIVE_LETTER_SIZE = 1;
130145 if (url.scheme().size() <= WINDOWS_DRIVE_LETTER_SIZE) {
@@ -141,6 +156,7 @@ ScriptEngine::ScriptEngine(const QUrl& scriptURL, · 10 unmodified lines
141156 QTextStream in(&scriptFile);
142157 _scriptContents = in.readAll();
143158 } else {
159+
144160 qDebug() << "ERROR Loading file:" << fileName;
145161 emit errorMessage("ERROR Loading file:" + fileName);
146162 }
@@ -213,10 +229,6 @@ void ScriptEngine::init() { · 66 unmodified lines
213229 if (_isInitialized) {
214230 return; // only initialize once
215231 }
216−
217− new ArrayBufferClass(&_engine);
218− new ArrayBufferViewClass(&_engine);
219− new DataViewClass(&_engine);
220232
221233 _isInitialized = true;
222234