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

GetTextLine() private method

private GetTextLine ( int lineId ) : EditableTextLine
lineId int
return EditableTextLine
        internal EditableTextLine GetTextLine(int lineId)
        {
            List<EditableTextLine> lines = lineCollection as List<EditableTextLine>;
            if (lines != null)
            {
                if (lineId < lines.Count)
                {
                    return lines[lineId];
                }
            }
            else if (lineId == 0)
            {
                return (EditableTextLine)lineCollection;
            }

            return null;
        }

Usage Example

        public void BindToTextLayer(EditableTextFlowLayer textLayer)
        {
            this.textLayer = textLayer;
            //check is on the sameline,
            //or multiple lines
            //
            if (IsOnTheSameLine)
            {
                EditableTextLine line = textLayer.GetTextLine(selectionRangeSnapshot.startLineNum);
                //at this line
                //find start and end point
                int startColNum = selectionRangeSnapshot.startColumnNum;
                int endColNum   = selectionRangeSnapshot.endColumnNum;
                int lineHeight  = line.ActualLineHeight;

                _startLocation = new MarkerLocation()
                {
                    lineNum = line.LineNumber, x_offset = line.GetXOffsetAtCharIndex(startColNum), line = line
                };
                _stopLocation = new MarkerLocation()
                {
                    lineNum = line.LineNumber, x_offset = line.GetXOffsetAtCharIndex(endColNum), line = line
                };
            }
            else
            {
                EditableTextLine startLine = textLayer.GetTextLine(selectionRangeSnapshot.startLineNum);
                _startLocation = new MarkerLocation()
                {
                    lineNum  = startLine.LineNumber,
                    x_offset = startLine.GetXOffsetAtCharIndex(selectionRangeSnapshot.startColumnNum),
                    line     = startLine
                };
                //
                EditableTextLine endLine = textLayer.GetTextLine(selectionRangeSnapshot.endLineNum);
                _stopLocation = new MarkerLocation()
                {
                    lineNum  = endLine.LineNumber,
                    x_offset = endLine.GetXOffsetAtCharIndex(selectionRangeSnapshot.endColumnNum),
                    line     = endLine
                };
                //
            }
        }
All Usage Examples Of LayoutFarm.Text.EditableTextFlowLayer::GetTextLine