Esempio n. 1
0
Point Slider::PreferredSize()
{
	const Skin &skin = GetContext()->GetSkin();

	if (m_orient == SLIDER_HORIZONTAL) {
		SetSizeControlFlags(EXPAND_WIDTH);
		return skin.SliderHorizontalButtonNormal().size;
	}

	SetSizeControlFlags(EXPAND_HEIGHT);
	return skin.SliderVerticalButtonNormal().size;
}
Esempio n. 2
0
Face::Face(Context *context, Uint32 flags, Uint32 seed) : Single(context), m_preferredSize(INT_MAX)
{
	if (!seed) seed = time(0);

	m_flags = flags;
	m_seed = seed;

	SDLSurfacePtr faceim = SDLSurfacePtr::WrapNew(SDL_CreateRGBSurface(SDL_SWSURFACE, FaceParts::FACE_WIDTH, FaceParts::FACE_HEIGHT, 24, 0xff, 0xff00, 0xff0000, 0));

	FaceParts::FaceDescriptor face;
	switch (flags & GENDER_MASK) {
		case RAND: face.gender = -1; break;
		case MALE: face.gender = 0; break;
		case FEMALE: face.gender = 1; break;
		default: assert(0); break;
	}

	FaceParts::PickFaceParts(face, m_seed);
	FaceParts::BuildFaceImage(faceim.Get(), face, (flags & ARMOUR));

	m_texture.reset(Graphics::TextureBuilder(faceim, Graphics::LINEAR_CLAMP, true, true).CreateTexture(GetContext()->GetRenderer()));

	if (!s_material) {
		Graphics::MaterialDescriptor matDesc;
		matDesc.textures = 1;
		s_material.Reset(GetContext()->GetRenderer()->CreateMaterial(matDesc));
	}

	m_preferredSize = UI::Point(FaceParts::FACE_WIDTH, FaceParts::FACE_HEIGHT);
	SetSizeControlFlags(UI::Widget::PRESERVE_ASPECT);
}
Esempio n. 3
0
Point Expand::PreferredSize()
{
	const Point innerPreferredSize(GetInnerWidget() ? GetInnerWidget()->CalcLayoutContribution() : Point());

	switch (m_direction) {
		case BOTH:
			SetSizeControlFlags(EXPAND_WIDTH | EXPAND_HEIGHT);
			break;
		case HORIZONTAL:
			SetSizeControlFlags(EXPAND_WIDTH);
			break;
		case VERTICAL:
			SetSizeControlFlags(EXPAND_HEIGHT);
			break;
	}

	return innerPreferredSize;
}
Esempio n. 4
0
Image::Image(Context *context, const std::string &filename, Uint32 sizeControlFlags): Widget(context)
{
	Graphics::TextureBuilder b = Graphics::TextureBuilder::UI(filename);
	m_texture.Reset(b.GetOrCreateTexture(GetContext()->GetRenderer(), "ui"));

	const Graphics::TextureDescriptor &descriptor = b.GetDescriptor();
	m_initialSize = Point(descriptor.dataSize.x*descriptor.texSize.x,descriptor.dataSize.y*descriptor.texSize.y);

	Graphics::MaterialDescriptor material_desc;
	material_desc.textures = 1;
	m_material.Reset(GetContext()->GetRenderer()->CreateMaterial(material_desc));
	m_material->texture0 = m_texture.Get();

	SetSizeControlFlags(sizeControlFlags);
}
Esempio n. 5
0
Point Gauge::PreferredSize()
{
	SetSizeControlFlags(EXPAND_WIDTH);
	return GetContext()->GetSkin().GaugeBackground().size;
}
Esempio n. 6
0
Point Icon::PreferredSize()
{
	SetSizeControlFlags(NO_HEIGHT | PRESERVE_ASPECT);
	return Point(48);
}
Esempio n. 7
0
MultiLineText::MultiLineText(Context *context, const std::string &text) : Widget(context), m_text(text)
{
	m_layout.Reset(new TextLayout(GetContext()->GetFont(GetFont()), m_text));

	SetSizeControlFlags(EXPAND_WIDTH);
}