@Hansie, I think between what have been mentioned here and the code archieves you should be able to figure something out. And it would be wisely to code it as functions capable of receiving: bufferhandles, x/y starting points and width/height. Because this way you are preparing the function to be reusable for just about any situation that you would need to fade something.
Good luck and happy coding.
Good luck and happy coding.