def _scroll(clicks, x=None, y=None):
startx, starty = _position()<EOL>width, height = _size()<EOL>if x is None:<EOL><INDENT>x = startx<EOL><DEDENT>else:<EOL><INDENT>if x < <NUM_LIT:0>:<EOL><INDENT>x = <NUM_LIT:0><EOL><DEDENT>elif x >= width:<EOL><INDENT>x = width - <NUM_LIT:1><EOL><DEDENT><DEDENT>if y is None:<EOL><INDENT>y = starty<EOL><DEDENT>else:<EOL><INDENT>if y < <NUM_LIT:0>:<EOL><INDENT>y = <NUM_LIT:0><EOL><DEDENT>elif y >= height:<EOL><INDENT>y = height - <NUM_LIT:1><EOL><DEDENT><DEDENT>try:<EOL><INDENT>_sendMouseEvent(MOUSEEVENTF_WHEEL, x, y, dwData=clicks)<EOL><DEDENT>except (PermissionError, OSError): <EOL><INDENT>pass<EOL><DEDENT>
Send the mouse vertical scroll event to Windows by calling the
    mouse_event() win32 function.

    Args:
      clicks (int): The amount of scrolling to do. A positive value is the mouse
      wheel moving forward (scrolling up), a negative value is backwards (down).
      x (int): The x position of the mouse event.
      y (int): The y position of the mouse event.

    Returns:
      None