Blender  V2.93
Classes | Macros | Typedefs | Enumerations | Functions | Variables
node_edit.c File Reference
#include "MEM_guardedalloc.h"
#include "DNA_light_types.h"
#include "DNA_material_types.h"
#include "DNA_node_types.h"
#include "DNA_text_types.h"
#include "DNA_world_types.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_image.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_material.h"
#include "BKE_node.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_workspace.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "RE_engine.h"
#include "RE_pipeline.h"
#include "ED_node.h"
#include "ED_render.h"
#include "ED_screen.h"
#include "ED_select_utils.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
#include "WM_api.h"
#include "WM_types.h"
#include "UI_view2d.h"
#include "GPU_material.h"
#include "IMB_imbuf_types.h"
#include "NOD_composite.h"
#include "NOD_geometry.h"
#include "NOD_shader.h"
#include "NOD_texture.h"
#include "node_intern.h"

Go to the source code of this file.

Classes

struct  CompoJob
 
struct  NodeSizeWidget
 

Macros

#define USE_ESC_COMPO
 

Typedefs

typedef struct CompoJob CompoJob
 
typedef struct NodeSizeWidget NodeSizeWidget
 

Enumerations

enum  { COM_RECALC_COMPOSITE = 1 , COM_RECALC_VIEWER = 2 }
 

Functions

float node_socket_calculate_height (const bNodeSocket *socket)
 
void node_link_calculate_multi_input_position (const float socket_x, const float socket_y, const int index, const int total_inputs, float r[2])
 
static void compo_tag_output_nodes (bNodeTree *nodetree, int recalc_flags)
 
static int compo_get_recalc_flags (const bContext *C)
 
static int compo_breakjob (void *cjv)
 
static void compo_statsdrawjob (void *cjv, const char *UNUSED(str))
 
static void compo_redrawjob (void *cjv)
 
static void compo_freejob (void *cjv)
 
static void compo_initjob (void *cjv)
 
static void compo_updatejob (void *UNUSED(cjv))
 
static void compo_progressjob (void *cjv, float progress)
 
static void compo_startjob (void *cjv, short *stop, short *do_update, float *progress)
 
void ED_node_composite_job (const bContext *C, struct bNodeTree *nodetree, Scene *scene_owner)
 
bool composite_node_active (bContext *C)
 
bool composite_node_editable (bContext *C)
 
void snode_dag_update (bContext *C, SpaceNode *snode)
 
void snode_notify (bContext *C, SpaceNode *snode)
 
void ED_node_set_tree_type (SpaceNode *snode, bNodeTreeType *typeinfo)
 
bool ED_node_is_compositor (struct SpaceNode *snode)
 
bool ED_node_is_shader (struct SpaceNode *snode)
 
bool ED_node_is_texture (struct SpaceNode *snode)
 
bool ED_node_is_geometry (struct SpaceNode *snode)
 
void ED_node_shader_default (const bContext *C, ID *id)
 
void ED_node_composit_default (const bContext *C, struct Scene *sce)
 
void ED_node_texture_default (const bContext *C, Tex *tex)
 
void snode_set_context (const bContext *C)
 
void snode_update (SpaceNode *snode, bNode *node)
 
void ED_node_set_active (Main *bmain, bNodeTree *ntree, bNode *node, bool *r_active_texture_changed)
 
void ED_node_post_apply_transform (bContext *UNUSED(C), bNodeTree *UNUSED(ntree))
 
static bNodevisible_node (SpaceNode *snode, const rctf *rct)
 
static void node_resize_init (bContext *C, wmOperator *op, const wmEvent *UNUSED(event), bNode *node, int dir)
 
static void node_resize_exit (bContext *C, wmOperator *op, bool cancel)
 
static int node_resize_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
static int node_resize_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static void node_resize_cancel (bContext *C, wmOperator *op)
 
void NODE_OT_resize (wmOperatorType *ot)
 
bool node_has_hidden_sockets (bNode *node)
 
void node_set_hidden_sockets (SpaceNode *snode, bNode *node, int set)
 
static bool cursor_isect_multi_input_socket (const float cursor[2], const bNodeSocket *socket)
 
int node_find_indicated_socket (SpaceNode *snode, bNode **nodep, bNodeSocket **sockp, const float cursor[2], int in_out)
 
static void node_duplicate_reparent_recursive (bNode *node)
 
static int node_duplicate_exec (bContext *C, wmOperator *op)
 
void NODE_OT_duplicate (wmOperatorType *ot)
 
bool ED_node_select_check (ListBase *lb)
 
void ED_node_select_all (ListBase *lb, int action)
 
static int node_read_viewlayers_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_read_viewlayers (wmOperatorType *ot)
 
int node_render_changed_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_render_changed (wmOperatorType *ot)
 
static void node_flag_toggle_exec (SpaceNode *snode, int toggle_flag)
 
static int node_hide_toggle_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_hide_toggle (wmOperatorType *ot)
 
static int node_preview_toggle_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_preview_toggle (wmOperatorType *ot)
 
static int node_options_toggle_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_options_toggle (wmOperatorType *ot)
 
static int node_socket_toggle_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_hide_socket_toggle (wmOperatorType *ot)
 
static int node_mute_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_mute_toggle (wmOperatorType *ot)
 
static int node_delete_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_delete (wmOperatorType *ot)
 
static bool node_switch_view_poll (bContext *C)
 
static int node_switch_view_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_switch_view_update (wmOperatorType *ot)
 
static int node_delete_reconnect_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_delete_reconnect (wmOperatorType *ot)
 
static int node_output_file_add_socket_exec (bContext *C, wmOperator *op)
 
void NODE_OT_output_file_add_socket (wmOperatorType *ot)
 
static int node_output_file_remove_active_socket_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_output_file_remove_active_socket (wmOperatorType *ot)
 
static int node_output_file_move_active_socket_exec (bContext *C, wmOperator *op)
 
void NODE_OT_output_file_move_active_socket (wmOperatorType *ot)
 
static int node_copy_color_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_node_copy_color (wmOperatorType *ot)
 
static int node_clipboard_copy_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_clipboard_copy (wmOperatorType *ot)
 
static int node_clipboard_paste_exec (bContext *C, wmOperator *op)
 
void NODE_OT_clipboard_paste (wmOperatorType *ot)
 
static bNodeSocketntree_get_active_interface_socket (ListBase *lb)
 
static int ntree_socket_add_exec (bContext *C, wmOperator *op)
 
void NODE_OT_tree_socket_add (wmOperatorType *ot)
 
static int ntree_socket_remove_exec (bContext *C, wmOperator *op)
 
void NODE_OT_tree_socket_remove (wmOperatorType *ot)
 
static int ntree_socket_move_exec (bContext *C, wmOperator *op)
 
void NODE_OT_tree_socket_move (wmOperatorType *ot)
 
static bool node_shader_script_update_poll (bContext *C)
 
static bool node_shader_script_update_text_recursive (RenderEngine *engine, RenderEngineType *type, bNodeTree *ntree, Text *text)
 
static int node_shader_script_update_exec (bContext *C, wmOperator *op)
 
void NODE_OT_shader_script_update (wmOperatorType *ot)
 
static void viewer_border_corner_to_backdrop (SpaceNode *snode, ARegion *region, int x, int y, int backdrop_width, int backdrop_height, float *fx, float *fy)
 
static int viewer_border_exec (bContext *C, wmOperator *op)
 
void NODE_OT_viewer_border (wmOperatorType *ot)
 
static int clear_viewer_border_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_clear_viewer_border (wmOperatorType *ot)
 
static int node_cryptomatte_add_socket_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_cryptomatte_layer_add (wmOperatorType *ot)
 
static int node_cryptomatte_remove_socket_exec (bContext *C, wmOperator *UNUSED(op))
 
void NODE_OT_cryptomatte_layer_remove (wmOperatorType *ot)
 

Variables

static const EnumPropertyItem move_direction_items []
 

Macro Definition Documentation

◆ USE_ESC_COMPO

#define USE_ESC_COMPO

Definition at line 77 of file node_edit.c.

Typedef Documentation

◆ CompoJob

typedef struct CompoJob CompoJob

◆ NodeSizeWidget

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
COM_RECALC_COMPOSITE 
COM_RECALC_VIEWER 

Definition at line 81 of file node_edit.c.

Function Documentation

◆ clear_viewer_border_exec()

static int clear_viewer_border_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ compo_breakjob()

static int compo_breakjob ( void *  cjv)
static

Definition at line 176 of file node_edit.c.

References G, CompoJob::stop, and USE_ESC_COMPO.

Referenced by compo_startjob().

◆ compo_freejob()

static void compo_freejob ( void *  cjv)
static

◆ compo_get_recalc_flags()

static int compo_get_recalc_flags ( const bContext C)
static

◆ compo_initjob()

static void compo_initjob ( void *  cjv)
static

◆ compo_progressjob()

static void compo_progressjob ( void *  cjv,
float  progress 
)
static

Definition at line 249 of file node_edit.c.

References CompoJob::progress.

Referenced by compo_startjob().

◆ compo_redrawjob()

static void compo_redrawjob ( void *  cjv)
static

Definition at line 197 of file node_edit.c.

References CompoJob::do_update.

Referenced by compo_startjob().

◆ compo_startjob()

static void compo_startjob ( void *  cjv,
short *  stop,
short *  do_update,
float progress 
)
static

◆ compo_statsdrawjob()

static void compo_statsdrawjob ( void *  cjv,
const char *  UNUSEDstr 
)
static

Definition at line 189 of file node_edit.c.

References CompoJob::do_update.

Referenced by compo_startjob().

◆ compo_tag_output_nodes()

static void compo_tag_output_nodes ( bNodeTree nodetree,
int  recalc_flags 
)
static

◆ compo_updatejob()

static void compo_updatejob ( void *  UNUSEDcjv)
static

Definition at line 244 of file node_edit.c.

References NC_SCENE, ND_COMPO_RESULT, NULL, and WM_main_add_notifier().

Referenced by ED_node_composite_job().

◆ composite_node_active()

bool composite_node_active ( bContext C)

◆ composite_node_editable()

bool composite_node_editable ( bContext C)

◆ cursor_isect_multi_input_socket()

static bool cursor_isect_multi_input_socket ( const float  cursor[2],
const bNodeSocket socket 
)
static

◆ ED_node_composit_default()

void ED_node_composit_default ( const bContext C,
struct Scene sce 
)

◆ ED_node_composite_job()

void ED_node_composite_job ( const bContext C,
struct bNodeTree nodetree,
Scene scene_owner 
)
Parameters
scene_owneris the owner of the job, we don't use it for anything else currently so could also be a void pointer, but for now keep it an 'Scene' for consistency.
Note
only call from spaces refresh callbacks, not direct! - use with care.

Definition at line 326 of file node_edit.c.

References BKE_image_backup_render(), BKE_image_ensure_viewer(), CompoJob::bmain, C, compo_freejob(), compo_get_recalc_flags(), compo_initjob(), compo_startjob(), compo_updatejob(), CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_manager(), CTX_wm_window(), G, IMA_TYPE_R_RESULT, MEM_callocN, NC_SCENE, ND_COMPO_RESULT, CompoJob::ntree, NULL, CompoJob::recalc_flags, scene, CompoJob::scene, CompoJob::view_layer, WM_JOB_EXCL_RENDER, WM_JOB_PROGRESS, WM_JOB_TYPE_COMPOSITE, WM_jobs_callbacks(), WM_jobs_customdata_set(), WM_jobs_get(), WM_jobs_start(), and WM_jobs_timer().

◆ ED_node_is_compositor()

bool ED_node_is_compositor ( struct SpaceNode snode)

◆ ED_node_is_geometry()

bool ED_node_is_geometry ( struct SpaceNode snode)

◆ ED_node_is_shader()

bool ED_node_is_shader ( struct SpaceNode snode)

◆ ED_node_is_texture()

bool ED_node_is_texture ( struct SpaceNode snode)

◆ ED_node_post_apply_transform()

void ED_node_post_apply_transform ( bContext UNUSEDC,
bNodeTree UNUSEDntree 
)

Definition at line 788 of file node_edit.c.

Referenced by node_resize_modal().

◆ ED_node_select_all()

void ED_node_select_all ( ListBase lb,
int  action 
)

◆ ED_node_select_check()

bool ED_node_select_check ( ListBase lb)

Definition at line 1359 of file node_edit.c.

References LISTBASE_FOREACH, node, and NODE_SELECT.

Referenced by ED_node_select_all().

◆ ED_node_set_active()

void ED_node_set_active ( Main bmain,
bNodeTree ntree,
bNode node,
bool *  r_active_texture_changed 
)

◆ ED_node_set_tree_type()

void ED_node_set_tree_type ( SpaceNode snode,
bNodeTreeType typeinfo 
)

Definition at line 439 of file node_edit.c.

References BLI_strncpy(), bNodeTreeType::idname, and SpaceNode::tree_idname.

Referenced by node_space_subtype_set().

◆ ED_node_shader_default()

void ED_node_shader_default ( const bContext C,
ID id 
)

◆ ED_node_texture_default()

void ED_node_texture_default ( const bContext C,
Tex tex 
)

◆ node_clipboard_copy_exec()

static int node_clipboard_copy_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_clipboard_paste_exec()

static int node_clipboard_paste_exec ( bContext C,
wmOperator op 
)
static

◆ node_copy_color_exec()

static int node_copy_color_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_cryptomatte_add_socket_exec()

static int node_cryptomatte_add_socket_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_cryptomatte_remove_socket_exec()

static int node_cryptomatte_remove_socket_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_delete_exec()

static int node_delete_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_delete_reconnect_exec()

static int node_delete_reconnect_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_duplicate_exec()

static int node_duplicate_exec ( bContext C,
wmOperator op 
)
static

◆ node_duplicate_reparent_recursive()

static void node_duplicate_reparent_recursive ( bNode node)
static

◆ node_find_indicated_socket()

int node_find_indicated_socket ( SpaceNode snode,
bNode **  nodep,
bNodeSocket **  sockp,
const float  cursor[2],
int  in_out 
)

◆ node_flag_toggle_exec()

static void node_flag_toggle_exec ( SpaceNode snode,
int  toggle_flag 
)
static

◆ node_has_hidden_sockets()

bool node_has_hidden_sockets ( bNode node)

Definition at line 1087 of file node_edit.c.

References bNodeSocket::flag, LISTBASE_FOREACH, node, and SOCK_HIDDEN.

Referenced by node_socket_toggle_exec().

◆ node_hide_toggle_exec()

static int node_hide_toggle_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_link_calculate_multi_input_position()

void node_link_calculate_multi_input_position ( const float  socket_x,
const float  socket_y,
const int  index,
const int  total_inputs,
float  r[2] 
)

Definition at line 111 of file node_edit.c.

References NODE_MULTI_INPUT_LINK_GAP, NODE_SOCKSIZE, and r.

Referenced by node_link_bezier_handles(), and sort_multi_input_socket_links().

◆ node_mute_exec()

static int node_mute_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_options_toggle_exec()

static int node_options_toggle_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ NODE_OT_clear_viewer_border()

void NODE_OT_clear_viewer_border ( wmOperatorType ot)

◆ NODE_OT_clipboard_copy()

void NODE_OT_clipboard_copy ( wmOperatorType ot)

◆ NODE_OT_clipboard_paste()

void NODE_OT_clipboard_paste ( wmOperatorType ot)

◆ NODE_OT_cryptomatte_layer_add()

void NODE_OT_cryptomatte_layer_add ( wmOperatorType ot)

◆ NODE_OT_cryptomatte_layer_remove()

void NODE_OT_cryptomatte_layer_remove ( wmOperatorType ot)

◆ NODE_OT_delete()

void NODE_OT_delete ( wmOperatorType ot)

◆ NODE_OT_delete_reconnect()

void NODE_OT_delete_reconnect ( wmOperatorType ot)

◆ NODE_OT_duplicate()

void NODE_OT_duplicate ( wmOperatorType ot)

◆ NODE_OT_hide_socket_toggle()

void NODE_OT_hide_socket_toggle ( wmOperatorType ot)

◆ NODE_OT_hide_toggle()

void NODE_OT_hide_toggle ( wmOperatorType ot)

◆ NODE_OT_mute_toggle()

void NODE_OT_mute_toggle ( wmOperatorType ot)

◆ NODE_OT_node_copy_color()

void NODE_OT_node_copy_color ( wmOperatorType ot)

◆ NODE_OT_options_toggle()

void NODE_OT_options_toggle ( wmOperatorType ot)

◆ NODE_OT_output_file_add_socket()

void NODE_OT_output_file_add_socket ( wmOperatorType ot)

◆ NODE_OT_output_file_move_active_socket()

void NODE_OT_output_file_move_active_socket ( wmOperatorType ot)

◆ NODE_OT_output_file_remove_active_socket()

void NODE_OT_output_file_remove_active_socket ( wmOperatorType ot)

◆ NODE_OT_preview_toggle()

void NODE_OT_preview_toggle ( wmOperatorType ot)

◆ NODE_OT_read_viewlayers()

void NODE_OT_read_viewlayers ( wmOperatorType ot)

◆ NODE_OT_render_changed()

void NODE_OT_render_changed ( wmOperatorType ot)

◆ NODE_OT_resize()

void NODE_OT_resize ( wmOperatorType ot)

◆ NODE_OT_shader_script_update()

void NODE_OT_shader_script_update ( wmOperatorType ot)

◆ NODE_OT_switch_view_update()

void NODE_OT_switch_view_update ( wmOperatorType ot)

◆ NODE_OT_tree_socket_add()

void NODE_OT_tree_socket_add ( wmOperatorType ot)

◆ NODE_OT_tree_socket_move()

void NODE_OT_tree_socket_move ( wmOperatorType ot)

◆ NODE_OT_tree_socket_remove()

void NODE_OT_tree_socket_remove ( wmOperatorType ot)

◆ NODE_OT_viewer_border()

void NODE_OT_viewer_border ( wmOperatorType ot)

◆ node_output_file_add_socket_exec()

static int node_output_file_add_socket_exec ( bContext C,
wmOperator op 
)
static

◆ node_output_file_move_active_socket_exec()

static int node_output_file_move_active_socket_exec ( bContext C,
wmOperator op 
)
static

◆ node_output_file_remove_active_socket_exec()

static int node_output_file_remove_active_socket_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_preview_toggle_exec()

static int node_preview_toggle_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_read_viewlayers_exec()

static int node_read_viewlayers_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_render_changed_exec()

int node_render_changed_exec ( bContext C,
wmOperator UNUSEDop 
)

◆ node_resize_cancel()

static void node_resize_cancel ( bContext C,
wmOperator op 
)
static

Definition at line 1063 of file node_edit.c.

References C, and node_resize_exit().

Referenced by NODE_OT_resize().

◆ node_resize_exit()

static void node_resize_exit ( bContext C,
wmOperator op,
bool  cancel 
)
static

◆ node_resize_init()

static void node_resize_init ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent,
bNode node,
int  dir 
)
static

◆ node_resize_invoke()

static int node_resize_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ node_resize_modal()

static int node_resize_modal ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ node_set_hidden_sockets()

void node_set_hidden_sockets ( SpaceNode snode,
bNode node,
int  set 
)

◆ node_shader_script_update_exec()

static int node_shader_script_update_exec ( bContext C,
wmOperator op 
)
static

◆ node_shader_script_update_poll()

static bool node_shader_script_update_poll ( bContext C)
static

◆ node_shader_script_update_text_recursive()

static bool node_shader_script_update_text_recursive ( RenderEngine engine,
RenderEngineType type,
bNodeTree ntree,
Text text 
)
static

◆ node_socket_calculate_height()

float node_socket_calculate_height ( const bNodeSocket socket)

◆ node_socket_toggle_exec()

static int node_socket_toggle_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_switch_view_exec()

static int node_switch_view_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ node_switch_view_poll()

static bool node_switch_view_poll ( bContext C)
static

Definition at line 1787 of file node_edit.c.

References C, CTX_wm_space_node(), and SpaceNode::edittree.

Referenced by NODE_OT_switch_view_update().

◆ ntree_get_active_interface_socket()

static bNodeSocket* ntree_get_active_interface_socket ( ListBase lb)
static

Definition at line 2286 of file node_edit.c.

References LISTBASE_FOREACH, NULL, and SELECT.

Referenced by ntree_socket_add_exec(), ntree_socket_move_exec(), and ntree_socket_remove_exec().

◆ ntree_socket_add_exec()

static int ntree_socket_add_exec ( bContext C,
wmOperator op 
)
static

◆ ntree_socket_move_exec()

static int ntree_socket_move_exec ( bContext C,
wmOperator op 
)
static

◆ ntree_socket_remove_exec()

static int ntree_socket_remove_exec ( bContext C,
wmOperator op 
)
static

◆ snode_dag_update()

void snode_dag_update ( bContext C,
SpaceNode snode 
)

◆ snode_notify()

void snode_notify ( bContext C,
SpaceNode snode 
)

◆ snode_set_context()

void snode_set_context ( const bContext C)

◆ snode_update()

void snode_update ( SpaceNode snode,
bNode node 
)

◆ viewer_border_corner_to_backdrop()

static void viewer_border_corner_to_backdrop ( SpaceNode snode,
ARegion region,
int  x,
int  y,
int  backdrop_width,
int  backdrop_height,
float fx,
float fy 
)
static

Definition at line 2630 of file node_edit.c.

References float(), ARegion::winx, ARegion::winy, x, SpaceNode::xof, y, SpaceNode::yof, and SpaceNode::zoom.

Referenced by viewer_border_exec().

◆ viewer_border_exec()

static int viewer_border_exec ( bContext C,
wmOperator op 
)
static

◆ visible_node()

static bNode* visible_node ( SpaceNode snode,
const rctf rct 
)
static

Variable Documentation

◆ move_direction_items

const EnumPropertyItem move_direction_items[]
static
Initial value:
= {
{1, "UP", 0, "Up", ""},
{2, "DOWN", 0, "Down", ""},
{0, NULL, 0, NULL, NULL},
}

Definition at line 2408 of file node_edit.c.

Referenced by NODE_OT_tree_socket_move().