예제 #1
0
 public void LeavePaintingMode()
 {
     clipInfo = _clipStack.Pop();
     stencilReferenceValue = clipInfo.referenceValue;
     rectMaskDepth         = clipInfo.rectMaskDepth;
     clipped = stencilReferenceValue != 0 || rectMaskDepth != 0;
 }
예제 #2
0
 /// <summary>
 ///
 /// </summary>
 public void LeaveClipping()
 {
     clipInfo = _clipStack.Pop();
     clipped  = _clipStack.Count > 0;
     if (clipped)
     {
         SetScissor(clipInfo.rect);
     }
     else
     {
         SetScissor(new Rect());
     }
 }
예제 #3
0
        public void LeaveClipping()
        {
            if (clipInfo.stencil)
            {
                stencilReferenceValue = stencilReferenceValue >> 1;
            }
            else
            {
                rectMaskDepth--;
            }

            clipInfo = _clipStack.Pop();
            clipped  = _clipStack.Count > 0;
        }
예제 #4
0
        public void SkipMask(bool value)
        {
            if (!clipped)
            {
                return;
            }

            if (value)
            {
                if (_clipStack.Count == 1)
                {
                    SetScissor(new Rect());
                }
                else if (_clipStack.Count > 0)
                {
                    ClipInfo last = _clipStack.Peek();
                    SetScissor(last.rect);
                }
            }
            else
            {
                SetScissor(clipInfo.rect);
            }
        }
        public void LeaveClipping()
        {
            if (clipInfo.stencil)
                stencilReferenceValue = stencilReferenceValue >> 1;
            else
                rectMaskDepth--;

            clipInfo = _clipStack.Pop();
            clipped = _clipStack.Count > 0;
        }
예제 #6
0
 public void LeaveClipping()
 {
     clipInfo = _clipStack.Pop();
     clipped  = _clipStack.Count > 0;
 }
예제 #7
0
 public void LeaveClipping()
 {
     clipInfo = _clipStack.Pop();
     clipped = _clipStack.Count > 0;
 }