MCPcopy Create free account
hub / github.com/dumbledore/AlbiteREADER / nonLineaScroll

Method nonLineaScroll

src/org/albite/albite/BookCanvas.java:1392–1426  ·  view source on GitHub ↗
(final int dx)

Source from the content-addressed store, hash-verified

1390 }
1391
1392 private int nonLineaScroll(final int dx) {
1393 final float part;
1394
1395 if (dx < 0) {
1396 part = ((float) (-currentPageCanvasPosition)) / ((float) pageCanvasPositionMax);
1397 } else {
1398 part = ((float) currentPageCanvasPosition) / ((float) pageCanvasPositionMax);
1399 }
1400
1401 /*
1402 * Calculate the speed
1403 */
1404 int dxNew = dx;
1405
1406 if (part > 0.3) {
1407 /*
1408 * Activate non-linear mode
1409 */
1410 if (dxNew < 0) {
1411 dxNew = -dxNew;
1412 }
1413
1414 dxNew = (int) (((-1.8 * part) + 1.9) * dxNew);
1415
1416 if (dxNew == 0) {
1417 dxNew = 1;
1418 }
1419
1420 if (dx < 0) {
1421 dxNew = -dxNew;
1422 }
1423 }
1424
1425 return dxNew;
1426 }
1427
1428 /**
1429 * Scrolls the three PageCanvases across the screen.

Callers 1

scrollPagesMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected