Пример #1
0
        /// <inheritdoc />
        protected override void OnDraw(GameTime gameTime, SpriteRocket2D renderer)
        {
            foreach (var scene in _sceneStack)
            {
                scene.Draw(gameTime, renderer);
            }

            // If the developer setting is enabled, draw a blue highlight over the hovered GUI element if any.
            if (Settings.HighlightHoveredGuiElement)
            {
                if (_hoveredControl != null)
                {
                    var bounds = _hoveredControl.BoundingBox;

                    renderer.Begin();
                    renderer.FillRectangle(bounds, Color.Blue * 0.33f);
                    renderer.End();
                }
            }

            if (_showBoundingRects)
            {
                if (_sceneStack.Any())
                {
                    renderer.Begin();

                    var root = _sceneStack.Last().Gui;

                    foreach (var child in root.CollapseControlTree())
                    {
                        renderer.DrawRectangle(child.ContentRectangle, Color.Yellow, 1);
                        renderer.DrawRectangle(child.BoundingBox, Color.White, 1);
                    }

                    renderer.End();
                }
            }


            if (_showFps)
            {
                var fps     = 1f / gameTime.ElapsedGameTime.TotalSeconds;
                var fpsText = $"{Math.Round(fps)} fps";
                var font    = Skin.GetFont(SkinFontStyle.Code);
                var m       = font.MeasureString(fpsText);

                renderer.Begin();
                renderer.FillRectangle(new Rectangle(0, 0, (int)m.X, (int)m.Y), Color.Black);
                renderer.DrawString(font, fpsText, Vector2.Zero, Color.White);
                renderer.End();
            }
        }
        /// <inheritdoc />
        protected override void OnPaint(SpriteRocket2D renderer)
        {
            var height    = Skin.LayoutInfo.ProgressBarHeight;
            var bounds    = ContentRectangle;
            var bgColor   = BackgroundColor.GetColor(this);
            var fgColor   = ProgressColor.GetColor(this);
            var barBounds = new Rectangle(bounds.Left, bounds.Top + ((bounds.Height - height) / 2), bounds.Width,
                                          height);
            var progressBounds = new Rectangle(barBounds.Left, barBounds.Top,
                                               (int)(barBounds.Width * MathHelper.Clamp(Percentage, 0, 1)), barBounds.Height);

            renderer.Begin();
            renderer.FillRectangle(barBounds, bgColor);
            renderer.FillRectangle(progressBounds, fgColor);
            renderer.End();
        }
Пример #3
0
        /// <inheritdoc />
        protected override void OnPaint(SpriteRocket2D renderer)
        {
            var color = BackgroundColor.GetColor(this);

            renderer.Begin();

            renderer.FillRectangle(BoundingBox, color);

            renderer.End();
        }
Пример #4
0
        protected override void OnPaint(SpriteRocket2D renderer)
        {
            renderer.Begin();

            renderer.FillRectangle(BoundingBox, BackgroundColor.GetColor(this));

            SurfaceDraw?.Invoke(this, new SurfaceDrawEventArgs(_gameTime, renderer, BoundingBox));

            renderer.End();
        }
Пример #5
0
        /// <inheritdoc />
        protected override void OnPaint(SpriteRocket2D renderer)
        {
            var color = Color.GetColor(this);

            if (Image != null)
            {
                renderer.Begin();
                renderer.FillRectangle(ContentRectangle, color, Image);
                renderer.End();
            }
        }
Пример #6
0
        protected override void OnDraw(GameTime gameTime, SpriteRocket2D renderer)
        {
            //Texture2D weebTexture = Texture2D.FromStream(renderer.GraphicsDevice, fileStream);

            var font = Skin.GetFont(SkinFontStyle.Heading1);

            renderer.Begin();
            if (onbeat)
            {
                renderer.FillRectangle(Gui.BoundingBox, Color.White);
            }
            else
            {
                renderer.FillRectangle(Gui.BoundingBox, Color.LightGray);
            }
            renderer.DrawString(font, "hello", new Vector2((Gui.BoundingBox.Width - font.MeasureString("hello").X) / 2, (Gui.BoundingBox.Width - font.MeasureString("hello").Y) / 2 - ((float)musicManager.SongTime - 7737)), Color.LimeGreen);
            string stuff = $"{onbeat}: BPM: {musicManager.CurrentTimingPoint.Bpm} Offset: {musicManager.CurrentTimingPoint.Offset} Clock - {musicManager.SongTime} | FMP - {musicManager.Player.CurrentBackend?.CurrentTime.TotalMilliseconds} {(float)musicManager.SongTime - 40137}";

            renderer.DrawString(font, stuff, new Vector2((Gui.BoundingBox.Width - font.MeasureString(stuff).X) / 2, (Gui.BoundingBox.Height - font.MeasureString(stuff).Y) / 2), Color.Black);
            renderer.End();
            base.OnDraw(gameTime, renderer);
        }
Пример #7
0
        /// <inheritdoc />
        protected override void OnPaint(SpriteRocket2D renderer)
        {
            var checkColor = CheckColor.GetColor(this);

            var checkBounds = new Rectangle(ContentRectangle.Left,
                                            ContentRectangle.Top + ((ContentRectangle.Height - CheckSize) / 2), CheckSize, CheckSize);

            var checkTexture = Skin.Textures.CheckBoxUnchecked;

            if (CheckState == CheckState.Unknown)
            {
                checkTexture = Skin.Textures.CheckBoxUnknown;
            }
            else if (CheckState == CheckState.Checked)
            {
                checkTexture = Skin.Textures.CheckBoxChecked;
            }

            renderer.Begin();
            renderer.FillRectangle(checkBounds, checkColor, checkTexture);
            renderer.End();
        }
Пример #8
0
        /// <summary>
        /// Called by MonoGame when the game loop is about to render a frame to the screen.  Not guaranteed to run every
        /// tick.  Do not call this method manually.
        /// </summary>
        /// <param name="gameTime">An object representing the elapsed time since the last tick.</param>
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.SetRenderTarget(_renderTarget);
            GraphicsDevice.Clear(Color.Black);

            foreach (var module in _activeModules)
            {
                module.Draw(gameTime, _renderer);
            }

            GraphicsDevice.SetRenderTarget(null);

            GraphicsDevice.Clear(Color.Black);

            _renderer.Begin(BlendState.Opaque, SamplerState.PointClamp, DepthStencilState.Default, RasterizerState.CullNone);

            _renderer.FillRectangle(new Rectangle(0, 0, (int)LocalWidth, (int)LocalHeight), Color.White,
                                    _renderTarget);

            _renderer.End();

            base.Draw(gameTime);
        }