Matt Liberty
10/29/2024, 1:03 PMconst odb::dbTransform xform = inst->getTransform();
for (auto inst_iterm : inst->getITerms()) {
bool drawn = false;
for (auto* mpin : inst_iterm->getMTerm()->getMPins()) {
for (auto* geom : mpin->getGeometry()) {
const auto layer = geom->getTechLayer();
if (layer == nullptr) {
continue;
}
if (viewer_->options_->isVisible(layer)) {
Rect pin_rect = geom->getBox();
xform.apply(pin_rect);
const QString name = inst_iterm->getMTerm()->getConstName();
drawn = drawTextInBBox(
text_color, text_font, pin_rect, name, painter, false);
}
if (drawn) {
// Only draw on the first box
break;
}
}
if (drawn) {
break;
}
}
}
I don't think there is a helper but I'd be glad to have one