diff options
Diffstat (limited to 'Drawer.cpp')
-rw-r--r-- | Drawer.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
@@ -17,6 +17,7 @@ void Drawer::realize(GtkWidget *widget, Drawer *drawer) { glEnable(GL_BLEND); glEnable(GL_LINE_SMOOTH); + glEnable(GL_POINT_SMOOTH); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); @@ -238,9 +239,13 @@ void Drawer::viewToImage(Vertex *v) const { float Drawer::getImageWidth() const { float max = 0; - for(Level::iterator room = window->getLevel().begin(); room != window->getLevel().end(); room++) { - for(Room::iterator v = room->begin(); v != room->end(); v++) { - max = fmaxf(max, fabsf(v->getX())); + for(Level::iterator object = window->getLevel().begin(); object != window->getLevel().end(); object++) { + if((*object)->isOfType("Room")) { + Room *room = (Room*)&**object; + + for(Room::iterator v = room->begin(); v != room->end(); v++) { + max = fmaxf(max, fabsf(v->getX())); + } } } @@ -250,9 +255,13 @@ float Drawer::getImageWidth() const { float Drawer::getImageHeight() const { float max = 0; - for(Level::iterator room = window->getLevel().begin(); room != window->getLevel().end(); room++) { - for(Room::iterator v = room->begin(); v != room->end(); v++) { - max = fmaxf(max, fabsf(v->getY())); + for(Level::iterator object = window->getLevel().begin(); object != window->getLevel().end(); object++) { + if((*object)->isOfType("Room")) { + Room *room = (Room*)&**object; + + for(Room::iterator v = room->begin(); v != room->end(); v++) { + max = fmaxf(max, fabsf(v->getY())); + } } } |