MCPcopy Create free account
hub / github.com/9miao/CrossApp / executeCustomTouchesEvent

Method executeCustomTouchesEvent

scripting/javascript/bindings/ScriptingCore.cpp:945–973  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

943
944
945int ScriptingCore::executeCustomTouchesEvent(int eventType,
946 CCSet *pTouches, JSObject *obj)
947{
948 jsval retval;
949 std::string funcName;
950 getTouchesFuncName(eventType, funcName);
951
952 JSObject *jsretArr = JS_NewArrayObject(this->cx_, 0, NULL);
953 JS_AddNamedObjectRoot(this->cx_, &jsretArr, "touchArray");
954 int count = 0;
955 for(CCSetIterator it = pTouches->begin(); it != pTouches->end(); ++it, ++count) {
956 jsval jsret;
957 getJSTouchObject(this->cx_, (CATouch *) *it, jsret);
958 if(!JS_SetElement(this->cx_, jsretArr, count, &jsret)) {
959 break;
960 }
961 }
962
963 jsval jsretArrVal = OBJECT_TO_JSVAL(jsretArr);
964 executeFunctionWithOwner(OBJECT_TO_JSVAL(obj), funcName.c_str(), 1, &jsretArrVal, &retval);
965 JS_RemoveObjectRoot(this->cx_, &jsretArr);
966
967 for(CCSetIterator it = pTouches->begin(); it != pTouches->end(); ++it, ++count) {
968 jsval jsret;
969 removeJSTouchObject(this->cx_, (CATouch *) *it, jsret);
970 }
971
972 return 1;
973}
974
975
976int ScriptingCore::executeCustomTouchEvent(int eventType,

Callers

nothing calls this directly

Calls 7

getTouchesFuncNameFunction · 0.85
getJSTouchObjectFunction · 0.85
removeJSTouchObjectFunction · 0.85
OBJECT_TO_JSVALFunction · 0.50
beginMethod · 0.45
endMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected