SDL_RenderCopy with negative source coordinates

I’m using SDL_RenderCopy in a user interface tool I’ve created to allow the user to scroll an image around in a given rectangle on the screen (mostly for having a PNG of the game’s rules which is larger than a mobile phone screen, so they can scroll it up and down).

Just lately I made it a bit more tactile so you can drag the PNG beyond its screen limits and the scrolling gets ‘sticky’ so it scrolls less than you drag your finger to highlight to the user that they’re at the end.

But, that means the source coordinates sent to SDL_RenderCopy have a negative value in them. SDL_RenderCopy seems to convert any negative values to zeros which means the PNG gets stretched larger, rather than move down the screen and leave a blank space at the top.

It’s no big deal as I just added some maths to take care of it (by moving the destination coordinates to compensate) but I just wondered if that was the expected behaviour of SDL_RenderCopy rather than having that same maths built into it to handle negative source coords without unexpected PNG stretching results?