Esempio n. 1
0
        internal override SFML.Graphics.Glyph GetGlyph(char c, int size, bool bold)
        {
            var rect    = new SFML.Graphics.IntRect();
            var bounds  = new SFML.Graphics.FloatRect();
            var advance = 0;

            if (DataType == BitmapFontDataType.None)
            {
                var width  = Texture.Width;
                var height = Texture.Height;

                var offsetChar = (int)c - CharCodeOffset;
                rect.Left = Util.TwoDeeX(offsetChar * CharacterWidth, width) + CharacterOffsetX;
                rect.Top  = Util.TwoDeeY(offsetChar * CharacterHeight, width) * CharacterHeight + CharacterOffsetY;

                rect.Width  = CharacterWidth;
                rect.Height = CharacterHeight;

                bounds.Top    = 0;
                bounds.Left   = 0;
                bounds.Width  = CharacterWidth;
                bounds.Height = CharacterHeight;

                advance = CharacterWidth;
            }
            else
            {
                var data = charData[c];

                rect.Left   = data.X;
                rect.Top    = data.Y;
                rect.Width  = data.Width;
                rect.Height = data.Height;

                bounds.Left   = data.OffsetX;
                bounds.Top    = data.OffsetY;
                bounds.Width  = data.Width;
                bounds.Height = data.Height;

                advance = data.Advance;
            }

            return(new SFML.Graphics.Glyph()
            {
                Advance = advance,
                Bounds = bounds,
                TextureRect = rect
            });
        }
Esempio n. 2
0
        public static SFML.Graphics.FloatRect GetBroadBounds(this SFML.Graphics.View view)
        {
            var rt = new SFML.Graphics.FloatRect();

            var a = view.Size.X / 2;
            var b = view.Size.Y / 2;

            float c = (float)Math.Sqrt(a * a + b * b);

            rt.Left   = view.Center.X - c;
            rt.Top    = view.Center.Y - c;
            rt.Width  = c * 2;
            rt.Height = c * 2;
            return(rt);
        }
 private static SFML.Window.Vector2f GetSpriteCenter(SFML.Graphics.Shape Object)
 {
     SFML.Graphics.FloatRect AABB = Object.GetGlobalBounds();
     return(new SFML.Window.Vector2f(AABB.Left + AABB.Width / 2.0f, AABB.Top + AABB.Height / 2.0f));
 }
Esempio n. 4
0
 public override SFML.Graphics.Drawable[] RenderBrain(SFML.Graphics.FloatRect view)
 {
     throw new NotImplementedException();
 }
Esempio n. 5
0
 public abstract SFML.Graphics.Drawable[] RenderBrain(SFML.Graphics.FloatRect view);