diff options
Diffstat (limited to 'source/blender/makesdna/DNA_space_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_space_types.h | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index 4587ed948cf..b9c4788336f 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -43,6 +43,7 @@ #include "DNA_image_types.h" /* ImageUser */ #include "DNA_movieclip_types.h" /* MovieClipUser */ #include "DNA_sequence_types.h" /* SequencerScopes */ +#include "DNA_node_types.h" /* for bNodeInstanceKey */ /* Hum ... Not really nice... but needed for spacebuts. */ #include "DNA_view2d_types.h" @@ -881,6 +882,17 @@ typedef struct SpaceScript { /* Nodes Editor =========================================== */ /* Node Editor */ + +typedef struct bNodeTreePath { + struct bNodeTreePath *next, *prev; + + struct bNodeTree *nodetree; + bNodeInstanceKey parent_key; /* base key for nodes in this tree instance */ + int pad; + /* XXX this is not automatically updated when node names are changed! */ + char node_name[64]; /* MAX_NAME */ +} bNodeTreePath; + typedef struct SpaceNode { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ @@ -898,12 +910,24 @@ typedef struct SpaceNode { float zoom; /* zoom for backdrop */ float cursor[2]; /* mouse pos for drawing socketless link and adding nodes */ + /* XXX nodetree pointer info is all in the path stack now, + * remove later on and use bNodeTreePath instead. For now these variables are set when pushing/popping + * from path stack, to avoid having to update all the functions and operators. Can be done when + * design is accepted and everything is properly tested. + */ + ListBase treepath; + struct bNodeTree *nodetree, *edittree; - int treetype; /* treetype: as same nodetree->type */ + + /* tree type for the current node tree */ + char tree_idname[64]; + int treetype DNA_DEPRECATED; /* treetype: as same nodetree->type */ + int pad3; + short texfrom; /* texfrom object, world or brush */ short shaderfrom; /* shader from object or world */ short recalc; /* currently on 0/1, for auto compo */ - short pad[3]; + short pad4; ListBase linkdrag; /* temporary data for modal linking operator */ struct bGPdata *gpd; /* grease-pencil data */ @@ -922,6 +946,7 @@ typedef enum eSpaceNode_Flag { SNODE_SHOW_HIGHLIGHT = (1 << 6), SNODE_USE_HIDDEN_PREVIEW = (1 << 10), SNODE_NEW_SHADERS = (1 << 11), + SNODE_PIN = (1 << 12), } eSpaceNode_Flag; /* snode->texfrom */ |