diff --git a/DestinationGLCanvas.cpp b/DestinationGLCanvas.cpp index 988e170..ee6646d 100644 --- a/DestinationGLCanvas.cpp +++ b/DestinationGLCanvas.cpp @@ -42,7 +42,9 @@ void DestinationGLCanvas::doDraw(QPainter* painter) QVector mappings = getMainWindow()->getMappingManager().getVisibleMappings(); for (QVector::const_iterator it = mappings.begin(); it != mappings.end(); ++it) { + painter->save(); getMainWindow()->getMapperByMappingId((*it)->getId())->draw(painter); + painter->restore(); } // Draw the controls of current mapping. @@ -50,7 +52,9 @@ void DestinationGLCanvas::doDraw(QPainter* painter) getMainWindow()->hasCurrentMapping() && getCurrentShape() != NULL) { + painter->save(); getMainWindow()->getMapperByMappingId(getMainWindow()->getCurrentMappingId())->drawControls(painter); + painter->restore(); } glPopMatrix(); diff --git a/Mapper.cpp b/Mapper.cpp index 7976954..4a73c68 100644 --- a/Mapper.cpp +++ b/Mapper.cpp @@ -167,7 +167,6 @@ MeshColorMapper::MeshColorMapper(Mapping::ptr mapping) void MeshColorMapper::draw(QPainter* painter) { - painter->setRenderHint(QPainter::Antialiasing); painter->setPen(Qt::NoPen); painter->setBrush(color->getColor()); @@ -260,7 +259,6 @@ void TextureMapper::updateShape(Shape* shape) void TextureMapper::draw(QPainter* painter) { - Q_UNUSED(painter); painter->beginNativePainting(); // Only works for similar shapes. @@ -297,7 +295,6 @@ void TextureMapper::draw(QPainter* painter) void TextureMapper::drawInput(QPainter* painter) { - Q_UNUSED(painter); painter->beginNativePainting(); // Only works for similar shapes. diff --git a/MapperGLCanvas.cpp b/MapperGLCanvas.cpp index 9c4b31d..1c9e046 100644 --- a/MapperGLCanvas.cpp +++ b/MapperGLCanvas.cpp @@ -70,6 +70,8 @@ void MapperGLCanvas::enterDraw(QPainter* painter) // Antialiasing. painter->setRenderHint(QPainter::Antialiasing); + painter->setPen(Qt::NoPen); + painter->setBrush(Qt::NoBrush); } void MapperGLCanvas::exitDraw(QPainter* painter) diff --git a/SourceGLCanvas.cpp b/SourceGLCanvas.cpp index db75cd4..0dbab27 100644 --- a/SourceGLCanvas.cpp +++ b/SourceGLCanvas.cpp @@ -48,9 +48,15 @@ void SourceGLCanvas::doDraw(QPainter* painter) { uint mappingId = getMainWindow()->getCurrentMappingId(); Mapper::ptr mapper = getMainWindow()->getMapperByMappingId(mappingId); + painter->save(); mapper->drawInput(painter); + painter->restore(); if (displayControls()) + { + painter->save(); mapper->drawInputControls(painter); + painter->restore(); + } } }