diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2013-11-12 22:18:04 +0400 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2013-11-12 22:18:04 +0400 |
commit | 4d4ef0434b0078364824c2fe5ebfb8153fb44956 (patch) | |
tree | d3f5d286cca7b7bfa34fab18c57e4a38da0f80e4 /source/blender/blenkernel | |
parent | 8663b940eda703c45baf664c9aa379a9ecb684f9 (diff) |
Make dynamic node labels possible as a registerable function 'draw_label' (simple 'label' identifier is already in use, need to avoid API breakage). This should simply return a string. The dynamic label can still be overridden by the user-defined node.label string.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_node.h | 6 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/node.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index 1fdceb872f9..b700cbb16db 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -175,7 +175,7 @@ typedef struct bNodeType { void (*draw_backdrop)(struct SpaceNode *snode, struct ImBuf *backdrop, struct bNode *node, int x, int y); /// Optional custom label function for the node header. - void (*labelfunc)(struct bNode *node, char *label, int maxlen); + void (*labelfunc)(struct bNodeTree *ntree, struct bNode *node, char *label, int maxlen); /// Optional custom resize handle polling. int (*resize_area_func)(struct bNode *node, int x, int y); /// Optional selection area polling. @@ -556,7 +556,7 @@ void BKE_node_preview_set_pixel(struct bNodePreview *preview, const f /* ************** NODE TYPE ACCESS *************** */ -void nodeLabel(struct bNode *node, char *label, int maxlen); +void nodeLabel(struct bNodeTree *ntree, struct bNode *node, char *label, int maxlen); int nodeGroupPoll(struct bNodeTree *nodetree, struct bNodeTree *grouptree); @@ -571,7 +571,7 @@ void node_type_storage(struct bNodeType *ntype, const char *storagename, void (*freefunc)(struct bNode *node), void (*copyfunc)(struct bNodeTree *dest_ntree, struct bNode *dest_node, struct bNode *src_node)); -void node_type_label(struct bNodeType *ntype, void (*labelfunc)(struct bNode *, char *label, int maxlen)); +void node_type_label(struct bNodeType *ntype, void (*labelfunc)(struct bNodeTree *ntree, struct bNode *, char *label, int maxlen)); void node_type_update(struct bNodeType *ntype, void (*updatefunc)(struct bNodeTree *ntree, struct bNode *node), void (*verifyfunc)(struct bNodeTree *ntree, struct bNode *node, struct ID *id)); diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index d441b103743..869dbe032c9 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -3089,12 +3089,12 @@ void nodeSynchronizeID(bNode *node, bool copy_to_id) /* ************* node type access ********** */ -void nodeLabel(bNode *node, char *label, int maxlen) +void nodeLabel(bNodeTree *ntree, bNode *node, char *label, int maxlen) { if (node->label[0] != '\0') BLI_strncpy(label, node->label, maxlen); else if (node->typeinfo->labelfunc) - node->typeinfo->labelfunc(node, label, maxlen); + node->typeinfo->labelfunc(ntree, node, label, maxlen); else BLI_strncpy(label, IFACE_(node->typeinfo->ui_name), maxlen); } @@ -3267,7 +3267,7 @@ void node_type_storage(bNodeType *ntype, ntype->freefunc = freefunc; } -void node_type_label(struct bNodeType *ntype, void (*labelfunc)(struct bNode *, char *label, int maxlen)) +void node_type_label(struct bNodeType *ntype, void (*labelfunc)(struct bNodeTree *ntree, struct bNode *node, char *label, int maxlen)) { ntype->labelfunc = labelfunc; } |