Cleanup: remove redundant, invalid info from headers
[blender.git] / source / blender / editors / include / ED_node.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) 2009 Blender Foundation.
17  * All rights reserved.
18  */
19
20 /** \file ED_node.h
21  *  \ingroup editors
22  */
23
24 #ifndef __ED_NODE_H__
25 #define __ED_NODE_H__
26
27 struct ID;
28 struct Main;
29 struct Scene;
30 struct Scene;
31 struct ScrArea;
32 struct Tex;
33 struct View2D;
34 struct bContext;
35 struct bNode;
36 struct bNodeSocketType;
37 struct bNodeTree;
38 struct bNodeTree;
39 struct bNodeTreeType;
40 struct bNodeType;
41
42 typedef enum {
43         NODE_TOP    = 1,
44         NODE_BOTTOM = 2,
45         NODE_LEFT   = 4,
46         NODE_RIGHT  = 8,
47 } NodeBorder;
48
49 #define NODE_GRID_STEPS     5
50
51 /* space_node.c */
52 int ED_node_tree_path_length(struct SpaceNode *snode);
53 void ED_node_tree_path_get(struct SpaceNode *snode, char *value);
54 void ED_node_tree_path_get_fixedbuf(struct SpaceNode *snode, char *value, int max_length);
55
56 void ED_node_tree_start(struct SpaceNode *snode, struct bNodeTree *ntree, struct ID *id, struct ID *from);
57 void ED_node_tree_push(struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *gnode);
58 void ED_node_tree_pop(struct SpaceNode *snode);
59 int ED_node_tree_depth(struct SpaceNode *snode);
60 struct bNodeTree *ED_node_tree_get(struct SpaceNode *snode, int level);
61
62 void ED_node_set_active_viewer_key(struct SpaceNode *snode);
63
64 /* drawnode.c */
65 void ED_node_init_butfuncs(void);
66 void ED_init_custom_node_type(struct bNodeType *ntype);
67 void ED_init_custom_node_socket_type(struct bNodeSocketType *stype);
68 void ED_init_standard_node_socket_type(struct bNodeSocketType *stype);
69 void ED_init_node_socket_type_virtual(struct bNodeSocketType *stype);
70 void ED_node_sample_set(const float col[4]);
71 void ED_node_draw_snap(struct View2D *v2d, const float cent[2], float size, NodeBorder border);
72
73 /* node_draw.c */
74 void ED_node_tree_update(const struct bContext *C);
75 void ED_node_tag_update_id(struct ID *id);
76 void ED_node_tag_update_nodetree(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node);
77 void ED_node_sort(struct bNodeTree *ntree);
78 float ED_node_grid_size(void);
79
80 /* node_relationships.c */
81 void ED_node_link_intersect_test(struct ScrArea *sa, int test);
82 void ED_node_link_insert(struct Main *bmain, struct ScrArea *sa);
83
84 /* node_edit.c */
85 void ED_node_set_tree_type(struct SpaceNode *snode, struct bNodeTreeType *typeinfo);
86 bool ED_node_is_compositor(struct SpaceNode *snode);
87 bool ED_node_is_shader(struct SpaceNode *snode);
88 bool ED_node_is_texture(struct SpaceNode *snode);
89
90 void ED_node_shader_default(const struct bContext *C, struct ID *id);
91 void ED_node_composit_default(const struct bContext *C, struct Scene *scene);
92 void ED_node_texture_default(const struct bContext *C, struct Tex *tex);
93 bool ED_node_select_check(ListBase *lb);
94 void ED_node_post_apply_transform(struct bContext *C, struct bNodeTree *ntree);
95 void ED_node_set_active(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node);
96
97 void ED_node_composite_job(const struct bContext *C, struct bNodeTree *nodetree, struct Scene *scene_owner);
98
99 /* node_ops.c */
100 void ED_operatormacros_node(void);
101
102 /* node_view.c */
103 bool ED_space_node_color_sample(struct Main *bmain, struct SpaceNode *snode, struct ARegion *ar, int mval[2], float r_col[3]);
104
105 #endif /* __ED_NODE_H__ */