LayoutFarm.Text.EditableTextRun.GetCharacterFromPixelOffset C# (CSharp) Method

GetCharacterFromPixelOffset() public method

public GetCharacterFromPixelOffset ( int pixelOffset ) : EditableRunCharLocation
pixelOffset int
return EditableRunCharLocation
        public override EditableRunCharLocation GetCharacterFromPixelOffset(int pixelOffset)
        {
            if (pixelOffset < Width)
            {

                int j = glyphPositions.Length;
                int accWidth = 0;
                for (int i = 0; i < j; i++)
                {
                    int charW = glyphPositions[i];
                    if (accWidth + charW > pixelOffset)
                    {
                        if (pixelOffset - accWidth > 3)
                        {
                            return new EditableRunCharLocation(accWidth + charW, i);
                        }
                        else
                        {
                            return new EditableRunCharLocation(accWidth, i - 1);
                        }
                    }
                    else
                    {
                        accWidth += charW;
                    }
                    //char c = myBuffer[i];
                    //int charW = GetCharacterWidth(c);
                    //if (accWidth + charW > pixelOffset)
                    //{
                    //    if (pixelOffset - accWidth > 3)
                    //    {
                    //        return new EditableRunCharLocation(accWidth + charW, i);
                    //    }
                    //    else
                    //    {
                    //        return new EditableRunCharLocation(accWidth, i - 1);
                    //    }
                    //}
                    //else
                    //{
                    //    accWidth += charW;
                    //}
                }
                return new EditableRunCharLocation(accWidth, j - 1);
            }
            else
            {
                return new EditableRunCharLocation(0, -1);
            }
        }
        //-------------------------------------------