private void PushUndoEntry(PropertyId fakePropId, FlagProperties flagProperties) { if (this.propertyUndoStackTop == this.propertyUndoStack.Length) { if (this.propertyUndoStack.Length >= PropertyState.MaxStackSize) { throw new TextConvertersException("property undo stack is too large"); } int newStackSize = Math.Min(this.propertyUndoStack.Length * 2, PropertyState.MaxStackSize); PropertyUndoEntry[] newPropertyUndoStack = new PropertyUndoEntry[newStackSize]; Array.Copy(this.propertyUndoStack, 0, newPropertyUndoStack, 0, this.propertyUndoStackTop); this.propertyUndoStack = newPropertyUndoStack; } this.propertyUndoStack[this.propertyUndoStackTop++].Set(fakePropId, flagProperties); }
private void PushUndoEntry(PropertyId fakePropId, FlagProperties flagProperties) { if (propertyUndoStackTop == propertyUndoStack.Length) { if (propertyUndoStack.Length >= MaxStackSize) { throw new TextConvertersException("property undo stack is too large"); } var newStackSize = Math.Min(propertyUndoStack.Length * 2, MaxStackSize); var newPropertyUndoStack = new PropertyUndoEntry[newStackSize]; Array.Copy(propertyUndoStack, 0, newPropertyUndoStack, 0, propertyUndoStackTop); propertyUndoStack = newPropertyUndoStack; } propertyUndoStack[propertyUndoStackTop++].Set(fakePropId, flagProperties); }
private void PushUndoEntry(PropertyBitMask propertyMask) { if (this.propertyUndoStackTop + 1 >= this.propertyUndoStack.Length) { if (this.propertyUndoStackTop + 2 >= PropertyState.MaxStackSize) { throw new TextConvertersException("property undo stack is too large"); } int newStackSize = Math.Min(this.propertyUndoStack.Length * 2, PropertyState.MaxStackSize); PropertyUndoEntry[] newPropertyUndoStack = new PropertyUndoEntry[newStackSize]; Array.Copy(this.propertyUndoStack, 0, newPropertyUndoStack, 0, this.propertyUndoStackTop); this.propertyUndoStack = newPropertyUndoStack; } this.propertyUndoStack[this.propertyUndoStackTop++].Set(PropertyUndoEntry.DistinctMask1FakeId, propertyMask.bits1); this.propertyUndoStack[this.propertyUndoStackTop++].Set(PropertyUndoEntry.DistinctMask2FakeId, propertyMask.bits2); }
private void PushUndoEntry(PropertyBitMask propertyMask) { if (propertyUndoStackTop + 1 >= propertyUndoStack.Length) { if (propertyUndoStackTop + 2 >= MaxStackSize) { throw new TextConvertersException("property undo stack is too large"); } var newStackSize = Math.Min(propertyUndoStack.Length * 2, MaxStackSize); var newPropertyUndoStack = new PropertyUndoEntry[newStackSize]; Array.Copy(propertyUndoStack, 0, newPropertyUndoStack, 0, propertyUndoStackTop); propertyUndoStack = newPropertyUndoStack; } propertyUndoStack[propertyUndoStackTop++].Set(PropertyUndoEntry.DistinctMask1FakeId, propertyMask.bits1); propertyUndoStack[propertyUndoStackTop++].Set(PropertyUndoEntry.DistinctMask2FakeId, propertyMask.bits2); }