'\" te .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved .TH mlib_ImageBlend_BSRC1_BSRC2_Inp 3MLIB "2 Mar 2007" "SunOS 5.11" "mediaLib Library Functions" .SH NAME mlib_ImageBlend_BSRC1_BSRC2_Inp, mlib_ImageBlend_DA_DA_Inp, mlib_ImageBlend_DA_DC_Inp, mlib_ImageBlend_DA_OMDA_Inp, mlib_ImageBlend_DA_OMDC_Inp, mlib_ImageBlend_DA_OMSA_Inp, mlib_ImageBlend_DA_ONE_Inp, mlib_ImageBlend_DA_SA_Inp, mlib_ImageBlend_DA_SAS_Inp, mlib_ImageBlend_DA_ZERO_Inp, mlib_ImageBlend_OMDA_DA_Inp, mlib_ImageBlend_OMDA_DC_Inp, mlib_ImageBlend_OMDA_OMDA_Inp, mlib_ImageBlend_OMDA_OMDC_Inp, mlib_ImageBlend_OMDA_OMSA_Inp, mlib_ImageBlend_OMDA_ONE_Inp, mlib_ImageBlend_OMDA_SA_Inp, mlib_ImageBlend_OMDA_SAS_Inp, mlib_ImageBlend_OMDA_ZERO_Inp, mlib_ImageBlend_OMSA_DA_Inp, mlib_ImageBlend_OMSA_DC_Inp, mlib_ImageBlend_OMSA_OMDA_Inp, mlib_ImageBlend_OMSA_OMDC_Inp, mlib_ImageBlend_OMSA_OMSA_Inp, mlib_ImageBlend_OMSA_ONE_Inp, mlib_ImageBlend_OMSA_SA_Inp, mlib_ImageBlend_OMSA_SAS_Inp, mlib_ImageBlend_OMSA_ZERO_Inp, mlib_ImageBlend_OMSC_DA_Inp, mlib_ImageBlend_OMSC_DC_Inp, mlib_ImageBlend_OMSC_OMDA_Inp, mlib_ImageBlend_OMSC_OMDC_Inp, mlib_ImageBlend_OMSC_OMSA_Inp, mlib_ImageBlend_OMSC_ONE_Inp, mlib_ImageBlend_OMSC_SA_Inp, mlib_ImageBlend_OMSC_SAS_Inp, mlib_ImageBlend_OMSC_ZERO_Inp, mlib_ImageBlend_ONE_DA_Inp, mlib_ImageBlend_ONE_DC_Inp, mlib_ImageBlend_ONE_OMDA_Inp, mlib_ImageBlend_ONE_OMDC_Inp, mlib_ImageBlend_ONE_OMSA_Inp, mlib_ImageBlend_ONE_ONE_Inp, mlib_ImageBlend_ONE_SA_Inp, mlib_ImageBlend_ONE_SAS_Inp, mlib_ImageBlend_ONE_ZERO_Inp, mlib_ImageBlend_SA_DA_Inp, mlib_ImageBlend_SA_DC_Inp, mlib_ImageBlend_SA_OMDA_Inp, mlib_ImageBlend_SA_OMDC_Inp, mlib_ImageBlend_SA_OMSA_Inp, mlib_ImageBlend_SA_ONE_Inp, mlib_ImageBlend_SA_SA_Inp, mlib_ImageBlend_SA_SAS_Inp, mlib_ImageBlend_SA_ZERO_Inp, mlib_ImageBlend_SC_DA_Inp, mlib_ImageBlend_SC_DC_Inp, mlib_ImageBlend_SC_OMDA_Inp, mlib_ImageBlend_SC_OMDC_Inp, mlib_ImageBlend_SC_OMSA_Inp, mlib_ImageBlend_SC_ONE_Inp, mlib_ImageBlend_SC_SA_Inp, mlib_ImageBlend_SC_SAS_Inp, mlib_ImageBlend_SC_ZERO_Inp, mlib_ImageBlend_ZERO_DA_Inp, mlib_ImageBlend_ZERO_DC_Inp, mlib_ImageBlend_ZERO_OMDA_Inp, mlib_ImageBlend_ZERO_OMDC_Inp, mlib_ImageBlend_ZERO_OMSA_Inp, mlib_ImageBlend_ZERO_ONE_Inp, mlib_ImageBlend_ZERO_SA_Inp, mlib_ImageBlend_ZERO_SAS_Inp, mlib_ImageBlend_ZERO_ZERO_Inp \- blending, in place .SH SYNOPSIS .LP .nf cc [ \fIflag\fR... ] \fIfile\fR... \fB-lmlib\fR [ \fIlibrary\fR... ] #include \fBmlib_status\fR \fBmlib_ImageBlend_BSRC1_BSRC2_Inp\fR(\fBmlib_image *\fR\fIsrc1dst\fR, \fBconst mlib_image *\fR\fIsrc2\fR, \fBmlib_s32\fR \fIcmask\fR); .fi .SH DESCRIPTION .sp .LP This group of functions supports digital image composition. They are low-level, in-place, blending functions. .sp .LP The image type must be \fBMLIB_BYTE\fR. The input and output images must contain three or four channels. For three-channel images, the alpha value is as if the alpha value is 1. .sp .LP BSRC1 is one of the following: ZERO, ONE, SC, OMSC, DA, SA, OMDA, or OMSA. BSRC2 is one of the following: ZERO, ONE, DC, OMDC, DA, SA, OMDA, OMSA, or SAS. .sp .LP The following are predefined blend factor types used in mediaLib image composition functions. .sp .in +2 .nf /* image blend factors */ typedef enum { MLIB_BLEND_ZERO, MLIB_BLEND_ONE, MLIB_BLEND_DST_COLOR, MLIB_BLEND_SRC_COLOR, MLIB_BLEND_ONE_MINUS_DST_COLOR, MLIB_BLEND_ONE_MINUS_SRC_COLOR, MLIB_BLEND_DST_ALPHA, MLIB_BLEND_SRC_ALPHA, MLIB_BLEND_ONE_MINUS_DST_ALPHA, MLIB_BLEND_ONE_MINUS_SRC_ALPHA, MLIB_BLEND_SRC_ALPHA_SATURATE } mlib_blend; .fi .in -2 .sp .LP See the following table for the definitions of the blend factors. .sp .sp .TS tab(); cw(2.97i) cw(1.85i) cw(.67i) lw(2.97i) lw(1.85i) lw(.67i) . TypeBlend Factor [*]Abbr. _ MLIB_BLEND_ZERO(0,0,0,0)ZERO MLIB_BLEND_ONE(1,1,1,1)ONE MLIB_BLEND_DST_COLOR(Rd,Gd,Bd,Ad)DC MLIB_BLEND_SRC_COLOR(Rs,Gs,Bs,As)SC MLIB_BLEND_ONE_MINUS_DST_COLOR(1,1,1,1)-(Rd,Gd,Bd,Ad)OMDC MLIB_BLEND_ONE_MINUS_SRC_COLOR(1,1,1,1)-(Rs,Gs,Bs,As)OMSC MLIB_BLEND_DST_ALPHA(Ad,Ad,Ad,Ad)DA MLIB_BLEND_SRC_ALPHA(As,As,As,As)SA MLIB_BLEND_ONE_MINUS_DST_ALPHA(1,1,1,1)-(Ad,Ad,Ad,Ad)OMDA MLIB_BLEND_ONE_MINUS_SRC_ALPHA(1,1,1,1)-(As,As,As,As)OMSA MLIB_BLEND_SRC_ALPHA_SATURATE(f,f,f,1)SAS .TE .sp .LP [*]: The components of the first source image pixel are (Rd,Gd,Bd,Ad), and the components of the second source pixel are (Rs,Gs,Bs,As). Function f = min(As,1-Ad). The first source image is also the destination image. .sp .LP The blending formula for in-place processing is: .sp .in +2 .nf Cd = Cd*D + Cs*S .fi .in -2 .sp .LP where Cd is the destination pixel (Rd,Gd,Bd,Ad), Cs is the source pixel (Rs,Gs,Bs,As), and D and S are the blend factors for the destination and source, respectively. .SH PARAMETERS .sp .LP Each of the functions takes the following arguments: .sp .ne 2 .mk .na \fB\fIsrc1dst\fR\fR .ad .RS 11n .rt Pointer to the first source and the destination image. .RE .sp .ne 2 .mk .na \fB\fIsrc2\fR\fR .ad .RS 11n .rt Pointer to the second source image. .RE .sp .ne 2 .mk .na \fB\fIcmask\fR\fR .ad .RS 11n .rt Channel mask to indicate the alpha channel. Each bit of the mask represents a channel in the image. The channel corresponding to the 1 bit is the alpha channel. cmask must be either 0x01 or 0x08. .RE .SH RETURN VALUES .sp .LP Each of the functions returns \fBMLIB_SUCCESS\fR if successful. Otherwise it returns \fBMLIB_FAILURE\fR. .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPEATTRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe .TE .SH SEE ALSO .sp .LP \fBmlib_ImageBlend_BSRC1_BSRC2\fR(3MLIB), \fBmlib_ImageComposite\fR(3MLIB), \fBmlib_ImageComposite_Inp\fR(3MLIB), \fBattributes\fR(5)