Beispiel #1
0
        public Rectangle Measure(string text)
        {
            EnsureNotDisposed();

            MeasureContainer.Font             = SfmlFont;
            MeasureContainer.DisplayedString  = text;
            MeasureContainer.CharacterSize    = CharacterSize;
            MeasureContainer.LetterSpacing    = CharacterSpacing;
            MeasureContainer.LineSpacing      = LineSpacing;
            MeasureContainer.OutlineThickness = OutlineThickness;
            MeasureContainer.Style            = SfmlText.Styles.Regular;

            if (Bold)
            {
                MeasureContainer.Style |= SfmlText.Styles.Bold;
            }

            if (Italic)
            {
                MeasureContainer.Style |= SfmlText.Styles.Italic;
            }

            if (Underline)
            {
                MeasureContainer.Style |= SfmlText.Styles.Underlined;
            }

            if (Strikethrough)
            {
                MeasureContainer.Style |= SfmlText.Styles.StrikeThrough;
            }

            return(MeasureContainer.GetLocalBounds()
                   .ToIrisRectangle());
        }
Beispiel #2
0
        protected virtual void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    // No managed objects to dispose.
                }

                MeasureContainer.Dispose();
                SfmlFont.Dispose();

                _disposed = true;
            }
        }