Cleanup: misc spelling fixes
[blender.git] / source / blender / nodes / composite / nodes / node_composite_common.c
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) 2006 Blender Foundation.
17  * All rights reserved.
18  * Juho Vepsäläinen
19  */
20
21 /** \file
22  * \ingroup cmpnodes
23  */
24
25 #include "DNA_node_types.h"
26
27 #include "node_composite_util.h"
28 #include "NOD_common.h"
29 #include "node_common.h"
30
31 #include "BKE_node.h"
32
33 #include "RNA_access.h"
34
35 void register_node_type_cmp_group(void)
36 {
37   static bNodeType ntype;
38
39   /* NB: cannot use sh_node_type_base for node group, because it would map the node type
40    * to the shared NODE_GROUP integer type id.
41    */
42   node_type_base_custom(
43       &ntype, "CompositorNodeGroup", "Group", NODE_CLASS_GROUP, NODE_CONST_OUTPUT);
44   ntype.type = NODE_GROUP;
45   ntype.poll = cmp_node_poll_default;
46   ntype.poll_instance = node_group_poll_instance;
47   ntype.insert_link = node_insert_link_default;
48   ntype.update_internal_links = node_update_internal_links_default;
49   ntype.ext.srna = RNA_struct_find("CompositorNodeGroup");
50   BLI_assert(ntype.ext.srna != NULL);
51   RNA_struct_blender_type_set(ntype.ext.srna, &ntype);
52
53   node_type_socket_templates(&ntype, NULL, NULL);
54   node_type_size(&ntype, 140, 60, 400);
55   node_type_label(&ntype, node_group_label);
56   node_type_group_update(&ntype, node_group_update);
57
58   nodeRegisterType(&ntype);
59 }
60
61 void register_node_type_cmp_custom_group(bNodeType *ntype)
62 {
63   /* These methods can be overridden but need a default implementation otherwise. */
64   if (ntype->poll == NULL) {
65     ntype->poll = cmp_node_poll_default;
66   }
67   if (ntype->insert_link == NULL) {
68     ntype->insert_link = node_insert_link_default;
69   }
70   if (ntype->update_internal_links == NULL) {
71     ntype->update_internal_links = node_update_internal_links_default;
72   }
73 }