mlib_GraphicsDrawLine(3MLIB) mlib_GraphicsDrawLine(3MLIB)
NAME
mlib_GraphicsDrawLine, mlib_GraphicsDrawLine_8, mlib_GraphicsDrawLine_32, mlib_GraphicsDrawLine_X_8, mlib_GraphicsDrawLine_X_32,
mlib_GraphicsDrawLine_A_8, mlib_GraphicsDrawLine_A_32, mlib_GraphicsDrawLine_B_8, mlib_GraphicsDrawLine_B_32, mlib_GraphicsDrawLine_G_8,
mlib_GraphicsDrawLine_G_32, mlib_GraphicsDrawLine_Z_8, mlib_GraphicsDrawLine_Z_32, mlib_GraphicsDrawLine_AB_8, mlib_GraphicsDrawLine_AB_32,
mlib_GraphicsDrawLine_ABG_8, mlib_GraphicsDrawLine_ABG_32, mlib_GraphicsDrawLine_ABGZ_8, mlib_GraphicsDrawLine_ABGZ_32, mlib_GraphicsDraw-
Line_ABZ_8, mlib_GraphicsDrawLine_ABZ_32, mlib_GraphicsDrawLine_AG_8, mlib_GraphicsDrawLine_AG_32, mlib_GraphicsDrawLine_AGZ_8, mlib_Graph-
icsDrawLine_AGZ_32, mlib_GraphicsDrawLine_AZ_8, mlib_GraphicsDrawLine_AZ_32, mlib_GraphicsDrawLine_BG_8, mlib_GraphicsDrawLine_BG_32,
mlib_GraphicsDrawLine_BGZ_8, mlib_GraphicsDrawLine_BGZ_32, mlib_GraphicsDrawLine_BZ_8, mlib_GraphicsDrawLine_BZ_32, mlib_GraphicsDraw-
Line_GZ_8, mlib_GraphicsDrawLine_GZ_32 - draw line
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_GraphicsDrawLine_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c);
mlib_status mlib_GraphicsDrawLine_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c);
mlib_status mlib_GraphicsDrawLine_X_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c, mlib_s32 c2);
mlib_status mlib_GraphicsDrawLine_X_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c, mlib_s32 c2);
mlib_status mlib_GraphicsDrawLine_A_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c);
mlib_status mlib_GraphicsDrawLine_A_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c);
mlib_status mlib_GraphicsDrawLine_B_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_B_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_G_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c1, mlib_s32 c2);
mlib_status mlib_GraphicsDrawLine_G_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c1, mlib_s32 c2);
mlib_status mlib_GraphicsDrawLine_Z_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16
y2, mlib_s16 z2, mlib_s32 c);
mlib_status mlib_GraphicsDrawLine_Z_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c);
mlib_status mlib_GraphicsDrawLine_AB_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_AB_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_ABG_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c1, mlib_s32 c2,
mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_ABG_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c1, mlib_s32 c2,
mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_ABGZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c1, mlib_s32 c2, mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_ABGZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c1, mlib_s32 c2, mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_ABZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_ABZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_AG_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c1, mlib_s32 c2);
mlib_status mlib_GraphicsDrawLine_AG_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c1, mlib_s32 c2);
mlib_status mlib_GraphicsDrawLine_AGZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c1, mlib_s32 c2);
mlib_status mlib_GraphicsDrawLine_AGZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c1, mlib_s32 c2);
mlib_status mlib_GraphicsDrawLine_AZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c);
mlib_status mlib_GraphicsDrawLine_AZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c);
mlib_status mlib_GraphicsDrawLine_BG_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c1, mlib_s32 c2,
mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_BG_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s32 c1, mlib_s32 c2,
mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_BGZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c1, mlib_s32 c2, mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_BGZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c1, mlib_s32 c2, mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_BZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_BZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLine_GZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c1, mlib_s32 c2);
mlib_status mlib_GraphicsDrawLine_GZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2,
mlib_s16 y2, mlib_s16 z2, mlib_s32 c1, mlib_s32 c2);
Each of the mlib_GraphicsDrawLine_*() functions draws a line between (x1,y1) and (x2,y2).
Each of the mlib_GraphicsDrawLine_X_*() functions draws a line between (x1,y1) and (x2,y2) in Xor mode as follows:
data[x,y] ^= c ^ c2
Each of the mlib_GraphicsDrawLine_A_*() functions draws a line between (x1,y1) and (x2,y2) with antialiasing.
Each of the mlib_GraphicsDrawLine_B_*() functions draws a line between (x1,y1) and (x2,y2) with alpha blending as follows:
data[x,y] = (data[x,y] * (255 - a) + c * a) / 255
Each of the mlib_GraphicsDrawLine_G_*() functions draws a line between (x1,y1) and (x2,y2) with Gouraud shading.
Each of the mlib_GraphicsDrawLine_Z_*() functions draws a line between (x1,y1) and (x2,y2) with Z buffering.
Each of the other functions draws a line between (x1,y1) and (x2,y2) with a combination of two or more features like antialiasing (A),
alpha blending (B), Gouraud shading (G), and Z buffering (Z).
Each of the functions takes some of the following arguments:
buffer Pointer to the image into which the function is drawing.
zbuffer Pointer to the image that holds the Z buffer.
x1 X coordinate of the first point.
y1 Y coordinate of the first point.
z1 Z coordinate of the first point.
x2 X coordinate of the second point.
y2 Y coordinate of the second point.
z2 Z coordinate of the second point.
c Color used in the drawing.
c1 Color of the first point.
c2 Color of the second point, or the alternation color in the Xor mode.
a Alpha value for blending. 0 <= a <= 255.
Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
mlib_GraphicsDrawLineSet(3MLIB), mlib_GraphicsDrawLineFanSet(3MLIB), mlib_GraphicsDrawLineStripSet(3MLIB), attributes(5)
3 Mar 2005 mlib_GraphicsDrawLine(3MLIB)