Exemple #1
0
Icon::Icon(Context *context, const std::string &iconName): Widget(context),
	m_color(Color::WHITE)
{
	if (!s_texture) {
		s_config.Read(FileSystem::gameDataFiles, CONFIG_FILE);

		s_texture.Reset(Graphics::TextureBuilder::UI(s_config.String("TextureFile")).GetOrCreateTexture(GetContext()->GetRenderer(), "ui"));

		const Graphics::TextureDescriptor &texDesc = s_texture->GetDescriptor();
		s_texScale = vector2f(1.0f/texDesc.dataSize.x, 1.0f/texDesc.dataSize.y);

		Graphics::MaterialDescriptor matDesc;
		matDesc.textures = 1;
		s_material.Reset(GetContext()->GetRenderer()->CreateMaterial(matDesc));
		s_material->texture0 = s_texture.Get();
	}

	std::string spec(s_config.String(iconName.c_str()));
	if (spec.size() == 0)
		spec = s_config.String(FALLBACK_ICON);
	assert(spec.size() > 0);

	std::vector<int> v(2);
	SplitSpec(spec, v);
	m_texPos = Point(v[0], v[1]);
}
Exemple #2
0
Skin::EdgedRectElement Skin::LoadEdgedRectElement(const std::string &spec)
{
	std::vector<int> v(5);
	SplitSpec(spec, v);
	return EdgedRectElement(v[0], v[1], v[2], v[3], v[4]);
}
Exemple #3
0
Skin::BorderedRectElement Skin::LoadBorderedRectElement(const std::string &spec)
{
	std::vector<int> v(5);
	SplitSpec(spec, v);
	return BorderedRectElement(v[0], v[1], v[2], v[3], v[4]*m_scale);
}
Exemple #4
0
Skin::RectElement Skin::LoadRectElement(const std::string &spec)
{
	std::vector<int> v(4);
	SplitSpec(spec, v);
	return RectElement(v[0], v[1], v[2], v[3]);
}