void InlineListWidget::updateGeometry() { FR_PushAttrib(); FR_SetFont(page().predefinedFont(mn_page_fontid_t(font()))); Size2Raw maxSize{}; Size2Raw size; for (int i = 0; i < items().size(); ++i) { FR_TextSize(&size, items().at(i)->text().toUtf8().constData()); maxSize.width = de::max(maxSize.width, size.width); maxSize.height = de::max(maxSize.height, size.height); } geometry().setSize(Vector2ui(maxSize.width, maxSize.height)); FR_PopAttrib(); }
void LabelWidget::updateGeometry() { /// @todo What if patch replacement is disabled? if(d->patch) { patchinfo_t info; R_GetPatchInfo(*d->patch, &info); geometry().setSize(Vector2ui(info.geometry.size.width, info.geometry.size.height)); return; } FR_PushAttrib(); Size2Raw size; FR_SetFont(page().predefinedFont(mn_page_fontid_t(font()))); FR_TextSize(&size, d->text.toUtf8().constData()); geometry().setSize(Vector2ui(size.width, size.height)); FR_PopAttrib(); }