Improve scrollbar-mouse interaction (#667)

* fix scrollbar detection on high devicePixelRatio devices

* don't create a new element on pointerdown over a scrollbar

* Return scrollbars from renderScene and use it in isOverScrollBars

* remove unneeded setState

* show default cursor when hovering or dragging a scrollbar

* disable scrollbars when in multielement mode

Co-authored-by: David Luzar <luzar.david@gmail.com>
This commit is contained in:
lissitz 2020-03-01 21:43:35 +01:00 committed by GitHub
parent 8e0206cc1e
commit e920c078b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 109 additions and 45 deletions

View file

@ -36,9 +36,9 @@ export function renderScene(
renderSelection?: boolean;
renderOptimizations?: boolean;
} = {},
): boolean {
) {
if (!canvas) {
return false;
return { atLeastOneVisibleElement: false };
}
const context = canvas.getContext("2d")!;
@ -196,9 +196,10 @@ export function renderScene(
}
});
context.restore();
return { atLeastOneVisibleElement: visibleElements.length > 0, scrollBars };
}
return visibleElements.length > 0;
return { atLeastOneVisibleElement: visibleElements.length > 0 };
}
function isVisibleElement(