Here is for example bspline example project in bgraaggtest folder.
The cursor here is shown with two arrows. One that is tangent and the other that is normal.
When you have a TBGRAPathCursor, you can get the coordinate and the tangent of the current point.
Here is the code that draws the path and the arrows:
Path.stroke(bmp, BGRABlack, 2);
PathCursor := Path.CreateCursor;
PathCursor.Position := PathPos*PathCursor.PathLength;
bmp.ArrowEndAsClassic;
pt := PathCursor.CurrentCoordinate;
tangent := PathCursor.CurrentTangent;
bmp.DrawLineAntialias(pt.x,pt.y,pt.x+tangent.x*40,pt.y+tangent.y*40,CSSFireBrick,3);
bmp.DrawLineAntialias(pt.x,pt.y,pt.x-tangent.y*40,pt.y+tangent.x*40,CSSFireBrick,3);
bmp.ArrowEndAsNone;
Cursor.Free;