Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2006-01-28 18:21:04 +0300
committerTon Roosendaal <ton@blender.org>2006-01-28 18:21:04 +0300
commit45c7b2c5c2bc20296a581e1b6a1cb3908f11732f (patch)
tree3c84b86ee52f12f5ae967791182ce71e003abee4 /source/blender/makesdna
parent80bd3a1e9897044334d3384be27b52efc6541fef (diff)
Orange: made Compositing more interactive. It now has an event based
system tracking changes in nodes, making sure only these nodes and the ones that depend, are executed. Further the 'time cursor' now counts down to indicate which node is being done. Also: you now can disable the "use nodes" button in the header, edit all changes, and when you press that button again it nicely executes the changes. Still on the todo: - make compositing threaded - find a way to nicely exit compositing on input events... so the UI keeps being responsive - idea; a 'percentage' menu in header to enforce calculations on smaller images temporally
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_node_types.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 700de9531da..853857f6915 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -51,7 +51,7 @@ typedef struct bNodeStack {
short hasinput; /* when input has link, tagged before executing */
short hasoutput; /* when output is linked, tagged before executing */
short datatype; /* type of data pointer */
- short pad1;
+ short pad;
} bNodeStack;
/* ns->datatype, shadetree only */
@@ -109,7 +109,7 @@ typedef struct bNode {
short done, level; /* both for dependency and sorting */
short lasty, menunr; /* lasty: check preview render status, menunr: browse ID blocks */
short stack_index; /* for groupnode, offset in global caller stack */
- short pad;
+ short nr; /* number of this node in list, used for exec events */
ListBase inputs, outputs;
struct ID *id; /* optional link to libdata */
@@ -119,7 +119,8 @@ typedef struct bNode {
float locx, locy; /* root offset for drawing */
float width, miniwidth;
short custom1, custom2; /* to be abused for buttons */
- int pad1;
+
+ short need_exec, pad1; /* need_exec is set to optimize execution */
rctf totr; /* entire boundbox */
rctf butr; /* optional buttons area */
@@ -164,6 +165,9 @@ typedef struct bNodeTree {
struct bNodeType **alltypes; /* type definitions, set on fileread, no read/write */
struct bNodeType *owntype; /* for groups or dynamic trees, no read/write */
+ /* callbacks */
+ void (*timecursor)(int nr);
+
} bNodeTree;
/* ntree->type, index */