4 * ***** BEGIN GPL LICENSE BLOCK *****
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.
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.
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.
20 * The Original Code is Copyright (C) 2008 Blender Foundation.
21 * All rights reserved.
24 * Contributor(s): Blender Foundation
26 * ***** END GPL LICENSE BLOCK *****
28 #ifndef ED_NODE_INTERN_H
29 #define ED_NODE_INTERN_H
31 /* internal exports only */
36 struct wmWindowManager;
40 #define NODE_SELECT_MOUSE 1
42 /* border select defines XXX these seem to be hardcode values still in border select invoke, check */
44 #define NODE_EXCLUSIVE 3
47 void node_header_buttons(const bContext *C, ARegion *ar);
50 void drawnodespace(const bContext *C, ARegion *ar, View2D *v2d);
53 void node_operatortypes(void);
54 void node_keymap(wmWindowManager *wm);
57 void NODE_OT_select(struct wmOperatorType *ot);
58 void NODE_OT_extend_select(struct wmOperatorType *ot);
59 void NODE_OT_toggle_visibility(struct wmOperatorType *ot);
60 void NODE_OT_fit_all(struct wmOperatorType *ot);
61 void NODE_OT_border_select(struct wmOperatorType *ot);
64 void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link);
65 void node_draw_link_bezier(View2D *v2d, float vec[][3], int th_col1, int th_col2, int do_shaded);
66 void draw_nodespace_back_pix(ScrArea *sa, SpaceNode *snode);
69 bNode *next_node(bNodeTree *ntree);
70 bNode *node_add_node(SpaceNode *snode, int type, float locx, float locy);
71 void snode_set_context(SpaceNode *snode, Scene *scene);
72 void scale_node(SpaceNode *snode, bNode *node);
73 void snode_make_group_editable(SpaceNode *snode, bNode *gnode);
74 void snode_home(ScrArea *sa, ARegion *ar, SpaceNode *snode);
75 void node_set_active(SpaceNode *snode, bNode *node);
76 void node_deselectall(SpaceNode *snode, int swap);
80 // XXX from BSE_node.h
81 #define HIDDEN_RAD 15.0f
82 #define BASIS_RAD 8.0f
85 #define NODE_SOCKSIZE 5
87 // XXX button events (butspace)
105 } eActHeader_ButEvents;
107 #endif /* ED_NODE_INTERN_H */