Viewport: cannot select object by clicking on its instances
[blender.git] / source / blender / nodes / NOD_composite.h
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2005 Blender Foundation.
17  * All rights reserved.
18  */
19
20 /** \file
21  * \ingroup nodes
22  */
23
24 #pragma once
25
26 #include "BKE_node.h"
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 extern struct bNodeTreeType *ntreeType_Composite;
33
34 /* ****************** types array for all composite nodes ****************** */
35
36 void register_node_tree_type_cmp(void);
37
38 void register_node_type_cmp_group(void);
39
40 void register_node_type_cmp_rlayers(void);
41 void register_node_type_cmp_image(void);
42 void register_node_type_cmp_texture(void);
43 void register_node_type_cmp_value(void);
44 void register_node_type_cmp_rgb(void);
45 void register_node_type_cmp_curve_time(void);
46 void register_node_type_cmp_movieclip(void);
47
48 void register_node_type_cmp_composite(void);
49 void register_node_type_cmp_viewer(void);
50 void register_node_type_cmp_splitviewer(void);
51 void register_node_type_cmp_output_file(void);
52 void register_node_type_cmp_view_levels(void);
53
54 void register_node_type_cmp_curve_rgb(void);
55 void register_node_type_cmp_mix_rgb(void);
56 void register_node_type_cmp_hue_sat(void);
57 void register_node_type_cmp_brightcontrast(void);
58 void register_node_type_cmp_gamma(void);
59 void register_node_type_cmp_invert(void);
60 void register_node_type_cmp_alphaover(void);
61 void register_node_type_cmp_zcombine(void);
62 void register_node_type_cmp_colorbalance(void);
63 void register_node_type_cmp_huecorrect(void);
64
65 void register_node_type_cmp_normal(void);
66 void register_node_type_cmp_curve_vec(void);
67 void register_node_type_cmp_map_value(void);
68 void register_node_type_cmp_map_range(void);
69 void register_node_type_cmp_normalize(void);
70
71 void register_node_type_cmp_filter(void);
72 void register_node_type_cmp_blur(void);
73 void register_node_type_cmp_dblur(void);
74 void register_node_type_cmp_bilateralblur(void);
75 void register_node_type_cmp_vecblur(void);
76 void register_node_type_cmp_dilateerode(void);
77 void register_node_type_cmp_inpaint(void);
78 void register_node_type_cmp_despeckle(void);
79 void register_node_type_cmp_defocus(void);
80 void register_node_type_cmp_denoise(void);
81
82 void register_node_type_cmp_valtorgb(void);
83 void register_node_type_cmp_rgbtobw(void);
84 void register_node_type_cmp_setalpha(void);
85 void register_node_type_cmp_idmask(void);
86 void register_node_type_cmp_math(void);
87 void register_node_type_cmp_seprgba(void);
88 void register_node_type_cmp_combrgba(void);
89 void register_node_type_cmp_sephsva(void);
90 void register_node_type_cmp_combhsva(void);
91 void register_node_type_cmp_sepyuva(void);
92 void register_node_type_cmp_combyuva(void);
93 void register_node_type_cmp_sepycca(void);
94 void register_node_type_cmp_combycca(void);
95 void register_node_type_cmp_premulkey(void);
96
97 void register_node_type_cmp_diff_matte(void);
98 void register_node_type_cmp_distance_matte(void);
99 void register_node_type_cmp_chroma_matte(void);
100 void register_node_type_cmp_color_matte(void);
101 void register_node_type_cmp_channel_matte(void);
102 void register_node_type_cmp_color_spill(void);
103 void register_node_type_cmp_luma_matte(void);
104 void register_node_type_cmp_doubleedgemask(void);
105 void register_node_type_cmp_keyingscreen(void);
106 void register_node_type_cmp_keying(void);
107 void register_node_type_cmp_cryptomatte(void);
108
109 void register_node_type_cmp_translate(void);
110 void register_node_type_cmp_rotate(void);
111 void register_node_type_cmp_scale(void);
112 void register_node_type_cmp_flip(void);
113 void register_node_type_cmp_crop(void);
114 void register_node_type_cmp_displace(void);
115 void register_node_type_cmp_mapuv(void);
116 void register_node_type_cmp_transform(void);
117 void register_node_type_cmp_stabilize2d(void);
118 void register_node_type_cmp_moviedistortion(void);
119 void register_node_type_cmp_mask(void);
120
121 void register_node_type_cmp_glare(void);
122 void register_node_type_cmp_tonemap(void);
123 void register_node_type_cmp_lensdist(void);
124 void register_node_type_cmp_sunbeams(void);
125
126 void register_node_type_cmp_colorcorrection(void);
127 void register_node_type_cmp_boxmask(void);
128 void register_node_type_cmp_ellipsemask(void);
129 void register_node_type_cmp_bokehimage(void);
130 void register_node_type_cmp_bokehblur(void);
131 void register_node_type_cmp_switch(void);
132 void register_node_type_cmp_switch_view(void);
133 void register_node_type_cmp_pixelate(void);
134 void register_node_type_cmp_trackpos(void);
135 void register_node_type_cmp_planetrackdeform(void);
136 void register_node_type_cmp_cornerpin(void);
137
138 void node_cmp_rlayers_outputs(struct bNodeTree *ntree, struct bNode *node);
139 void node_cmp_rlayers_register_pass(struct bNodeTree *ntree,
140                                     struct bNode *node,
141                                     struct Scene *scene,
142                                     struct ViewLayer *view_layer,
143                                     const char *name,
144                                     int type);
145 const char *node_cmp_rlayers_sock_to_pass(int sock_index);
146
147 void register_node_type_cmp_custom_group(bNodeType *ntype);
148
149 #ifdef __cplusplus
150 }
151 #endif