Merge CV, ver=5.1; ops/methods from HV, and interface from CV where possible
[goodguy/history.git] / cinelerra-5.1 / cinelerra / overlayframe.inc
1
2 /*
3  * CINELERRA
4  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
5  * 
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (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
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  * 
20  */
21
22 #ifndef OVERLAYFRAME_INC
23 #define OVERLAYFRAME_INC
24
25 // Modes
26
27 #define TRANSFER_TYPES 23
28
29 #define TRANSFER_NORMAL         0
30 #define TRANSFER_ADDITION       1
31 #define TRANSFER_SUBTRACT       2
32 #define TRANSFER_MULTIPLY       3
33 #define TRANSFER_DIVIDE         4
34 #define TRANSFER_REPLACE        5
35 #define TRANSFER_MAX            6
36 #define TRANSFER_MIN            7
37 #define TRANSFER_AVERAGE        8
38 #define TRANSFER_DARKEN         9
39 #define TRANSFER_LIGHTEN        10
40 #define TRANSFER_DST            11
41 #define TRANSFER_DST_ATOP       12
42 #define TRANSFER_DST_IN         13
43 #define TRANSFER_DST_OUT        14
44 #define TRANSFER_DST_OVER       15
45 #define TRANSFER_SRC            16
46 #define TRANSFER_SRC_ATOP       17
47 #define TRANSFER_SRC_IN         18
48 #define TRANSFER_SRC_OUT        19
49 #define TRANSFER_SRC_OVER       20
50 #define TRANSFER_OR             21
51 #define TRANSFER_XOR            22
52
53 // Interpolation types
54
55
56 #define NEAREST_NEIGHBOR 0        // Nearest for enlargement and reduction
57 #define CUBIC_CUBIC      1        // Bicubic enlargement and reduction
58 #define CUBIC_LINEAR     2        // Bicubic enlargement and linear reduction
59 #define LINEAR_LINEAR    3        // Not explicitely called but used for user
60 #define LANCZOS_LANCZOS  4        // Just because we can
61
62 class OverlayFrame;
63
64 #endif