// NB: x and y may be negative and they're relative to the sash window
// upper left corner, while xp and yp are expressed in the parent
// NB: x and y may be negative and they're relative to the sash window
// upper left corner, while xp and yp are expressed in the parent