When an accelerated line draw function is implemented, it must draw lines with sub-pixel precision. The EmulatedLine function provided with the GPE performs the same task.
The function pointer in the pLineParms pLine parameter is called once for each line segment, with the start pixel on the destination surface defined by the pLineParms xStart parameter and the pLineParms yStart parameter.
The Bresenham parameters for the line are passed in the pLineParms dM parameter and the pLineParms dN parameter. The actual number of pixels to draw is indicated in the pLineParms cPels parameter.
The function should draw the line in an octant defined by the pLineParms iDir parameter, which contains values shown in the following illustration.