コード例 #1
0
        public void Draw(Renderer2D renderer)
        {
            var rect = new Rectangle((int)X + 2, (int)Y + 2, (int)Width, (int)Height);

            renderer.FillRectangle(rect, Color4.Black);
            rect.X -= 2; rect.Y -= 2;
            renderer.FillRectangle(rect, Color4.White);

            var off        = 2;
            var heightTrue = Height - 2 * off;

            foreach (var line in graphLines)
            {
                if (line.Points.Count < 2)
                {
                    continue;
                }
                var dX = Width / line.Points.Count;
                for (int i = 0; i < line.Points.Count - 1; i++)
                {
                    var point0 = new Vector2(X + dX * i, Y + off + PlotY(line, i, heightTrue));
                    var point1 = new Vector2(X + dX * (i + 1), Y + off + PlotY(line, i + 1, heightTrue));
                    renderer.DrawLine(line.Color, point0, point1);
                }
            }
        }
コード例 #2
0
ファイル: XmlUIPanel.cs プロジェクト: youndoldman/Librelancer
            public override void Draw(ref bool is2d, TimeSpan delta, Rectangle bounds, Renderer2D render2d)
            {
                if (!Enabled)
                {
                    return;
                }
                if (Style.Color == null && Style.BorderColor == null)
                {
                    return;
                }
                if (!is2d)
                {
                    render2d.Start(Panel.Scene.GWidth, Panel.Scene.GHeight);
                }
                is2d = true;
                var r = GetRectangle(bounds);

                if (Style.Color != null)
                {
                    render2d.FillRectangle(r, Style.Color.Value);
                }
                if (Style.BorderColor != null)
                {
                    render2d.DrawRectangle(r, Style.BorderColor.Value, 1);
                }
            }
コード例 #3
0
        public void RenderFogTransition()
        {
            var c = GetFogColor();

            c.A = CalculateTransition(Nebula.Zone);
            render2D.FillRectangle(new Rectangle(0, 0, game.Width, game.Height), c);
        }
コード例 #4
0
ファイル: Cursor.cs プロジェクト: Regenhardt/Librelancer
        public void Draw(Renderer2D renderer, Mouse m, double globalTime)
        {
            //var pos = new Vector2(m.X, m.Y) - (Hotspot * Scale);
            var dst = new Rectangle(
                (int)m.X, (int)m.Y,
                (int)(Dimensions.Width * Scale), (int)(Dimensions.Height * Scale)
                );
            var angle = MathHelper.WrapF((float)globalTime * Spin, -MathF.PI, MathF.PI);
            var hp    = new Vector2((int)(Hotspot.X * Scale), (int)(Hotspot.Y * Scale));

            renderer.DrawRotated(
                (Texture2D)Resources.FindTexture(Texture),
                Dimensions,
                dst,
                hp,
                Color,
                BlendMode.Additive,
                angle
                );
            renderer.FillRectangle(new Rectangle(m.X, m.Y, 1, 1), Color4.Red);
        }