I have managed to sort the issue out by a bit of cheating :)
I overloaded the DrawLine method and called it DrawThickLine which takes additional parameter called radius.
The drawline code is almost as is except the point where the pixel is painted. Instead of painting the pixel, i draw a filled ellipse at each x1, y1 computed and that does the job.
Is it worth adding to the library considering it probably is not as fast as original DrawLine ??