UI: Prevent scrollbars from getting too small to grab
Differential Revision: https://developer.blender.org/D5001
This commit is contained in:
parent
c39a8657be
commit
cd90986bcb
|
@ -70,6 +70,8 @@ enum eView2D_CommonViewTypes {
|
|||
/* scroller 'handles' hotspot radius for mouse */
|
||||
#define V2D_SCROLLER_HANDLE_SIZE (0.6f * U.widget_unit)
|
||||
|
||||
#define V2D_MIN_SCROLLER_SIZE (50.0 * UI_DPI_FAC)
|
||||
|
||||
/* ------ Define for UI_view2d_sync ----- */
|
||||
|
||||
/* means copy it from another v2d */
|
||||
|
|
|
@ -1504,12 +1504,12 @@ View2DScrollers *UI_view2d_scrollers_calc(View2D *v2d, const rcti *mask_custom)
|
|||
if (scrollers->hor_min > scrollers->hor_max) {
|
||||
scrollers->hor_min = scrollers->hor_max;
|
||||
}
|
||||
/* prevent sliders from being too small, and disappearing */
|
||||
if ((scrollers->hor_max - scrollers->hor_min) < V2D_SCROLLER_HANDLE_SIZE) {
|
||||
scrollers->hor_max = scrollers->hor_min + V2D_SCROLLER_HANDLE_SIZE;
|
||||
/* prevent sliders from being too small to grab */
|
||||
if ((scrollers->hor_max - scrollers->hor_min) < V2D_MIN_SCROLLER_SIZE) {
|
||||
scrollers->hor_max = scrollers->hor_min + V2D_MIN_SCROLLER_SIZE;
|
||||
|
||||
CLAMP(scrollers->hor_max, hor.xmin + V2D_SCROLLER_HANDLE_SIZE, hor.xmax);
|
||||
CLAMP(scrollers->hor_min, hor.xmin, hor.xmax - V2D_SCROLLER_HANDLE_SIZE);
|
||||
CLAMP(scrollers->hor_max, hor.xmin + V2D_MIN_SCROLLER_SIZE, hor.xmax);
|
||||
CLAMP(scrollers->hor_min, hor.xmin, hor.xmax - V2D_MIN_SCROLLER_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1542,13 +1542,12 @@ View2DScrollers *UI_view2d_scrollers_calc(View2D *v2d, const rcti *mask_custom)
|
|||
if (scrollers->vert_min > scrollers->vert_max) {
|
||||
scrollers->vert_min = scrollers->vert_max;
|
||||
}
|
||||
/* prevent sliders from being too small, and disappearing */
|
||||
if ((scrollers->vert_max - scrollers->vert_min) < V2D_SCROLLER_HANDLE_SIZE) {
|
||||
/* prevent sliders from being too small to grab */
|
||||
if ((scrollers->vert_max - scrollers->vert_min) < V2D_MIN_SCROLLER_SIZE) {
|
||||
scrollers->vert_max = scrollers->vert_min + V2D_MIN_SCROLLER_SIZE;
|
||||
|
||||
scrollers->vert_max = scrollers->vert_min + V2D_SCROLLER_HANDLE_SIZE;
|
||||
|
||||
CLAMP(scrollers->vert_max, vert.ymin + V2D_SCROLLER_HANDLE_SIZE, vert.ymax);
|
||||
CLAMP(scrollers->vert_min, vert.ymin, vert.ymax - V2D_SCROLLER_HANDLE_SIZE);
|
||||
CLAMP(scrollers->vert_max, vert.ymin + V2D_MIN_SCROLLER_SIZE, vert.ymax);
|
||||
CLAMP(scrollers->vert_min, vert.ymin, vert.ymax - V2D_MIN_SCROLLER_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue