I'm working on a breakout clone and I've been trying to figure out how to get the intersection rect of two colliding rects so I can measure how deep the ball entered the block in both x and y axis and decide which component of the velocity I'll reverse.
I figured I could calculate the depth for each case like this:

But if I had the intersection rect than I woudn't have to worry if the ball hits the block from the left/right or top/bottom (since I would be only reversing the x and y axis respectively), thus saving me a lot of typing.
I've looked on Pygame's docs but seems it doesn't have a function for that. How would I go about solving this problem?
Assuming you have rectangles
r1andr2, with.left, .right, .top, and .bottomedges, then(with the usual convention that coordinates increase top to bottom and left to right). Finally, check that
left<rightandtop<bottom, and compute the area:Alternatively, you can use the
clip()function. From the docs you linked in your question: