diff options
author | Ton Roosendaal <ton@blender.org> | 2011-01-03 17:36:44 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2011-01-03 17:36:44 +0300 |
commit | 9676902006f4181e84c6eff6da64b393c46a34e9 (patch) | |
tree | 1bed6fcde313031efbd7646ef968f6645e29b9e4 /source/blender/editors/space_node/node_header.c | |
parent | 6ae84f96e0105a4c320fa151a8f2caf6a8ce789a (diff) |
Todo items:
- New Node editor now opens with larger view, the default
was like zoomed in factor 2.
- Add node via menu now shows new node more visible
- Click on (material) node now doesn't re-render the entire
tree anymore, much nicer.
- Duplicate node creates preview image immediate
Diffstat (limited to 'source/blender/editors/space_node/node_header.c')
-rw-r--r-- | source/blender/editors/space_node/node_header.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c index 1ad5954b56e..d215dc53b84 100644 --- a/source/blender/editors/space_node/node_header.c +++ b/source/blender/editors/space_node/node_header.c @@ -58,8 +58,22 @@ static void do_node_add(bContext *C, void *UNUSED(arg), int event) { SpaceNode *snode= CTX_wm_space_node(C); + ScrArea *sa= CTX_wm_area(C); + ARegion *ar; bNode *node; + /* get location to add node at mouse */ + for(ar=sa->regionbase.first; ar; ar=ar->next) { + if(ar->regiontype == RGN_TYPE_WINDOW) { + wmWindow *win= CTX_wm_window(C); + int x= win->eventstate->x - ar->winrct.xmin; + int y= win->eventstate->y - ar->winrct.ymin; + + if(y < 60) y+= 60; + UI_view2d_region_to_view(&ar->v2d, x, y, &snode->mx, &snode->my); + } + } + /* store selection in temp test flag */ for(node= snode->edittree->nodes.first; node; node= node->next) { if(node->flag & NODE_SELECT) node->flag |= NODE_TEST; @@ -152,20 +166,8 @@ static void node_auto_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclas static void node_menu_add(const bContext *C, Menu *menu) { - uiLayout *layout= menu->layout; SpaceNode *snode= CTX_wm_space_node(C); - ScrArea *sa= CTX_wm_area(C); - ARegion *ar; - - /* get location to add node at mouse */ - for(ar=sa->regionbase.first; ar; ar=ar->next) { - if(ar->regiontype == RGN_TYPE_WINDOW) { - wmWindow *win= CTX_wm_window(C); - UI_view2d_region_to_view(&ar->v2d, - win->eventstate->x - ar->winrct.xmin, win->eventstate->y - ar->winrct.ymin, - &snode->mx, &snode->my); - } - } + uiLayout *layout= menu->layout; if(!snode->nodetree) uiLayoutSetActive(layout, 0); |