copy of docs from 2.4x for python modules that have been kept
[blender-staging.git] / source / blender / render / intern / include / pixelblending.h
1 /*
2  * $Id$
3  *
4  * ***** BEGIN GPL LICENSE BLOCK *****
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version. 
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19  *
20  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
21  * All rights reserved.
22  *
23  * Contributor(s): 2004-2006 Blender Foundation, full recode
24  *
25  * ***** END GPL/BL DUAL LICENSE BLOCK *****
26  */
27
28 #ifndef PIXELBLENDING_EXT_H
29 #define PIXELBLENDING_EXT_H 
30
31
32 /**
33 * add 1 pixel to into filtered three lines 
34  * (float vecs to float vec)
35  */
36 void add_filt_fmask(unsigned int mask, float *col, float *rowbuf, int row_w);
37 void add_filt_fmask_pixsize(unsigned int mask, float *in, float *rowbuf, int row_w, int pixsize);
38 void add_filt_fmask_coord(float filt[][3], float *col, float *rowbuf, int row_w, int col_h, int x, int y);
39 void mask_array(unsigned int mask, float filt[][3]);
40
41 /**
42  * Alpha-over blending for floats.
43  */
44 void addAlphaOverFloat(float *dest, float *source);  
45
46 /**
47  * Alpha-under blending for floats.
48  */
49 void addAlphaUnderFloat(float *dest, float *source);  
50
51
52 /**
53  * Same for floats
54  */
55 void addalphaAddfacFloat(float *dest, float *source, char addfac);
56
57 /**
58  * dest = dest + source
59  */
60 void addalphaAddFloat(float *dest, float *source);
61
62 /**
63  * Blend bron under doel, while doing gamma correction
64  */
65 void addalphaUnderGammaFloat(float *doel, float *bron);
66
67
68
69 #endif /* PIXELBLENDING_EXT_H */
70