- if(!i->first->is_visible())
- continue;
-
- const Icon &icon = *i->second;
-
- Point node = i->first->get_node();
- GL::Vector3 p = camera.project(GL::Vector3(node.x, node.y, node.z));
-
- GL::PushMatrix push_mat;
- p.x = int(p.x*0.5*window.get_width()-icon.width*size/2);
- p.y = int(p.y*0.5*window.get_height());
- GL::translate(p.x, p.y, p.z);
- GL::scale_uniform(size);
-
- icon.background.draw();
-
- glColor3f(0.0, 1.0, 0.0);
- for(vector<const GL::Mesh *>::const_iterator j=icon.graphics.begin(); j!=icon.graphics.end(); ++j)
- {
- (*j)->draw();
- GL::translate(spacing, 0, 0);
- }
-
- GL::translate(0, baseline, 0);
- GL::Immediate imm((GL::TEXCOORD2, GL::COLOR4_UBYTE, GL::VERTEX2));
- imm.color(0.0f, 1.0f, 0.0f);
- font.draw_string(icon.label, imm);
- GL::Texture::unbind();