63 path_next = path->
next;
179 length += strlen(path->display_name);
194 strcpy(value, path->display_name);
195 value += strlen(path->display_name);
198 sprintf(value,
"/%s", path->display_name);
199 value += strlen(path->display_name) + 1;
218 if (max_length <= 0) {
237 if (path && path->
prev) {
306 region->
v2d.
min[0] = 1.0f;
307 region->
v2d.
min[1] = 1.0f;
309 region->
v2d.
max[0] = 32000.0f;
310 region->
v2d.
max[1] = 32000.0f;
361 if (region && path) {
666 const char **
UNUSED(r_tooltip))
674 const char **
UNUSED(r_tooltip))
682 const char **
UNUSED(r_tooltip))
690 const char **
UNUSED(r_tooltip))
698 const char **
UNUSED(r_tooltip))
702 return (
ELEM(drag->
icon, 0, ICON_FILE_IMAGE, ICON_FILE_MOVIE));
710 const char **
UNUSED(r_tooltip))
737 else if (drag->
path[0]) {
749 "NODE_OT_add_object",
754 "NODE_OT_add_collection",
759 "NODE_OT_add_texture",
871 "selected_nodes",
"active_node",
"light",
"material",
"world",
NULL};
950 if (snode->
id == old_id) {
963 if (snode->
from == old_id) {
964 if (new_id ==
NULL) {
967 snode->
from = new_id;
971 if ((
ID *)snode->
gpd == old_id) {
995 for (; path; path = path_next) {
996 path_next = path->
next;
void CTX_data_dir_set(bContextDataResult *result, const char **dir)
struct SpaceNode * CTX_wm_space_node(const bContext *C)
bool CTX_data_equals(const char *member, const char *str)
void CTX_data_pointer_set(bContextDataResult *result, struct ID *id, StructRNA *type, void *data)
void CTX_data_id_pointer_set(bContextDataResult *result, struct ID *id)
bool CTX_data_dir(const char *member)
@ CTX_DATA_TYPE_COLLECTION
@ CTX_RESULT_MEMBER_NOT_FOUND
void CTX_data_list_add(bContextDataResult *result, struct ID *id, StructRNA *type, void *data)
void CTX_data_type_set(struct bContextDataResult *result, short type)
void id_us_min(struct ID *id)
void id_us_ensure_real(struct ID *id)
void id_us_plus(struct ID *id)
const bNodeInstanceKey NODE_INSTANCE_KEY_BASE
struct bNode * nodeGetActive(struct bNodeTree *ntree)
bool nodeUpdateID(struct bNodeTree *ntree, struct ID *id)
bool nodeSetActiveID(struct bNodeTree *ntree, short idtype, struct ID *id)
#define NODE_TREE_TYPES_BEGIN(ntype)
#define NODE_TREE_TYPES_END
bNodeInstanceKey BKE_node_instance_key(bNodeInstanceKey parent_key, const struct bNodeTree *ntree, const struct bNode *node)
struct ARegion * BKE_area_find_region_type(const struct ScrArea *area, int type)
void BKE_spacetype_register(struct SpaceType *st)
void BLI_kdtree_nd_() free(KDTree *tree)
void BLI_addhead(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void void void void void BLI_duplicatelist(struct ListBase *dst, const struct ListBase *src) ATTR_NONNULL(1
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
#define LISTBASE_FOREACH_INDEX(type, var, list, index_var)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE void sub_v2_v2v2(float r[2], const float a[2], const float b[2])
size_t BLI_strncpy_rlen(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
size_t BLI_snprintf_rlen(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_NONNULL()
bool ED_node_is_compositor(struct SpaceNode *snode)
void ED_node_set_tree_type(struct SpaceNode *snode, struct bNodeTreeType *typeinfo)
bool ED_node_is_texture(struct SpaceNode *snode)
bool ED_node_is_geometry(struct SpaceNode *snode)
bool ED_node_is_shader(struct SpaceNode *snode)
void ED_node_composite_job(const struct bContext *C, struct bNodeTree *nodetree, struct Scene *scene_owner)
void ED_preview_shader_job(const struct bContext *C, void *owner, struct ID *id, struct ID *parent, struct MTex *slot, int sizex, int sizey, int method)
void ED_area_tag_redraw(ScrArea *area)
void ED_region_header(const struct bContext *C, struct ARegion *region)
void ED_area_do_mgs_subscribe_for_tool_ui(const struct wmRegionMessageSubscribeParams *params)
int ED_region_generic_tools_region_snap_size(const struct ARegion *region, int size, int axis)
void ED_region_generic_tools_region_message_subscribe(const struct wmRegionMessageSubscribeParams *params)
void ED_region_panels(const struct bContext *C, struct ARegion *region)
void ED_region_panels_init(struct wmWindowManager *wm, struct ARegion *region)
void ED_region_tag_redraw(struct ARegion *region)
void ED_region_header_init(struct ARegion *region)
void ED_area_tag_refresh(ScrArea *area)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
Read Guarded memory(de)allocation.
StructRNA RNA_NodeInstanceHash
struct bNodeTreeType * rna_node_tree_type_from_enum(int value)
int rna_node_tree_idname_to_enum(const char *idname)
const EnumPropertyItem * RNA_enum_node_tree_types_itemf_impl(struct bContext *C, bool *r_free)
#define UI_SIDEBAR_PANEL_WIDTH
void UI_view2d_center_set(struct View2D *v2d, float x, float y)
void UI_view2d_region_reinit(struct View2D *v2d, short type, int winx, int winy)
void UI_view2d_region_to_view(const struct View2D *v2d, float x, float y, float *r_view_x, float *r_view_y) ATTR_NONNULL()
#define ND_TRANSFORM_DONE
#define ND_GPENCIL_EDITMODE
#define ND_SPACE_NODE_VIEW
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
SIMD_FORCE_INLINE btScalar length(const btQuaternion &q)
Return the length of a quaternion.
void(* MEM_freeN)(void *vmemh)
void *(* MEM_dupallocN)(const void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static void area(int d1, int d2, int e1, int e2, float weights[2])
void node_set_cursor(wmWindow *win, SpaceNode *snode, float cursor[2])
void node_draw_space(const bContext *C, ARegion *region)
void snode_set_context(const bContext *C)
int node_render_changed_exec(bContext *C, wmOperator *UNUSED(op))
void NODE_GGT_backdrop_corner_pin(wmGizmoGroupType *gzgt)
void NODE_GGT_backdrop_sun_beams(wmGizmoGroupType *gzgt)
void NODE_GGT_backdrop_transform(wmGizmoGroupType *gzgt)
void NODE_GGT_backdrop_crop(wmGizmoGroupType *gzgt)
void node_operatortypes(void)
void node_keymap(struct wmKeyConfig *keyconf)
void node_toolbar_register(struct ARegionType *art)
void RNA_string_set(PointerRNA *ptr, const char *name, const char *value)
void RNA_struct_property_unset(PointerRNA *ptr, const char *identifier)
void RNA_enum_items_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item)
static void node_init(struct wmWindowManager *UNUSED(wm), ScrArea *area)
static void node_space_subtype_item_extend(bContext *C, EnumPropertyItem **item, int *totitem)
static bool node_texture_drop_poll(bContext *UNUSED(C), wmDrag *drag, const wmEvent *UNUSED(event), const char **UNUSED(r_tooltip))
static void node_widgets(void)
static bool node_mask_drop_poll(bContext *UNUSED(C), wmDrag *drag, const wmEvent *UNUSED(event), const char **UNUSED(r_tooltip))
static SpaceLink * node_duplicate(SpaceLink *sl)
static int node_context(const bContext *C, const char *member, bContextDataResult *result)
static void node_area_refresh(const struct bContext *C, ScrArea *area)
static void node_main_region_draw(const bContext *C, ARegion *region)
static void node_header_region_init(wmWindowManager *UNUSED(wm), ARegion *region)
void ED_node_tree_push(SpaceNode *snode, bNodeTree *ntree, bNode *gnode)
void ED_node_cursor_location_set(SpaceNode *snode, const float value[2])
static void node_region_listener(const wmRegionListenerParams *params)
static void node_header_region_draw(const bContext *C, ARegion *region)
static void node_free(SpaceLink *sl)
void ED_node_tree_path_get(SpaceNode *snode, char *value)
static bool node_ima_drop_poll(bContext *UNUSED(C), wmDrag *drag, const wmEvent *UNUSED(event), const char **UNUSED(r_tooltip))
int ED_node_tree_depth(SpaceNode *snode)
static bool node_object_drop_poll(bContext *UNUSED(C), wmDrag *drag, const wmEvent *UNUSED(event), const char **UNUSED(r_tooltip))
void ED_node_set_active_viewer_key(SpaceNode *snode)
static void node_area_listener(const wmSpaceTypeListenerParams *params)
static void node_dropboxes(void)
static SpaceLink * node_create(const ScrArea *UNUSED(area), const Scene *UNUSED(scene))
void ED_node_tree_path_get_fixedbuf(SpaceNode *snode, char *value, int max_length)
static void node_toolbar_region_draw(const bContext *C, ARegion *region)
static void node_buttons_region_draw(const bContext *C, ARegion *region)
int ED_node_tree_path_length(SpaceNode *snode)
void ED_node_tree_pop(SpaceNode *snode)
bNodeTree * ED_node_tree_get(SpaceNode *snode, int level)
static void node_id_remap(ScrArea *UNUSED(area), SpaceLink *slink, ID *old_id, ID *new_id)
void ED_spacetype_node(void)
const char * node_context_dir[]
void space_node_group_offset(SpaceNode *snode, float *x, float *y)
static int node_space_subtype_get(ScrArea *area)
void ED_node_cursor_location_get(const SpaceNode *snode, float value[2])
static void node_main_region_init(wmWindowManager *wm, ARegion *region)
static void node_id_path_drop_copy(wmDrag *drag, wmDropBox *drop)
static void node_group_drop_copy(wmDrag *drag, wmDropBox *drop)
static void node_toolbar_region_init(wmWindowManager *wm, ARegion *region)
static bool node_group_drop_poll(bContext *UNUSED(C), wmDrag *drag, const wmEvent *UNUSED(event), const char **UNUSED(r_tooltip))
void ED_node_tree_start(SpaceNode *snode, bNodeTree *ntree, ID *id, ID *from)
static void node_cursor(wmWindow *win, ScrArea *area, ARegion *region)
static bool node_collection_drop_poll(bContext *UNUSED(C), wmDrag *drag, const wmEvent *UNUSED(event), const char **UNUSED(r_tooltip))
static void node_buttons_region_init(wmWindowManager *wm, ARegion *region)
static void node_id_drop_copy(wmDrag *drag, wmDropBox *drop)
static void node_space_subtype_set(ScrArea *area, int value)
void(* draw)(const struct bContext *C, struct ARegion *region)
bool clip_gizmo_events_by_ui
void(* message_subscribe)(const wmRegionMessageSubscribeParams *params)
void(* cursor)(struct wmWindow *win, struct ScrArea *area, struct ARegion *region)
int(* snap_size)(const struct ARegion *region, int size, int axis)
void(* listener)(const wmRegionListenerParams *params)
void(* init)(struct wmWindowManager *wm, struct ARegion *region)
struct wmGizmoMap * gizmo_map
SpaceNode_Runtime * runtime
struct bNodeTree * edittree
struct bNodeTree * nodetree
struct SpaceLink *(* duplicate)(struct SpaceLink *sl)
void(* keymap)(struct wmKeyConfig *keyconf)
void(* operatortypes)(void)
void(* free)(struct SpaceLink *sl)
void(* space_subtype_item_extend)(struct bContext *C, EnumPropertyItem **item, int *totitem)
struct SpaceLink *(* create)(const struct ScrArea *area, const struct Scene *scene)
void(* refresh)(const struct bContext *C, struct ScrArea *area)
void(* listener)(const wmSpaceTypeListenerParams *params)
void(* init)(struct wmWindowManager *wm, struct ScrArea *area)
bContextDataCallback context
void(* space_subtype_set)(struct ScrArea *area, int value)
void(* id_remap)(struct ScrArea *area, struct SpaceLink *sl, struct ID *old_id, struct ID *new_id)
char name[BKE_ST_MAXNAME]
int(* space_subtype_get)(struct ScrArea *area)
struct bNodeTree * nodetree
struct bNodeTreePath * next
struct bNodeTreePath * prev
bNodeInstanceKey parent_key
struct bNodeInstanceHash * previews
bNodeInstanceKey active_viewer_key
struct wmKeyConfig * defaultconf
struct wmEvent * eventstate
ID * WM_drag_get_local_ID_or_import_from_asset(const wmDrag *drag, int idcode)
void WM_drag_free_imported_drag_ID(struct Main *bmain, wmDrag *drag, wmDropBox *drop)
Free asset ID imported for cancelled drop.
wmDropBox * WM_dropbox_add(ListBase *lb, const char *idname, bool(*poll)(bContext *, wmDrag *, const wmEvent *, const char **), void(*copy)(wmDrag *, wmDropBox *), void(*cancel)(struct Main *, wmDrag *, wmDropBox *))
bool WM_drag_is_ID_type(const wmDrag *drag, int idcode)
ListBase * WM_dropboxmap_find(const char *idname, int spaceid, int regionid)
wmEventHandler_Dropbox * WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes)
void WM_main_add_notifier(unsigned int type, void *reference)
wmEventHandler_Keymap * WM_event_add_keymap_handler_v2d_mask(ListBase *handlers, wmKeyMap *keymap)
wmEventHandler_Keymap * WM_event_add_keymap_handler(ListBase *handlers, wmKeyMap *keymap)
wmGizmoGroupTypeRef * WM_gizmogrouptype_append_and_link(wmGizmoMapType *gzmap_type, void(*wtfunc)(struct wmGizmoGroupType *))
wmGizmoMapType * WM_gizmomaptype_ensure(const struct wmGizmoMapType_Params *gzmap_params)
void WM_gizmomap_tag_refresh(wmGizmoMap *gzmap)
wmKeyMap * WM_keymap_ensure(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)