void PaintMethods::paintDebugDrawing(QPainter& painter, const DebugDrawing& debugDrawing, const QTransform& baseTrans) { for(const DebugDrawing::Element* e = debugDrawing.getFirst(); e; e = debugDrawing.getNext(e)) switch(e->type) { case DebugDrawing::Element::POLYGON: { paintPolygon(*static_cast<const DebugDrawing::Polygon*>(e), painter); break; } case DebugDrawing::Element::GRID_RGBA: { paintGridRGBA(*static_cast<const DebugDrawing::GridRGBA*>(e), painter); break; } case DebugDrawing::Element::GRID_MONO: { paintGridMono(*static_cast<const DebugDrawing::GridMono*>(e), painter); break; } case DebugDrawing::Element::ELLIPSE: { paintEllipse(*static_cast<const DebugDrawing::Ellipse*>(e), painter); break; } case DebugDrawing::Element::ARC: { paintArc(*static_cast<const DebugDrawing::Arc*>(e), painter); break; } case DebugDrawing::Element::RECTANGLE: { paintRectangle(*static_cast<const DebugDrawing::Rectangle*>(e), painter); break; } case DebugDrawing::Element::LINE: { paintLine(*static_cast<const DebugDrawing::Line*>(e), painter); break; } case DebugDrawing::Element::ORIGIN: { paintOrigin(*static_cast<const DebugDrawing::Origin*>(e), painter, baseTrans); break; } case DebugDrawing::Element::TEXT: { paintText(*static_cast<const DebugDrawing::Text*>(e), painter); break; } default: break; } }
/*! Draw the shape in response to an update event. */ void QgsHighlight::paint( QPainter* p ) { if ( !mGeometry ) { return; } p->setPen( mPen ); p->setBrush( mBrush ); switch ( mGeometry->wkbType() ) { case QGis::WKBPoint: case QGis::WKBPoint25D: { paintPoint( p, mGeometry->asPoint() ); } break; case QGis::WKBMultiPoint: case QGis::WKBMultiPoint25D: { QgsMultiPoint m = mGeometry->asMultiPoint(); for ( int i = 0; i < m.size(); i++ ) { paintPoint( p, m[i] ); } } break; case QGis::WKBLineString: case QGis::WKBLineString25D: { paintLine( p, mGeometry->asPolyline() ); } break; case QGis::WKBMultiLineString: case QGis::WKBMultiLineString25D: { QgsMultiPolyline m = mGeometry->asMultiPolyline(); for ( int i = 0; i < m.size(); i++ ) { paintLine( p, m[i] ); } } break; case QGis::WKBPolygon: case QGis::WKBPolygon25D: { paintPolygon( p, mGeometry->asPolygon() ); } break; case QGis::WKBMultiPolygon: case QGis::WKBMultiPolygon25D: { QgsMultiPolygon m = mGeometry->asMultiPolygon(); for ( int i = 0; i < m.size(); i++ ) { paintPolygon( p, m[i] ); } } break; case QGis::WKBUnknown: default: return; } }
void t_libraryEditor::paintEvent(QPaintEvent *event) { QPainter painter(this); QBrush polyBrush; polyBrush.setColor(g_color); QPen dotPen; uint8_t minThickness = 4; painter.setRenderHint(QPainter::Antialiasing, true); painter.scale(scale, scale); painter.translate(offsetx,offsety); painter.setBackgroundMode(Qt::OpaqueMode); painter.setBackground(QBrush(QColor(255,255,255))); painter.fillRect(-2000,-2000,4000,4000,QColor(255,255,255)); dotPen.setStyle(Qt::DashLine); dotPen.setColor(QColor(200,200,200)); dotPen.setWidth(0); painter.setPen(dotPen); for(int16_t x = -2000; x != 2000; x += 50) { painter.drawLine(x,-2000,x,2000); painter.drawLine(-2000,x,2000,x); } if(haveComp) { for(uint16_t t = 0; t != currentComponent->items.size(); ++t) { if(currentComponent->items.at(t)->thickness < minThickness) currentComponent->items.at(t)->thickness = minThickness; if(currentComponent->items.at(t)->type == 'P') { t_PolylineObject *ob = static_cast<t_PolylineObject*>(currentComponent->items.at(t)); paintPolygon(painter, *ob); } else if(currentComponent->items.at(t)->type == 'C') { t_CircleObject *ob = static_cast<t_CircleObject*>(currentComponent->items.at(t)); paintCircle(painter, *ob); } else if(currentComponent->items.at(t)->type == 'X') { t_PinObject *ob = static_cast<t_PinObject*>(currentComponent->items.at(t)); paintPin(painter, *ob); } else if(currentComponent->items.at(t)->type == 'S') { t_RectangleObject *ob = static_cast<t_RectangleObject*>(currentComponent->items.at(t)); paintRectangle(painter, *ob); } else if(currentComponent->items.at(t)->type == 'A') { t_ArcObject *ob = static_cast<t_ArcObject*>(currentComponent->items.at(t)); paintArc(painter, *ob); } } for(uint8_t t = 0; t != currentComponent->fields.size(); ++t) { t_component_field tF = currentComponent->fields.at(t); if(tF.flags & (1 << VISIBLE)) { paintText(painter, tF); } } } /* if(incompleteStage) { dotPen.setWidth(5); dotPen.setStyle(Qt::SolidLine); dotPen.setColor(QColor(200,100,100)); painter.setPen(dotPen); painter.drawLine(incompleteLine); } else if(pinPlacement) { dotPen.setWidth(1); dotPen.setColor(QColor(100,200,100)); painter.setPen(dotPen); painter.drawEllipse(incompleteLine.p2(), 10, 10); } */ dotPen.setColor(QColor(100,100,100)); dotPen.setWidth(1); painter.setPen(dotPen); painter.drawLine(0,-10,0,10); painter.drawLine(-10,0,10,0); event->accept(); }