void Evaluate::start() { QString script = arguments()[0]; QString jsonArgs; if (arguments().length()>1){ jsonArgs = arguments()[1]; } else { jsonArgs ="[]"; } QString eval_script = QString("(function(){" " for(var i=0; i<arguments.length; i++) {" " arguments[i] = JSON.parse(arguments[i]);" " var elem_id = arguments[i]['element-581e-422e-8be1-884c4e116226'];" " if (elem_id) {" " arguments[i] = Capybara.getNode(elem_id);" " };" " };" " var _result = eval(\"%1\");" " return Capybara.wrapResult(_result);" " }).apply(null, %2)").arg(script.replace("\"","\\\"").remove("\n"), jsonArgs); QObject invocation_stub; invocation_stub.setProperty("allowUnattached", false); page()->currentFrame()->addToJavaScriptWindowObject("CapybaraInvocation", &invocation_stub); QVariant result = page()->currentFrame()->evaluateJavaScript(eval_script); JsonSerializer serializer; finish(true, serializer.serialize(result)); }
void JsonOut::write(const JsonSerializer &thing) { if (need_separator) { write_separator(); } thing.serialize(*this); need_separator = true; }
void serialize(JsonSerializer& serializer) override { serializer.serialize("template_name_hash", m_template_name_hash); serializer.serialize("entity", m_entity); serializer.serialize("position_x", m_position.x); serializer.serialize("position_y", m_position.y); serializer.serialize("position_z", m_position.z); serializer.serialize("rotation_x", m_rotation.x); serializer.serialize("rotation_y", m_rotation.y); serializer.serialize("rotation_z", m_rotation.z); serializer.serialize("rotation_w", m_rotation.w); serializer.serialize("size", m_size); }
bool Sprite::save(JsonSerializer& serializer) { if (!isReady()) return false; serializer.beginObject(); serializer.serialize("type", type == PATCH9 ? "patch9" : "simple"); serializer.serialize("top", top); serializer.serialize("bottom", bottom); serializer.serialize("left", left); serializer.serialize("right", right); serializer.serialize("texture", m_texture ? m_texture->getPath().c_str() : ""); serializer.endObject(); return true; }
void serialize(JsonSerializer& serializer) override { serializer.serialize("template_name", m_name.c_str()); serializer.serialize("entity", m_entity); }
void JavascriptConfirmMessages::start() { JsonSerializer serializer; QByteArray json = serializer.serialize(page()->confirmMessages()); emitFinished(true, json); }
void Evaluate::start() { QVariant result = page()->currentFrame()->evaluateJavaScript(arguments()[0]); JsonSerializer serializer; emitFinished(true, serializer.serialize(result)); }
bool Material::save(JsonSerializer& serializer) { serializer.beginObject(); serializer.serialize("shader", m_shader ? m_shader->getPath().c_str() : ""); for (int i = 0; i < m_texture_count; ++i) { char path[MAX_PATH_LENGTH]; int flags = 0; int atlas_size = -1; if (m_textures[i]) { flags = m_textures[i]->getFlags(); path[0] = '/'; Lumix::copyString(path + 1, MAX_PATH_LENGTH - 1, m_textures[i]->getPath().c_str()); atlas_size = m_textures[i]->getAtlasSize(); } else { path[0] = '\0'; } serializer.beginObject("texture"); serializer.serialize("source", path); if (atlas_size > 0) serializer.serialize("atlas_size", atlas_size); if (flags & BGFX_TEXTURE_U_CLAMP) serializer.serialize("u_clamp", true); if (flags & BGFX_TEXTURE_V_CLAMP) serializer.serialize("v_clamp", true); if (flags & BGFX_TEXTURE_W_CLAMP) serializer.serialize("w_clamp", true); if (flags & BGFX_TEXTURE_MIN_POINT) serializer.serialize("min_filter", "point"); if (flags & BGFX_TEXTURE_MIN_ANISOTROPIC) serializer.serialize("min_filter", "anisotropic"); if (flags & BGFX_TEXTURE_MAG_POINT) serializer.serialize("mag_filter", "point"); if (flags & BGFX_TEXTURE_MAG_ANISOTROPIC) serializer.serialize("mag_filter", "anisotropic"); if (m_textures[i] && m_textures[i]->getData()) serializer.serialize("keep_data", true); serializer.endObject(); } serializer.beginArray("uniforms"); for (int i = 0; i < m_uniforms.size(); ++i) { serializer.beginObject(); serializer.serialize("name", m_uniforms[i].m_name); switch (m_uniforms[i].m_type) { case Uniform::FLOAT: serializer.serialize("float_value", m_uniforms[i].m_float); break; case Uniform::TIME: serializer.serialize("time", m_uniforms[i].m_float); break; case Uniform::INT: serializer.serialize("int_value", m_uniforms[i].m_int); break; case Uniform::MATRIX: serializer.beginArray("matrix_value"); for (int j = 0; j < 16; ++j) { serializer.serializeArrayItem(m_uniforms[i].m_matrix[j]); } serializer.endArray(); break; default: ASSERT(false); break; } serializer.endObject(); } serializer.endArray(); serializer.serialize("backface_culling", isBackfaceCulling()); serializer.serialize("alpha_cutout", isAlphaCutout()); serializer.serialize("shadow_receiver", isShadowReceiver()); serializer.serialize("shininess", m_shininess); serializer.beginArray("specular"); serializer.serializeArrayItem(m_specular.x); serializer.serializeArrayItem(m_specular.y); serializer.serializeArrayItem(m_specular.z); serializer.endArray(); serializer.serialize("z_test", isZTest()); serializer.endObject(); return true; }