JSBool JavaObject::getPropertyWrapper(JSContext* ctx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp) { jsval rval; JSBool result = JavaObject::getProperty(ctx, obj.get(), id.get(), &rval); vp.set(rval); return result; }
CEXPORT JSBool def_timestep_view_set_filterColor(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool strict, JSMutableHandleValue vp) { JS_BeginRequest(cx); timestep_view *thiz = (timestep_view*)JS_GetPrivate(obj.get()); if (thiz) { if (vp.isString()) { JSString *jstr = vp.toString(); JSTR_TO_CSTR(cx, jstr, cstr); rgba color; rgba_parse(&color, cstr); thiz->filter_color = color; } } JS_EndRequest(cx); return JS_TRUE; }
CEXPORT JSBool def_timestep_image_map_set_width(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool strict, JSMutableHandleValue vp) { JS_BeginRequest(cx); timestep_image_map *thiz = (timestep_image_map*)JS_GetPrivate(obj.get()); if (thiz) { thiz->width = vp.toInt32(); } JS_EndRequest(cx); return JS_TRUE; }
CEXPORT JSBool def_timestep_view_get_offsetX(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp) { JS_BeginRequest(cx); timestep_view *thiz = (timestep_view*)JS_GetPrivate(obj.get()); if (thiz) { vp.setNumber(thiz->offset_x); } JS_EndRequest(cx); return JS_TRUE; }
CEXPORT JSBool def_timestep_image_map_get_marginLeft(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp) { JS_BeginRequest(cx); timestep_image_map *thiz = (timestep_image_map*)JS_GetPrivate(obj.get()); if (thiz) { vp.setInt32(thiz->margin_left); } JS_EndRequest(cx); return JS_TRUE; }
CEXPORT JSBool def_timestep_view_get_filterType(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp) { JS_BeginRequest(cx); timestep_view *thiz = (timestep_view*)JS_GetPrivate(obj.get()); if (thiz) { vp.setInt32(thiz->filter_type); } JS_EndRequest(cx); return JS_TRUE; }
CEXPORT JSBool def_timestep_view_set_y(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool strict, JSMutableHandleValue vp) { JS_BeginRequest(cx); timestep_view *thiz = (timestep_view*)JS_GetPrivate(obj.get()); if (thiz) { thiz->y = vp.toNumber(); } JS_EndRequest(cx); return JS_TRUE; }
CEXPORT JSBool def_timestep_image_map_get_url(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp) { JS_BeginRequest(cx); timestep_image_map *thiz = (timestep_image_map*)JS_GetPrivate(obj.get()); if (thiz) { vp.setString(JS_NewStringCopyZ(cx, thiz->url)); } JS_EndRequest(cx); return JS_TRUE; }
CEXPORT JSBool def_timestep_view_get___firstRender(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp) { JS_BeginRequest(cx); timestep_view *thiz = (timestep_view*)JS_GetPrivate(obj.get()); if (thiz) { vp.setBoolean(thiz->__first_render); } JS_EndRequest(cx); return JS_TRUE; }
CEXPORT JSBool def_timestep_image_map_set_url(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool strict, JSMutableHandleValue vp) { JS_BeginRequest(cx); timestep_image_map *thiz = (timestep_image_map*)JS_GetPrivate(obj.get()); if (thiz) { if (vp.isString()) { JSString *jstr = vp.toString(); JSTR_TO_CSTR_PERSIST(cx, jstr, cstr); if (thiz->url) { free(thiz->url); } thiz->url = cstr; } } JS_EndRequest(cx); return JS_TRUE; }
static JSBool js_cocos2dx_extension_WebSocket_get_readyState(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp) { JSObject* jsobj = obj.get(); js_proxy_t *proxy = jsb_get_js_proxy(jsobj); WebSocket* cobj = (WebSocket *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); if (cobj) { vp.set(INT_TO_JSVAL((int)cobj->getReadyState())); return JS_TRUE; } else { JS_ReportError(cx, "Error: WebSocket instance is invalid."); return JS_FALSE; } }
CEXPORT JSBool def_timestep_view_get_filterColor(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp) { JS_BeginRequest(cx); timestep_view *thiz = (timestep_view*)JS_GetPrivate(obj.get()); if (thiz) { rgba prop = thiz->filter_color; char buf[64]; int len = rgba_to_string(&prop, buf); vp.setString(JS_NewStringCopyN(cx, buf, len)); } JS_EndRequest(cx); return JS_TRUE; }
JSBool Compare(JSContext *cx, JSHandleString src1, JSHandleString src2, JSMutableHandleValue rval) { nsresult rv; if (!mCollation) { nsCOMPtr<nsILocaleService> localeService = do_GetService(NS_LOCALESERVICE_CONTRACTID, &rv); if (NS_SUCCEEDED(rv)) { nsCOMPtr<nsILocale> locale; rv = localeService->GetApplicationLocale(getter_AddRefs(locale)); if (NS_SUCCEEDED(rv)) { nsCOMPtr<nsICollationFactory> colFactory = do_CreateInstance(NS_COLLATIONFACTORY_CONTRACTID, &rv); if (NS_SUCCEEDED(rv)) { rv = colFactory->CreateCollation(locale, getter_AddRefs(mCollation)); } } } if (NS_FAILED(rv)) { xpc::Throw(cx, rv); return false; } } nsDependentJSString depStr1, depStr2; if (!depStr1.init(cx, src1) || !depStr2.init(cx, src2)) { return false; } int32_t result; rv = mCollation->CompareString(nsICollation::kCollationStrengthDefault, depStr1, depStr2, &result); if (NS_FAILED(rv)) { xpc::Throw(cx, rv); return false; } rval.set(INT_TO_JSVAL(result)); return true; }
static JSBool ChangeCase(JSContext* cx, JSHandleString src, JSMutableHandleValue rval, void(*changeCaseFnc)(const nsAString&, nsAString&)) { nsDependentJSString depStr; if (!depStr.init(cx, src)) { return false; } nsAutoString result; changeCaseFnc(depStr, result); JSString *ucstr = JS_NewUCStringCopyN(cx, (jschar*)result.get(), result.Length()); if (!ucstr) { return false; } rval.set(STRING_TO_JSVAL(ucstr)); return true; }
JSBool JavaObject::setPropertyWrapper(JSContext* ctx, JSHandleObject obj, JSHandleId id, JSBool strict, JSMutableHandleValue vp) { jsval rval = vp.get(); return JavaObject::setProperty(ctx, obj, id, strict, &rval); }
JSBool ToUnicode(JSContext* cx, const char* src, JSMutableHandleValue rval) { nsresult rv; if (!mDecoder) { // use app default locale nsCOMPtr<nsILocaleService> localeService = do_GetService(NS_LOCALESERVICE_CONTRACTID, &rv); if (NS_SUCCEEDED(rv)) { nsCOMPtr<nsILocale> appLocale; rv = localeService->GetApplicationLocale(getter_AddRefs(appLocale)); if (NS_SUCCEEDED(rv)) { nsAutoString localeStr; rv = appLocale-> GetCategory(NS_LITERAL_STRING(NSILOCALE_TIME), localeStr); NS_ASSERTION(NS_SUCCEEDED(rv), "failed to get app locale info"); nsCOMPtr<nsIPlatformCharset> platformCharset = do_GetService(NS_PLATFORMCHARSET_CONTRACTID, &rv); if (NS_SUCCEEDED(rv)) { nsAutoCString charset; rv = platformCharset->GetDefaultCharsetForLocale(localeStr, charset); if (NS_SUCCEEDED(rv)) { // get/create unicode decoder for charset nsCOMPtr<nsICharsetConverterManager> ccm = do_GetService(NS_CHARSETCONVERTERMANAGER_CONTRACTID, &rv); if (NS_SUCCEEDED(rv)) ccm->GetUnicodeDecoder(charset.get(), getter_AddRefs(mDecoder)); } } } } } int32_t srcLength = PL_strlen(src); if (mDecoder) { int32_t unicharLength = srcLength; PRUnichar *unichars = (PRUnichar *)JS_malloc(cx, (srcLength + 1) * sizeof(PRUnichar)); if (unichars) { rv = mDecoder->Convert(src, &srcLength, unichars, &unicharLength); if (NS_SUCCEEDED(rv)) { // terminate the returned string unichars[unicharLength] = 0; // nsIUnicodeDecoder::Convert may use fewer than srcLength PRUnichars if (unicharLength + 1 < srcLength + 1) { PRUnichar *shrunkUnichars = (PRUnichar *)JS_realloc(cx, unichars, (unicharLength + 1) * sizeof(PRUnichar)); if (shrunkUnichars) unichars = shrunkUnichars; } JSString *str = JS_NewUCString(cx, reinterpret_cast<jschar*>(unichars), unicharLength); if (str) { rval.setString(str); return true; } } JS_free(cx, unichars); } } xpc::Throw(cx, NS_ERROR_OUT_OF_MEMORY); return false; }
JSBool setProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool strict, JSMutableHandleValue vp) { printf("in setProperty %ld=%s\n",JSID_BITS(id.get()),JS_EncodeString(cx,JS_ValueToString(cx,vp.get()))); return true; }