From 9676902006f4181e84c6eff6da64b393c46a34e9 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Mon, 3 Jan 2011 14:36:44 +0000 Subject: 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 --- source/blender/editors/space_node/node_header.c | 28 +++++++++++++------------ 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'source/blender/editors/space_node/node_header.c') 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); -- cgit v1.2.3