Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }