Hi, > > (1) when horizontal scroll is on, the bottom buttons are "cropped": > http://www.pasteall.org/pic/39748
That's standard drawing... in node editor i added a clear rect to hide the effect. > (2) when I do the pan gesture at once (instead of continuously) with > the OSX trackpad it pan and zoom altogether (I would expected it only > to zoom). Event handling for logic editor is default View2D map - you can make a special one for it. I also think it should scroll-wheel scroll down/up, not zoom. > (3) the home is not viewing all, e.g. this is a screen after I press > HOME (you can't see the actuators) http://www.pasteall.org/pic/39749 Also this is default view2d map. It shows all zoomlevel 1! -Ton- > > Cheers, > Dalai > > 2012/10/30 Ton Roosendaal <[email protected]>: >> Revision: 51768 >> >> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51768 >> Author: ton >> Date: 2012-10-30 15:33:03 +0000 (Tue, 30 Oct 2012) >> Log Message: >> ----------- >> Usability: Logic editor >> >> - View now restricts to the actual region you work on. Makes zoom and pan >> nicer. >> - Added HOME for reset view to 1:1 zoom level. >> >> Also: fixed nasty bug in view2d code that checked validity of 2d views, only >> showed (afaik) in the logic eidtor though. >> >> Effect was that zoom in/out would weirdly jump when going across zoomlevel 1. >> >> Modified Paths: >> -------------- >> trunk/blender/source/blender/editors/interface/view2d.c >> trunk/blender/source/blender/editors/space_logic/logic_window.c >> trunk/blender/source/blender/editors/space_logic/space_logic.c >> >> Modified: trunk/blender/source/blender/editors/interface/view2d.c >> =================================================================== >> --- trunk/blender/source/blender/editors/interface/view2d.c 2012-10-30 >> 14:22:49 UTC (rev 51767) >> +++ trunk/blender/source/blender/editors/interface/view2d.c 2012-10-30 >> 15:33:03 UTC (rev 51768) >> @@ -599,7 +599,7 @@ >> if ((cur->xmin < tot->xmin) && (cur->xmax > >> tot->xmax)) { >> /* outside boundaries on both sides, so take >> middle-point of tot, and place in balanced way */ >> temp = BLI_rctf_cent_x(tot); >> - diff = curheight * 0.5f; >> + diff = curwidth * 0.5f; >> >> cur->xmin = temp - diff; >> cur->xmax = temp + diff; >> >> Modified: trunk/blender/source/blender/editors/space_logic/logic_window.c >> =================================================================== >> --- trunk/blender/source/blender/editors/space_logic/logic_window.c >> 2012-10-30 14:22:49 UTC (rev 51767) >> +++ trunk/blender/source/blender/editors/space_logic/logic_window.c >> 2012-10-30 15:33:03 UTC (rev 51768) >> @@ -56,6 +56,7 @@ >> #include "BKE_library.h" >> #include "BKE_main.h" >> #include "BKE_sca.h" >> +#include "BKE_screen.h" >> >> #include "ED_util.h" >> >> @@ -66,6 +67,7 @@ >> #include "BLF_translation.h" >> >> #include "UI_interface.h" >> +#include "UI_view2d.h" >> >> #include "RNA_access.h" >> >> @@ -2208,15 +2210,13 @@ >> SpaceLogic *slogic= CTX_wm_space_logic(C); >> Object *ob= CTX_data_active_object(C); >> ID **idar; >> - >> PointerRNA logic_ptr, settings_ptr, object_ptr; >> - >> uiLayout *layout, *row, *box; >> uiBlock *block; >> uiBut *but; >> char uiblockstr[32]; >> short a, count; >> - int xco, yco, width; >> + int xco, yco, width, height; >> >> if (ob==NULL) return; >> >> @@ -2270,7 +2270,7 @@ >> >> /* ****************** Controllers ****************** */ >> >> - xco= 420; yco= 170; width= 300; >> + xco= 420; yco= -10; width= 300; >> layout= uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, >> xco, yco, width, 20, UI_GetStyle()); >> row = uiLayoutRow(layout, TRUE); >> >> @@ -2373,11 +2373,11 @@ >> } >> } >> uiBlockLayoutResolve(block, NULL, &yco); /* stores final >> height in yco */ >> + height = yco; >> >> - >> /* ****************** Sensors ****************** */ >> >> - xco= 10; yco= 170; width= 340; >> + xco= 10; yco= -10; width= 340; >> layout= uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, >> xco, yco, width, 20, UI_GetStyle()); >> row = uiLayoutRow(layout, TRUE); >> >> @@ -2442,10 +2442,11 @@ >> } >> } >> uiBlockLayoutResolve(block, NULL, &yco); /* stores final >> height in yco */ >> + height = MIN2(height, yco); >> >> /* ****************** Actuators ****************** */ >> >> - xco= 800; yco= 170; width= 340; >> + xco= 800; yco= -10; width= 340; >> layout= uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, >> xco, yco, width, 20, UI_GetStyle()); >> row = uiLayoutRow(layout, TRUE); >> >> @@ -2513,13 +2514,21 @@ >> } >> } >> uiBlockLayoutResolve(block, NULL, &yco); /* stores final >> height in yco */ >> + height = MIN2(height, yco); >> + >> + UI_view2d_totRect_set(&ar->v2d, 1150, height); >> >> - >> + /* set the view */ >> + UI_view2d_view_ortho(&ar->v2d); >> + >> uiComposeLinks(block); >> >> uiEndBlock(C, block); >> uiDrawBlock(C, block); >> >> + /* restore view matrix */ >> + UI_view2d_view_restore(C); >> + >> if (idar) MEM_freeN(idar); >> } >> >> >> Modified: trunk/blender/source/blender/editors/space_logic/space_logic.c >> =================================================================== >> --- trunk/blender/source/blender/editors/space_logic/space_logic.c >> 2012-10-30 14:22:49 UTC (rev 51767) >> +++ trunk/blender/source/blender/editors/space_logic/space_logic.c >> 2012-10-30 15:33:03 UTC (rev 51768) >> @@ -84,8 +84,9 @@ >> >> /* ******************** default callbacks for image space ***************** >> */ >> >> -static SpaceLink *logic_new(const bContext *UNUSED(C)) >> +static SpaceLink *logic_new(const bContext *C) >> { >> + ScrArea *sa= CTX_wm_area(C); >> ARegion *ar; >> SpaceLogic *slogic; >> >> @@ -120,14 +121,11 @@ >> ar->regiontype= RGN_TYPE_WINDOW; >> >> ar->v2d.tot.xmin = 0.0f; >> - ar->v2d.tot.ymin = 0.0f; >> - ar->v2d.tot.xmax = 1280; >> - ar->v2d.tot.ymax = 240.0f; >> + ar->v2d.tot.ymax = 0.0f; >> + ar->v2d.tot.xmax = 1150.0f; >> + ar->v2d.tot.ymin = ( 1150.0f/(float)sa->winx ) * (float)-sa->winy; >> >> - ar->v2d.cur.xmin = 0.0f; >> - ar->v2d.cur.ymin = 0.0f; >> - ar->v2d.cur.xmax = 1280.0f; >> - ar->v2d.cur.ymax = 240.0f; >> + ar->v2d.cur = ar->v2d.tot; >> >> ar->v2d.min[0] = 1.0f; >> ar->v2d.min[1] = 1.0f; >> @@ -136,13 +134,14 @@ >> ar->v2d.max[1] = 32000.0f; >> >> ar->v2d.minzoom = 0.5f; >> - ar->v2d.maxzoom = 1.21f; >> + ar->v2d.maxzoom = 1.5f; >> >> ar->v2d.scroll = (V2D_SCROLL_RIGHT | V2D_SCROLL_BOTTOM); >> - ar->v2d.keepzoom = V2D_LIMITZOOM | V2D_KEEPASPECT; >> - ar->v2d.keeptot = 0; >> + ar->v2d.keepzoom = V2D_KEEPZOOM | V2D_LIMITZOOM | V2D_KEEPASPECT; >> + ar->v2d.keeptot = V2D_KEEPTOT_BOUNDS; >> + ar->v2d.align = V2D_ALIGN_NO_POS_Y | V2D_ALIGN_NO_NEG_X; >> + ar->v2d.keepofs = V2D_KEEPOFS_Y; >> >> - >> return (SpaceLink *)slogic; >> } >> >> @@ -183,6 +182,9 @@ >> WM_keymap_add_item(keymap, "LOGIC_OT_properties", NKEY, KM_PRESS, 0, >> 0); >> WM_keymap_add_item(keymap, "LOGIC_OT_links_cut", LEFTMOUSE, KM_PRESS, >> KM_CTRL, 0); >> WM_keymap_add_menu(keymap, "LOGIC_MT_logicbricks_add", AKEY, >> KM_PRESS, KM_SHIFT, 0); >> + >> + WM_keymap_add_item(keymap, "VIEW2D_OT_reset", HOMEKEY, KM_PRESS, 0, >> 0); >> + >> } >> >> static void logic_refresh(const bContext *UNUSED(C), ScrArea *UNUSED(sa)) >> @@ -234,7 +236,7 @@ >> wmKeyMap *keymap; >> >> UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_CUSTOM, ar->winx, >> ar->winy); >> - >> + >> /* own keymaps */ >> keymap = WM_keymap_find(wm->defaultconf, "Logic Editor", SPACE_LOGIC, >> 0); >> WM_event_add_keymap_handler(&ar->handlers, keymap); >> @@ -259,7 +261,7 @@ >> UI_view2d_view_restore(C); >> >> /* scrollers */ >> - scrollers= UI_view2d_scrollers_calc(C, v2d, 10, V2D_GRID_CLAMP, >> V2D_ARG_DUMMY, V2D_ARG_DUMMY); >> + scrollers= UI_view2d_scrollers_calc(C, v2d, V2D_ARG_DUMMY, >> V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY); >> UI_view2d_scrollers_draw(C, v2d, scrollers); >> UI_view2d_scrollers_free(scrollers); >> >> >> _______________________________________________ >> Bf-blender-cvs mailing list >> [email protected] >> http://lists.blender.org/mailman/listinfo/bf-blender-cvs > _______________________________________________ > Bf-committers mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-committers _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
