+ GL::MatrixStack::Push _pushm(renderer.matrix_stack());
+ renderer.matrix_stack() *= GL::Matrix::translation(geom.x, geom.y, 0);
+ const PartCache::PartList &parts = part_cache.get_parts();
+ for(PartCache::PartList::const_iterator i=parts.begin(); i!=parts.end(); ++i)
+ {
+ if(i->mesh && i->texture)
+ {
+ renderer.set_texture(i->texture);
+ i->mesh->draw(renderer);
+ }
+ else if(i->part)
+ render_special(*i->part, renderer);
+ }
+}
+
+void Widget::pointer_enter()