Esempio n. 1
0
        public override void Draw(Renderer renderer)
        {
            /*
             #region ScissorInit
             * bool scaled = Main.renderer.IsScaeld;
             * Main.renderer.End();
             * Rectangle curST = Main.graphics.GraphicsDevice.ScissorRectangle;
             * Vector2 p = new Vector2((int)position.X, (int)position.Y);
             * Vector2 s = new Vector2((int)size.X, (int)size.Y);
             * if (s.X + p.X > Main.graphics.PreferredBackBufferWidth)
             * {
             *  s.X = Main.graphics.PreferredBackBufferWidth - p.X;
             * }
             * if (s.Y + p.Y > Main.graphics.PreferredBackBufferHeight)
             * {
             *  s.Y = Main.graphics.PreferredBackBufferHeight - p.Y;
             * }
             * Main.graphics.GraphicsDevice.ScissorRectangle = new Rectangle((int)p.X, (int)p.Y, (int)s.X, (int)s.Y);
             * Main.renderer.BeginUnscaled(SpriteSortMode.Immediate, BlendState.AlphaBlend, null,
             *  null, Graphics.GraphicsEngine.s_ScissorsOn);
             #endregion
             * //*/
            Main.renderer.Draw(Graphics.GraphicsEngine.pixel, position.X, position.Y, size.X, size.Y, background);
            if (SelectedIndex != -1)
            {
                Main.renderer.Draw(Graphics.GraphicsEngine.pixel,
                                   position.X, position.Y + (SelectedIndex - Scrolled) * ItemHeight, size.X, ItemHeight,
                                   selectedColor);
            }
            for (int i = Scrolled; i < Items.Count && i < size.Y / ItemHeight + Scrolled; i++)
            {
                Main.renderer.DrawStringLeft(font, Items[i],
                                             new Vector2(position.X, position.Y + (i - Scrolled) * ItemHeight - 3),
                                             foreground);
            }
            scrollbar.Draw(renderer);

            /*
             #region ScissorEnd
             * Main.renderer.End();
             * Main.graphics.GraphicsDevice.ScissorRectangle = curST;
             * Main.renderer.Begin(scaled);
             #endregion
             * //*/
        }
Esempio n. 2
0
 public override void Draw(Renderer renderer)
 {
     renderer.End();
     renderer.BeginUnscaled(SpriteSortMode.Immediate, null, SamplerState.PointWrap, null, null, null,
                            Matrix.CreateTranslation(Scene.MainMenu.FrameOffset, 0, 0));
     scrollbar.Draw(renderer);
     renderer.End();
     renderer.SetScissorRectangle(position.X, position.Y + 96, size.X, size.Y - 96, false);
     renderer.BeginUnscaled(SpriteSortMode.Immediate, null, null, null, Graphics.GraphicsEngine.s_ScissorsOn, null,
                            Matrix.CreateTranslation(Scene.MainMenu.FrameOffset, 0, 0));
     for (int i = 0; i < elements.Count; i++)
     {
         elements[i].Draw(renderer);
     }
     renderer.End();
     renderer.ResetScissorRectangle();
     renderer.SetScissorRectangle(GUIEngine.s_mainMenu.line3p1.X, GUIEngine.s_mainMenu.line3p1.Y, Main.WindowWidth, Main.WindowHeight, false);
     renderer.BeginUnscaled(SpriteSortMode.Immediate, null, null, null, Graphics.GraphicsEngine.s_ScissorsOn, null,
                            Matrix.CreateTranslation(Scene.MainMenu.FrameOffset, 0, 0));
 }