예제 #1
0
void RenderStack::GetBox(StyleCategories cat, StyleBox& box) const {
	StyleCategories base = CatMakeBaseBox(cat);
	box.Left             = Get((StyleCategories)(base + 0)).GetSize();
	box.Top              = Get((StyleCategories)(base + 1)).GetSize();
	box.Right            = Get((StyleCategories)(base + 2)).GetSize();
	box.Bottom           = Get((StyleCategories)(base + 3)).GetSize();
}
예제 #2
0
void Style::GetBox(StyleCategories cat, StyleBox& box) const {
	StyleCategories base = CatMakeBaseBox(cat);
	for (size_t i = 0; i < Attribs.size(); i++) {
		uint32_t pindex = uint32_t(Attribs[i].Category - base);
		if (pindex < 4)
			box.All[pindex] = Attribs[i].GetSize();
	}
}
예제 #3
0
void Style::SetUniformBox(StyleCategories cat, StyleAttrib val) {
	cat          = CatMakeBaseBox(cat);
	val.Category = (StyleCategories)(cat + 0);
	Set(val);
	val.Category = (StyleCategories)(cat + 1);
	Set(val);
	val.Category = (StyleCategories)(cat + 2);
	Set(val);
	val.Category = (StyleCategories)(cat + 3);
	Set(val);
}
예제 #4
0
void Style::SetBox(StyleCategories cat, StyleBox val) {
	if (cat >= CatMargin_Left && cat <= CatBorder_Bottom) {
		SetBoxInternal(CatMakeBaseBox(cat), val);
	} else
		XO_ASSERT(false);
}