Question: I tried searching but couldn't find a function which can create a shape by calculating difference of two NSBezier Paths or two CGPaths. Is there a function that can establish this in cocoa ?

Thanks.

Answer: 
See "[Winding Rules](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaDrawingGuide/Paths/Paths.html)" with NSBezierPath. You'll make a compound path by appending your two source paths to it. The resulting shape will depend upon the winding rule you set.
Finally did it by creating a bigger tracking area to enclose the whole shape and then tracking mouse moved events inside this tracking area.