OpenTkEngine.Core.Graphics.PushScreenClip C# (CSharp) Method

PushScreenClip() public static method

public static PushScreenClip ( Rectangle clip ) : void
clip Rectangle
return void
        public static void PushScreenClip(Rectangle clip)
        {
            if (_clipStack.Count > 0)
            {
                Rectangle currentClip = (Rectangle)_clipStack.Peek();
                if (currentClip.Contains(clip))
                {
                    SetScreenClip(clip);
                    _clipStack.Push(clip);
                }
                else if (currentClip.IntersectsWith(clip))
                {
                    currentClip.Intersect(clip);
                    SetScreenClip(currentClip);
                    _clipStack.Push(currentClip);
                }
                else
                {
                    SetScreenClip(Rectangle.Empty);
                    _clipStack.Push(Rectangle.Empty);
                }
            }
            else
            {
                SetScreenClip(clip);
                _clipStack.Push(clip);
            }
        }