OOGL.GUI.Widgets.Button.DrawToFrameBuffer C# (CSharp) Method

DrawToFrameBuffer() public method

public DrawToFrameBuffer ( double gameTime ) : void
gameTime double
return void
        public override void DrawToFrameBuffer(double gameTime)
        {
            base.DrawToFrameBuffer(gameTime);

            Rectangle frameClientRect = ScreenToFrame(ClientToScreen(clientRectangle));

            List<PositionColor> verts = new List<PositionColor>();

            Color color = BackgroundColor;

            float topSkew;
            float bottomSkew;
            if (isPressed)
            {
                topSkew = 0.0f;
                bottomSkew = -.75f;
            }
            else
            {
                topSkew = 0.5f;
                bottomSkew = -0.5f;
            }

            verts.Add(new PositionColor(new Vector3(frameClientRect.Left, frameClientRect.Top, 0f), Gradient(color, topSkew)));
            verts.Add(new PositionColor(new Vector3(frameClientRect.Left, frameClientRect.Bottom, 0f), Gradient(color, bottomSkew)));
            verts.Add(new PositionColor(new Vector3(frameClientRect.Right, frameClientRect.Top, 0f), Gradient(color, topSkew)));

            verts.Add(new PositionColor(new Vector3(frameClientRect.Left, frameClientRect.Bottom, 0f), Gradient(color, bottomSkew)));
            verts.Add(new PositionColor(new Vector3(frameClientRect.Right, frameClientRect.Bottom, 0f), Gradient(color, bottomSkew)));
            verts.Add(new PositionColor(new Vector3(frameClientRect.Right, frameClientRect.Top, 0f), Gradient(color, topSkew)));

            PositionColor.Draw(BeginMode.Triangles, verts.ToArray());
            Frame.DrawText(Font, text, ScreenToFrame(ClientToScreen(clientRectangle)), drawTextFormat, textColor);
        }