| 106 | } |
| 107 | |
| 108 | void PortraitWidget::updateSize() { |
| 109 | auto imgMetadata = Root::singleton().imageMetadataDatabase(); |
| 110 | |
| 111 | if (m_iconMode) { |
| 112 | setSize(Vec2I(imgMetadata->imageSize(m_iconImage) * m_scale)); |
| 113 | } else { |
| 114 | if (m_entity) { |
| 115 | setSize(Vec2I( |
| 116 | (Drawable::boundBoxAll(m_entity->portrait(m_portraitMode), false) |
| 117 | .size() |
| 118 | * TilePixels |
| 119 | * m_scale) |
| 120 | .ceil())); |
| 121 | } else { |
| 122 | if (m_portraitMode == PortraitMode::Bust || m_portraitMode == PortraitMode::Head) |
| 123 | setSize(Vec2I(imgMetadata->imageSize(m_iconImage) * m_scale)); |
| 124 | else |
| 125 | setSize(Vec2I(imgMetadata->imageSize(m_noEntityImageFull) * m_scale)); |
| 126 | } |
| 127 | } |
| 128 | } |
| 129 | |
| 130 | } |