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(); }
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(); } }
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); }
void Style::SetBox(StyleCategories cat, StyleBox val) { if (cat >= CatMargin_Left && cat <= CatBorder_Bottom) { SetBoxInternal(CatMakeBaseBox(cat), val); } else XO_ASSERT(false); }