man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2014
 
 

mlib_GraphicsDrawLineSet_ABGZ_32(3MLIB)

Name

mlib_GraphicsDrawLineSet, mlib_GraphicsDrawLineSet_8, mlib_GraphicsDrawLineSet_32, mlib_GraphicsDrawLineSet_X_8, mlib_GraphicsDrawLineSet_X_32, mlib_GraphicsDrawLineSet_A_8, mlib_GraphicsDrawLineSet_A_32, mlib_GraphicsDrawLineSet_B_8, mlib_GraphicsDrawLineSet_B_32, mlib_GraphicsDrawLineSet_G_8, mlib_GraphicsDrawLineSet_G_32, mlib_GraphicsDrawLineSet_Z_8, mlib_GraphicsDrawLineSet_Z_32, mlib_GraphicsDrawLineSet_AB_8, mlib_GraphicsDrawLineSet_AB_32, mlib_GraphicsDrawLineSet_ABG_8, mlib_GraphicsDrawLineSet_ABG_32, mlib_GraphicsDrawLineSet_ABGZ_8, mlib_GraphicsDrawLineSet_ABGZ_32, mlib_GraphicsDrawLineSet_ABZ_8, mlib_GraphicsDrawLineSet_ABZ_32, mlib_GraphicsDrawLineSet_AG_8, mlib_GraphicsDrawLineSet_AG_32, mlib_GraphicsDrawLineSet_AGZ_8, mlib_GraphicsDrawLineSet_AGZ_32, mlib_GraphicsDrawLineSet_AZ_8, mlib_GraphicsDrawLineSet_AZ_32, mlib_GraphicsDrawLineSet_BG_8, mlib_GraphicsDrawLineSet_BG_32, mlib_GraphicsDrawLineSet_BGZ_8, mlib_GraphicsDrawLineSet_BGZ_32, mlib_GraphicsDrawLineSet_BZ_8, mlib_GraphicsDrawLineSet_BZ_32, mlib_GraphicsDrawLineSet_GZ_8, mlib_GraphicsDrawLineSet_GZ_32 - draw line set where each member can have different end points

Synopsis

cc [ flag... ] file... –lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_GraphicsDrawLineSet_8(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsDrawLineSet_32(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsDrawLineSet_X_8(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
     mlib_s32 c, mlib_s32 c2);
mlib_status mlib_GraphicsDrawLineSet_X_32(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
     mlib_s32 c, mlib_s32 c2);
mlib_status mlib_GraphicsDrawLineSet_A_8(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsDrawLineSet_A_32(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsDrawLineSet_B_8(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
     mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_B_32(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
     mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_G_8(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
     const mlib_s32 *c);
mlib_status mlib_GraphicsDrawLineSet_G_32(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
      const mlib_s32 *c);
mlib_status mlib_GraphicsDrawLineSet_Z_8(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsDrawLineSet_Z_32(mlib_image *buffer, 
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsDrawLineSet_AB_8(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
     mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_AB_32(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
     mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_ABG_8(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
     const mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_ABG_32(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
     const mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_ABGZ_8(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints,
     const mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_ABGZ_32(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints,
     const mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_ABZ_8(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_ABZ_32(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_AG_8(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
     const mlib_s32 *c);
mlib_status mlib_GraphicsDrawLineSet_AG_32(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, 
     const mlib_s32 *c);
mlib_status mlib_GraphicsDrawLineSet_AGZ_8(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c);
mlib_status mlib_GraphicsDrawLineSet_AGZ_32(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c);
mlib_status mlib_GraphicsDrawLineSet_AZ_8(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsDrawLineSet_AZ_32(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsDrawLineSet_BG_8(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
     const mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_BG_32(mlib_image *buffer,
     const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
     const mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_BGZ_8(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_BGZ_32(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_BZ_8(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_BZ_32(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsDrawLineSet_GZ_8(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c);
mlib_status mlib_GraphicsDrawLineSet_GZ_32(mlib_image *buffer,
     mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
     const mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c);

Description

Each of the mlib_GraphicsDrawLineSet_*() functions draws a set of lines connecting (x1,y1) with (x2,y2), (x3,y3) with (x4,y4), ..., and (xn-1,yn-1) with (xn,yn).

Each of the mlib_GraphicsDrawLineSet_X_*() functions draws a set of lines in Xor mode as follows:

    data[x,y] ^= c ^ c2

Each of the mlib_GraphicsDrawLineSet_A_*() functions draws a set of lines with antialiasing.

Each of the mlib_GraphicsDrawLineSet_B_*() functions draws a set of lines with alpha blending as follows:

    data[x,y] = (data[x,y] * (255 - a) + c * a) / 255

Each of the mlib_GraphicsDrawLineSet_G_*() functions draws a set of lines with Gouraud shading.

Each of the mlib_GraphicsDrawLineSet_Z_*() functions draws a set of lines with Z buffering.

Each of the other functions draws a set of lines with a combination of two or more features like antialiasing (A), alpha blending (B), Gouraud shading (G), and Z buffering (Z).

Parameters

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.

x

Pointer to array of X coordinates of the points.

y

Pointer to array of Y coordinates of the points.

z

Pointer to array of Z coordinates of the points.

npoints

Number of points in the arrays. npoints must be a multiple of 2.

c

Color used in the drawing, or pointer to array of colors of the points in the case of Gouraud shading.

c2

Alternation color.

a

Alpha value for blending. 0 ≤ a ≤ 255.

Return Values

Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe

See also

mlib_GraphicsDrawLine(3MLIB), mlib_GraphicsDrawLineFanSet(3MLIB), mlib_GraphicsDrawLineStripSet(3MLIB), attributes(5)