/// <summary> /// Applies a new scissor rectangle. /// </summary> /// <param name="maskingInfo">The masking info.</param> /// <param name="overwritePreviousScissor">Whether or not to shrink an existing scissor rectangle.</param> public static void PushMaskingInfo(MaskingInfo maskingInfo, bool overwritePreviousScissor = false) { masking_stack.Push(maskingInfo); if (CurrentMaskingInfo.Equals(maskingInfo)) { return; } CurrentMaskingInfo = maskingInfo; setMaskingInfo(CurrentMaskingInfo, true, overwritePreviousScissor); }
/// <summary> /// Applies the last scissor rectangle. /// </summary> public static void PopMaskingInfo() { Trace.Assert(masking_stack.Count > 1); masking_stack.Pop(); MaskingInfo maskingInfo = masking_stack.Peek(); if (CurrentMaskingInfo.Equals(maskingInfo)) { return; } CurrentMaskingInfo = maskingInfo; setMaskingInfo(CurrentMaskingInfo, false, true); }