Esempio n. 1
0
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));
}
Esempio n. 2
0
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);
		}
Esempio n. 4
0
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);
}
Esempio n. 7
0
void Evaluate::start() {
  QVariant result = page()->currentFrame()->evaluateJavaScript(arguments()[0]);
  JsonSerializer serializer;
  emitFinished(true, serializer.serialize(result));
}
Esempio n. 8
0
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;
}