Blender V4.5
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);
76
81void ED_node_shader_default(const bContext *C, ID *id);
86void ED_node_composit_default(const bContext *C, Scene *scene);
91void ED_node_texture_default(const bContext *C, Tex *tex);
94 Main *bmain, SpaceNode *snode, bNodeTree *ntree, bNode *node, bool *r_active_texture_changed);
95
103void ED_node_composite_job(const bContext *C, bNodeTree *nodetree, Scene *scene_owner);
104
105/* `node_ops.cc` */
106
108
109/* `node_view.cc` */
110
115 Main *bmain, SpaceNode *snode, ARegion *region, const int mval[2], float fpos[2]);
121 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:131
bNodeTree * ED_node_tree_get(SpaceNode *snode, int level)
void ED_node_texture_default(const bContext *C, Tex *tex)
Definition node_edit.cc:696
void ED_node_set_tree_type(SpaceNode *snode, blender::bke::bNodeTreeType *typeinfo)
Definition node_edit.cc:538
void ED_node_clipboard_free()
Definition clipboard.cc:549
void ED_node_tree_start(ARegion *region, SpaceNode *snode, bNodeTree *ntree, ID *id, ID *from)
Definition space_node.cc:76
bool ED_node_is_compositor(const SpaceNode *snode)
Definition node_edit.cc:548
void ED_operatormacros_node()
Definition node_ops.cc:135
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:1516
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:772
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:964
void ED_node_set_active_viewer_key(SpaceNode *snode)
void ED_init_node_socket_type_virtual(blender::bke::bNodeSocketType *stype)
Definition drawnode.cc:1525
void ED_node_type_draw_color(const char *idname, float *r_color)
Definition drawnode.cc:1533
bool ED_node_is_shader(SpaceNode *snode)
Definition node_edit.cc:553
void ED_node_post_apply_transform(bContext *C, bNodeTree *ntree)
Definition node_edit.cc:920
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:441
void ED_node_composit_default(const bContext *C, Scene *scene)
Definition node_edit.cc:643
bool ED_node_is_geometry(SpaceNode *snode)
Definition node_edit.cc:563
void ED_node_cursor_location_get(const SpaceNode *snode, float value[2])
bool ED_node_supports_preview(SpaceNode *snode)
Definition node_edit.cc:568
void ED_node_shader_default(const bContext *C, ID *id)
Definition node_edit.cc:574
bool ED_node_is_texture(SpaceNode *snode)
Definition node_edit.cc:558
void ED_node_init_butfuncs()
Definition drawnode.cc:930
void ED_init_custom_node_type(blender::bke::bNodeType *ntype)
Definition drawnode.cc:962
#define C
Definition RandGen.cpp:29
uint col
Definition DNA_ID.h:404
Defines a socket type.
Definition BKE_node.hh:152
Defines a node type.
Definition BKE_node.hh:226