change rectClip to a better and easy implement, which also fix the black block bug. which makes think that some good algorithm is always simple