void DiveGasPressureItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { if (polygon().isEmpty()) return; QPen pen; pen.setCosmetic(true); pen.setWidth(2); struct plot_data *entry = dataModel->data().entry; Q_FOREACH (const QPolygonF &poly, polygons) { for (int i = 1, count = poly.count(); i < count; i++, entry++) { pen.setBrush(getSacColor(entry->sac, displayed_dive.sac)); painter->setPen(pen); painter->drawLine(poly[i - 1], poly[i]); } } }
void DiveGasPressureItem::paint(QPainter *painter, const QStyleOptionGraphicsItem*, QWidget*) { if (polygon().isEmpty()) return; QPen pen; pen.setCosmetic(true); pen.setWidth(2); painter->save(); struct plot_data *entry; Q_FOREACH (const QPolygonF &poly, polygons) { entry = dataModel->data().entry; for (int i = 1, count = poly.count(); i < count; i++, entry++) { if (!in_planner()) { if (entry->sac) pen.setBrush(getSacColor(entry->sac, displayed_dive.sac)); else pen.setBrush(MED_GRAY_HIGH_TRANS); } else { pen.setBrush(getPressureColor(entry->density)); } painter->setPen(pen); painter->drawLine(poly[i - 1], poly[i]); } }