LayoutFarm.Text.EditableTextFlowLayer.Remove C# (CSharp) Method

Remove() private method

private Remove ( int lineId ) : void
lineId int
return void
        internal void Remove(int lineId)
        {
#if DEBUG
            if (lineId < 0)
            {
                throw new NotSupportedException();
            }
#endif
            if ((layerFlags & FLOWLAYER_HAS_MULTILINE) == 0)
            {
                return;
            }
            List<EditableTextLine> lines = (List<EditableTextLine>)lineCollection;
            if (lines.Count < 2)
            {
                return;
            }

            EditableTextLine tobeRemovedLine = lines[lineId];
            tobeRemovedLine.editableFlowLayer = null;
            int cy = tobeRemovedLine.Top;
            lines.RemoveAt(lineId); int j = lines.Count;
            for (int i = lineId; i < j; ++i)
            {
                EditableTextLine line = lines[i];
                line.SetTop(cy); line.SetLineNumber(i); cy += line.ActualLineHeight;
            }

            if (lines.Count == 1)
            {
                lineCollection = lines[0];
                FlowLayerHasMultiLines = false;
            }
        }
    }