Blender V5.0
ED_node_c.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2009 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11struct ARegion;
12struct ID;
13struct Main;
14struct Scene;
15struct SpaceNode;
16struct Tex;
17struct View2D;
18struct bContext;
19struct bNode;
20struct bNodeTree;
21namespace blender::bke {
22struct bNodeTreeType;
23struct bNodeType;
24struct bNodeSocketType;
25} // namespace blender::bke
26
27#define NODE_GRID_STEP_SIZE (20.0f * UI_SCALE_FAC) /* Based on the grid nodes snap to. */
28#define NODE_EDGE_PAN_INSIDE_PAD 2
29#define NODE_EDGE_PAN_OUTSIDE_PAD 0 /* Disable clamping for node panning, use whole screen. */
30#define NODE_EDGE_PAN_SPEED_RAMP 1
31#define NODE_EDGE_PAN_MAX_SPEED 26 /* In UI units per second, slower than default. */
32#define NODE_EDGE_PAN_DELAY 0.5f
33#define NODE_EDGE_PAN_ZOOM_INFLUENCE 0.5f
34
35/* `clipboard.cc` */
36
38
39/* `space_node.cc` */
40
41void ED_node_cursor_location_get(const SpaceNode *snode, float value[2]);
42void ED_node_cursor_location_set(SpaceNode *snode, const float value[2]);
43
48void ED_node_tree_path_get(SpaceNode *snode, char *value);
49
50void ED_node_tree_start(ARegion *region, SpaceNode *snode, bNodeTree *ntree, ID *id, ID *from);
51void ED_node_tree_push(ARegion *region, SpaceNode *snode, bNodeTree *ntree, bNode *gnode);
52void ED_node_tree_pop(ARegion *region, SpaceNode *snode);
54bNodeTree *ED_node_tree_get(SpaceNode *snode, int level);
55
57
58/* `drawnode.cc` */
59
65void ED_node_sample_set(const float col[4]);
66void ED_node_type_draw_color(const char *idname, float *r_color);
67
68/* `node_edit.cc` */
69
71bool ED_node_is_compositor(const SpaceNode *snode);
72bool ED_node_is_shader(SpaceNode *snode);
73bool ED_node_is_texture(SpaceNode *snode);
74bool ED_node_is_geometry(const SpaceNode *snode);
76
81void ED_node_shader_default(const bContext *C, Main *bmain, ID *id);
82
91void ED_node_composit_default(const bContext *C, Scene *scene);
96void ED_node_texture_default(const bContext *C, Tex *tex);
99 Main *bmain, SpaceNode *snode, bNodeTree *ntree, bNode *node, bool *r_active_texture_changed);
100
108void ED_node_composite_job(const bContext *C, bNodeTree *nodetree, Scene *scene_owner);
109
110/* `node_ops.cc` */
111
113
114/* `node_view.cc` */
115
120 Main *bmain, SpaceNode *snode, ARegion *region, const int mval[2], float fpos[2]);
126 Main *bmain, SpaceNode *snode, ARegion *region, const int mval[2], float r_col[3]);
bool ED_space_node_get_position(Main *bmain, SpaceNode *snode, ARegion *region, const int mval[2], float fpos[2])
Definition node_view.cc:473
void ED_node_sample_set(const float col[4])
Definition drawnode.cc:132
bool ED_node_is_geometry(const SpaceNode *snode)
Definition node_edit.cc:502
bNodeTree * ED_node_tree_get(SpaceNode *snode, int level)
void ED_node_texture_default(const bContext *C, Tex *tex)
Definition node_edit.cc:652
void ED_node_set_tree_type(SpaceNode *snode, blender::bke::bNodeTreeType *typeinfo)
Definition node_edit.cc:473
void ED_node_clipboard_free()
Definition clipboard.cc:586
void ED_node_tree_start(ARegion *region, SpaceNode *snode, bNodeTree *ntree, ID *id, ID *from)
Definition space_node.cc:78
bool ED_node_is_compositor(const SpaceNode *snode)
Definition node_edit.cc:487
void ED_operatormacros_node()
Definition node_ops.cc:142
void ED_node_composit_default_init(const bContext *C, bNodeTree *ntree)
Definition node_edit.cc:601
void ED_node_cursor_location_set(SpaceNode *snode, const float value[2])
void ED_init_standard_node_socket_type(blender::bke::bNodeSocketType *stype)
Definition drawnode.cc:1493
void ED_node_tree_pop(ARegion *region, SpaceNode *snode)
void ED_node_set_active(Main *bmain, SpaceNode *snode, bNodeTree *ntree, bNode *node, bool *r_active_texture_changed)
Definition node_edit.cc:728
bool ED_space_node_color_sample(Main *bmain, SpaceNode *snode, ARegion *region, const int mval[2], float r_col[3])
Definition node_view.cc:500
void ED_node_tree_path_get(SpaceNode *snode, char *value)
void ED_node_tree_push(ARegion *region, SpaceNode *snode, bNodeTree *ntree, bNode *gnode)
int ED_node_tree_depth(SpaceNode *snode)
void ED_init_custom_node_socket_type(blender::bke::bNodeSocketType *stype)
Definition drawnode.cc:942
void ED_node_set_active_viewer_key(SpaceNode *snode)
void ED_init_node_socket_type_virtual(blender::bke::bNodeSocketType *stype)
Definition drawnode.cc:1502
void ED_node_type_draw_color(const char *idname, float *r_color)
Definition drawnode.cc:1510
bool ED_node_is_shader(SpaceNode *snode)
Definition node_edit.cc:492
void ED_node_post_apply_transform(bContext *C, bNodeTree *ntree)
Definition node_edit.cc:856
void ED_node_shader_default(const bContext *C, Main *bmain, ID *id)
Definition node_edit.cc:513
int ED_node_tree_path_length(SpaceNode *snode)
void ED_node_composite_job(const bContext *C, bNodeTree *nodetree, Scene *scene_owner)
Definition node_edit.cc:371
void ED_node_composit_default(const bContext *C, Scene *scene)
Definition node_edit.cc:581
void ED_node_cursor_location_get(const SpaceNode *snode, float value[2])
bool ED_node_supports_preview(SpaceNode *snode)
Definition node_edit.cc:507
bool ED_node_is_texture(SpaceNode *snode)
Definition node_edit.cc:497
void ED_node_init_butfuncs()
Definition drawnode.cc:908
void ED_init_custom_node_type(blender::bke::bNodeType *ntype)
Definition drawnode.cc:940
#define C
Definition RandGen.cpp:29
uint col
Definition DNA_ID.h:414
Defines a socket type.
Definition BKE_node.hh:158
Defines a node type.
Definition BKE_node.hh:238