bool Text3D::SetFont(const String& fontName, int size) { bool success = text_.SetFont(fontName, size); // Changing font requires materials to be re-evaluated. Material evaluation can not be done in worker threads, // so UI batches must be brought up-to-date immediately MarkTextDirty(); UpdateTextBatches(); UpdateTextMaterials(); return success; }
void Text3D::SetColor(const Color& color) { float oldAlpha = text_.GetColor(C_TOPLEFT).a_; text_.SetColor(color); MarkTextDirty(); // If alpha changes from zero to nonzero or vice versa, amount of text batches changes (optimization), so do full update if ((oldAlpha == 0.0f && color.a_ != 0.0f) || (oldAlpha != 0.0f && color.a_ == 0.0f)) { UpdateTextBatches(); UpdateTextMaterials(); } }
void Text3D::SetOpacity(float opacity) { float oldOpacity = text_.GetOpacity(); text_.SetOpacity(opacity); float newOpacity = text_.GetOpacity(); MarkTextDirty(); // If opacity changes from zero to nonzero or vice versa, amount of text batches changes (optimization), so do full update if ((oldOpacity == 0.0f && newOpacity != 0.0f) || (oldOpacity != 0.0f && newOpacity == 0.0f)) { UpdateTextBatches(); UpdateTextMaterials(); } }
void Text3D::SetOpacity(float opacity) { text_.SetOpacity(opacity); MarkTextDirty(); }
void Text3D::SetColor(Corner corner, const Color& color) { text_.SetColor(corner, color); MarkTextDirty(); }
void Text3D::SetWordwrap(bool enable) { text_.SetWordwrap(enable); MarkTextDirty(); }
void Text3D::SetRowSpacing(float spacing) { text_.SetRowSpacing(spacing); MarkTextDirty(); }
void Text3D::SetTextAlignment(HorizontalAlignment align) { text_.SetTextAlignment(align); MarkTextDirty(); }
void Text3D::SetVerticalAlignment(VerticalAlignment align) { text_.SetVerticalAlignment(align); MarkTextDirty(); }
void Text3D::SetAlignment(HorizontalAlignment hAlign, VerticalAlignment vAlign) { text_.SetAlignment(hAlign, vAlign); MarkTextDirty(); }
void Text3D::SetEffectDepthBias(float bias) { text_.SetEffectDepthBias(bias); MarkTextDirty(); }
void Text3D::SetEffectColor(const Color& effectColor) { text_.SetEffectColor(effectColor); MarkTextDirty(); }
void Text3D::SetTextEffect(TextEffect textEffect) { text_.SetTextEffect(textEffect); MarkTextDirty(); }