From d059fc6d206b004ed265e300ddc619dbffce15cd Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Fri, 3 Jul 2009 10:54:39 +0000 Subject: 2.5 Upgrading text editor to draw new scrollbar too. --- source/blender/editors/interface/view2d.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/editors/interface/view2d.c') diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c index 38c854f432e..705963981c8 100644 --- a/source/blender/editors/interface/view2d.c +++ b/source/blender/editors/interface/view2d.c @@ -1461,7 +1461,7 @@ void UI_view2d_scrollers_draw(const bContext *C, View2D *v2d, View2DScrollers *v slider.ymin= hor.ymin; slider.ymax= hor.ymax; - widget_scroll_draw(&wcol, &hor, &slider, (v2d->scroll_ui & V2D_SCROLL_H_ACTIVE)?UI_SELECT:0); + uiWidgetScrollDraw(&wcol, &hor, &slider, (v2d->scroll_ui & V2D_SCROLL_H_ACTIVE)?UI_SELECT:0); } /* scale indicators */ @@ -1553,7 +1553,7 @@ void UI_view2d_scrollers_draw(const bContext *C, View2D *v2d, View2DScrollers *v slider.ymin= vs->vert_min; slider.ymax= vs->vert_max; - widget_scroll_draw(&wcol, &vert, &slider, (v2d->scroll_ui & V2D_SCROLL_V_ACTIVE)?UI_SELECT:0); + uiWidgetScrollDraw(&wcol, &vert, &slider, (v2d->scroll_ui & V2D_SCROLL_V_ACTIVE)?UI_SELECT:0); } -- cgit v1.2.3 From ea287fc4ec7f52a690730eb890c1c548d1d60773 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Fri, 3 Jul 2009 13:21:09 +0000 Subject: 2.5 More scroller work: - Added subtle arrow widgets to denote a scroller can zoom the view. - Made zoom symmetric (old convention to only zoom "one side" just worked badly) --- source/blender/editors/interface/view2d.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'source/blender/editors/interface/view2d.c') diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c index 705963981c8..11714df0491 100644 --- a/source/blender/editors/interface/view2d.c +++ b/source/blender/editors/interface/view2d.c @@ -1207,14 +1207,14 @@ void UI_view2d_grid_free(View2DGrid *grid) * For now, we don't need to have a separate (internal) header for structs like this... */ struct View2DScrollers { - rcti hor, vert; /* exact size of slider backdrop */ - int horfull, vertfull; /* set if sliders are full, we don't draw them */ - /* focus bubbles */ int vert_min, vert_max; /* vertical scrollbar */ int hor_min, hor_max; /* horizontal scrollbar */ - /* scales */ + rcti hor, vert; /* exact size of slider backdrop */ + int horfull, vertfull; /* set if sliders are full, we don't draw them */ + + /* scales */ View2DGrid *grid; /* grid for coordinate drawing */ short xunits, xclamp; /* units and clamping options for x-axis */ short yunits, yclamp; /* units and clamping options for y-axis */ @@ -1455,13 +1455,17 @@ void UI_view2d_scrollers_draw(const bContext *C, View2D *v2d, View2DScrollers *v bTheme *btheme= U.themes.first; uiWidgetColors wcol= btheme->tui.wcol_scroll; rcti slider; + int state; slider.xmin= vs->hor_min; slider.xmax= vs->hor_max; slider.ymin= hor.ymin; slider.ymax= hor.ymax; - uiWidgetScrollDraw(&wcol, &hor, &slider, (v2d->scroll_ui & V2D_SCROLL_H_ACTIVE)?UI_SELECT:0); + state= (v2d->scroll_ui & V2D_SCROLL_H_ACTIVE)?UI_SCROLL_PRESSED:0; + if (!(v2d->keepzoom & V2D_LOCKZOOM_X)) + state |= UI_SCROLL_ARROWS; + uiWidgetScrollDraw(&wcol, &hor, &slider, state); } /* scale indicators */ @@ -1547,13 +1551,17 @@ void UI_view2d_scrollers_draw(const bContext *C, View2D *v2d, View2DScrollers *v bTheme *btheme= U.themes.first; uiWidgetColors wcol= btheme->tui.wcol_scroll; rcti slider; + int state; slider.xmin= vert.xmin; slider.xmax= vert.xmax; slider.ymin= vs->vert_min; slider.ymax= vs->vert_max; - uiWidgetScrollDraw(&wcol, &vert, &slider, (v2d->scroll_ui & V2D_SCROLL_V_ACTIVE)?UI_SELECT:0); + state= (v2d->scroll_ui & V2D_SCROLL_V_ACTIVE)?UI_SCROLL_PRESSED:0; + if (!(v2d->keepzoom & V2D_LOCKZOOM_Y)) + state |= UI_SCROLL_ARROWS; + uiWidgetScrollDraw(&wcol, &vert, &slider, state); } -- cgit v1.2.3 From d896ed98fef159e2f67364dcceab7011791618e6 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Tue, 7 Jul 2009 17:30:39 +0000 Subject: 2.5 - Scrollers now only disappear for regions with a fixed total view, like lists, buttons, channels. More or less infinite views keep scrollers to indicate that you can still pan or zoom further. - Nodes: put back SHIFT+D "Add duplicate" (Also fixed duplicate objects menu name... it should be a bit more descriptive) --- source/blender/editors/interface/view2d.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'source/blender/editors/interface/view2d.c') diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c index 11714df0491..fcac1987fdc 100644 --- a/source/blender/editors/interface/view2d.c +++ b/source/blender/editors/interface/view2d.c @@ -1279,8 +1279,10 @@ View2DScrollers *UI_view2d_scrollers_calc(const bContext *C, View2D *v2d, short if (scrollers->hor_min > scrollers->hor_max) scrollers->hor_min= scrollers->hor_max; - if(fac1 <= 0.0f && fac2 >= 1.0f) - scrollers->horfull= 1; + /* check whether sliders can disappear */ + if(v2d->keeptot) + if(fac1 <= 0.0f && fac2 >= 1.0f) + scrollers->horfull= 1; } /* vertical scrollers */ @@ -1304,8 +1306,10 @@ View2DScrollers *UI_view2d_scrollers_calc(const bContext *C, View2D *v2d, short if (scrollers->vert_min > scrollers->vert_max) scrollers->vert_min= scrollers->vert_max; - if(fac1 <= 0.0f && fac2 >= 1.0f) - scrollers->vertfull= 1; + /* check whether sliders can disappear */ + if(v2d->keeptot) + if(fac1 <= 0.0f && fac2 >= 1.0f) + scrollers->vertfull= 1; } /* grid markings on scrollbars */ -- cgit v1.2.3