Add scale for label
This commit is contained in:
@@ -84,9 +84,9 @@ namespace OpenVulkano::Scene
|
||||
m_labelData.color = settings.backgroundColor;
|
||||
m_labelData.hasRoundedCorners = settings.hasRoundedCorners;
|
||||
m_labelData.hasArrow = settings.hasArrow;
|
||||
m_labelData.cornerRadius = settings.cornerRadius * settings.cornerRadius;
|
||||
m_labelData.arrowLength = settings.arrowLength;
|
||||
m_labelData.arrowWidth = settings.arrowWidth;
|
||||
m_labelData.cornerRadius = settings.cornerRadius * settings.cornerRadius * settings.scale;
|
||||
m_labelData.arrowLength = settings.arrowLength * settings.scale;
|
||||
m_labelData.arrowWidth = settings.arrowWidth * settings.scale;
|
||||
}
|
||||
|
||||
void LabelDrawable::AddText(const std::string& text, const TextConfig& config)
|
||||
@@ -96,18 +96,18 @@ namespace OpenVulkano::Scene
|
||||
TextDrawable& textDrawable = m_texts.emplace_back(m_atlasData, config);
|
||||
textDrawable.GetConfig().backgroundColor.a = 0; // do not render glyph's background
|
||||
double lineHeight = m_atlasData->GetLineHeight();
|
||||
textDrawable.GenerateText(text, m_position);
|
||||
textDrawable.GenerateText(text, m_position, m_settings.scale);
|
||||
textDrawable.SetShader(GetTextShader(m_atlasData->GetAtlasType(), IsBillboard()));
|
||||
m_bbox.Grow(textDrawable.GetBoundingBox());
|
||||
// update position for next text entry
|
||||
m_position.y = m_bbox.GetMin().y - lineHeight;
|
||||
m_position.y = m_bbox.GetMin().y - lineHeight * m_settings.scale;
|
||||
|
||||
Math::Vector2f padding = m_settings.padding * 2;
|
||||
if (m_settings.hasArrow) padding.y += m_settings.arrowLength;
|
||||
Math::Vector2f padding = m_settings.padding * 2 * m_settings.scale;
|
||||
if (m_settings.hasArrow) padding.y += m_settings.arrowLength * m_settings.scale;
|
||||
|
||||
m_labelData.textSize = m_bbox.GetSize() + padding;
|
||||
m_labelData.bboxCenter = m_bbox.GetCenter();
|
||||
if (m_settings.hasArrow) m_labelData.bboxCenter.y -= m_settings.arrowLength * 0.5f;
|
||||
if (m_settings.hasArrow) m_labelData.bboxCenter.y -= m_settings.arrowLength * 0.5f * m_settings.scale;
|
||||
}
|
||||
|
||||
std::optional<RayHit> LabelDrawable::Intersect(const Ray& ray) const
|
||||
|
||||
Reference in New Issue
Block a user