rebuild();
}
-void Button::rebuild_special(const Part &part, CachedPart &cache)
+void Button::rebuild_special(const Part &part)
{
if(part.get_name()=="text")
- text.build(part, geom, cache);
+ text.build(part, geom, part_cache);
if(part.get_name()=="icon")
{
- cache.texture = icon;
if(icon)
{
Geometry rgeom;
rgeom.h = icon->get_height();
part.get_alignment().apply(rgeom, geom, part.get_margin());
- cache.clear_mesh();
-
- GL::MeshBuilder bld(*cache.mesh);
+ GL::MeshBuilder bld(part_cache.create_mesh(part, *icon));
bld.color(1.0f, 1.0f, 1.0f);
bld.begin(GL::QUADS);
bld.texcoord(0, 0);
Button::Loader::Loader(Button &btn):
- Widget::Loader(btn)
+ DataFile::DerivedObjectLoader<Button, Widget::Loader>(btn)
{
add("text", &Loader::text);
}
void Button::Loader::text(const std::string &t)
{
- static_cast<Button &>(obj).text = t;
+ obj.text = t;
}
} // namespace GLtk