예제 #1
0
        public override void Draw(Graphics g, double deltaTime)
        {
            if (Tabs == null || Tabs.Length == 0)
            {
                return;
            }

            var widths = new int[Tabs.Length];

            for (var i = 0; i < Tabs.Length; i++)
            {
                widths[i] = (int)ControlDrawer.MeasureString(g, Tabs[i].Name).Width + 24;
            }

            ControlDrawer.DrawTabControl(g, widths, TabIndex, WorldLocation.X, WorldLocation.Y, Size.X, Size.Y, 30, Focus);

            var offset = WorldLocation.X;

            for (var i = 0; i < Tabs.Length; i++)
            {
                ControlDrawer.DrawString(g, Tabs[i].Name, offset + 12, WorldLocation.Y + 2, Focus && TabIndex == i);
                offset += widths[i];
            }

            var tab = Tabs[TabIndex];

            if (tab.Items != null)
            {
                for (var i = 0; i < tab.Items.Length; i++)
                {
                    ControlDrawer.DrawString(g, tab.Items[i].ToString(), WorldLocation.X + 32, WorldLocation.Y + 64 + (24 * i), Focus && SelectIndex == i);
                }
            }
        }
예제 #2
0
        public override void Draw(Graphics g, double deltaTime)
        {
            var s = g.MeasureString(Text, Font);
            var l = GetLocation(Size.X, Size.Y, Alignment);
            var x = l.X + WorldLocation.X;
            var y = l.Y + WorldLocation.Y;
            var w = Size.X;
            var h = Size.Y;

            var back  = BackBrush;
            var brush = Brush;

            if (!Enabled)
            {
                back  = BackBrushDisabled;
                brush = BrushDisabled;
            }
            ControlDrawer.DrawFrame(x, y, w, h, back);

            g.SetClip(new RectangleF(x + 1, y + 1, w - 3 - 6, h - 3));
            g.DrawString(Text, Font, Brush, new RectangleF(x + 6.0f, y + 3.0f, w - 13.0f, h - 7.0f));
            //for (var i = 0; i < texts.Length; i++)
            //{
            //    g.DrawString(texts[i], Font, Brush, x + 6.0f, y + 3.0f + (i * 20.0f));
            //}
            g.ResetClip();
        }
예제 #3
0
        public override void Draw(Graphics g, double deltaTime)
        {
            var s = g.MeasureString(Text, Font);
            var l = GetLocation(Size.X, Size.Y, Alignment);
            var x = l.X + WorldLocation.X;
            var y = l.Y + WorldLocation.Y;
            var w = Size.X;
            var h = Size.Y;

            var back  = BackBrush;
            var brush = Brush;

            if (IsMouseOn)
            {
                back = BackBrushFocus;
            }
            if (!Enabled)
            {
                back  = BackBrushDisabled;
                brush = BrushDisabled;
            }

            ControlDrawer.DrawFrame(x, y, w, h, back);

            var t = new Vector2(w - s.Width, h - s.Height) * 0.5f;

            g.DrawString(Text, Font, brush, x + t.X, y + t.Y);
        }
예제 #4
0
        public override void Draw(Graphics g, double deltaTime)
        {
            base.Draw(g, deltaTime);

            ControlDrawer.DrawFrame(WorldLocation.X, WorldLocation.Y, Size.X, Size.Y);

            Drawer.SetClip(g, WorldLocation.X, WorldLocation.Y + 15.0f, Size.X, Size.Y - 30.0f);
            foreach (var p in panels)
            {
                p.Draw(g, deltaTime);
            }
            Drawer.ResetClip(g);
        }
예제 #5
0
        public override void Draw(Graphics g, double deltaTime)
        {
            var s = g.MeasureString(Text, Font);
            var l = GetLocation(Size.X, Size.Y, Alignment);
            var x = l.X + WorldLocation.X;
            var y = l.Y + WorldLocation.Y;
            var w = Size.X;
            var h = Size.Y;

            var back  = BackBrush;
            var brush = Brush;

            if (!Enabled)
            {
                back  = BackBrushDisabled;
                brush = BrushDisabled;
            }
            ControlDrawer.DrawFrame(x, y, w, h, back);

            g.SetClip(new RectangleF(x + 1, y + 1, w - 3 - 6, h - 3));
            for (var i = 0; i < texts.Length; i++)
            {
                g.DrawString(texts[i], Font, Brush, x + 6.0f, y + 3.0f + (i * 20.0f));
            }
            g.ResetClip();

            if (FocusedControl == this && !Readonly)
            {
                if ((MMW.TotalElapsedTime % 1.0) >= 0.30)
                {
                    var str = text.Substring(0, seek);
                    var wid = g.MeasureString(str, Font, 4000, sf);
                    var pen = new Pen(Brushes.White, 2.0f);
                    if (seek == 0)
                    {
                        wid.Width = 6.0f;
                    }
                    g.DrawLine(pen, x + wid.Width + 2.0f, y + 6.0f, x + wid.Width + 2.0f, y + 6.0f + 20.0f);
                }
            }
        }
예제 #6
0
        public override void Draw(Graphics g, double deltaTime)
        {
            var l = GetLocation(Size.X, Size.Y, Alignment);
            var x = l.X + WorldLocation.X;
            var y = l.Y + WorldLocation.Y;
            var w = Size.X;
            var h = Size.Y;

            var back  = BackBrush;
            var brush = Brush;

            if (!Enabled)
            {
                back  = BackBrushDisabled;
                brush = BrushDisabled;
            }
            ControlDrawer.DrawFrame(x, y, w, h, back);

            g.SetClip(new RectangleF(x + 1, y + 1, w - 3 - 6, h - 3));
            g.DrawString(Text, DefaultFont, Brush, new RectangleF(x + 6.0f, y + 3.0f, w - 13.0f, h - 7.0f));
            g.ResetClip();
        }
예제 #7
0
        public override void Draw(Graphics g, double deltaTime)
        {
            var align = GetLocation(Size.X, Size.Y, Alignment);

            ControlDrawer.DrawFrame(align.X + WorldLocation.X, align.Y + WorldLocation.Y, Size.X, Size.Y);
        }