handlePageUpKey method

bool handlePageUpKey(
  1. KeyEvent event
)

Implementation

bool handlePageUpKey(KeyEvent event) {
  if (event.logicalKey == LogicalKeyboardKey.pageUp) {
    final cursor = document.cursor;
    final current = CaretStop(cursor.anchorId, cursor.anchorOffset);
    final registry = document.paragraphRegistry;

    final result = movePageUp(
      document.content,
      current,
      cursor.preferredX,
      (stop) => registry.resolveCaretX(stop),
      (stop) => registry.resolveCaretY(stop),
      lines: document.logicalLines,
    );

    if (result.position != null) {
      if (isShiftPressed) {
        cursor.focusTo(result.position!.fragmentId, result.position!.offset);
        _syncSelectionManager(document);
      } else {
        cursor.moveTo(result.position!.fragmentId, result.position!.offset);
        document.selectionManager.collapse();
      }
      cursor.preferredX = result.preferredX;
      document.syncPendingFontWithCursor();
      document.cursorOnlyUpdate();
    }
    return true;
  }
  return false;
}