Isn't it just draw(dst, Rect(x, y, x+(x2-x1), y+(y2-y1)), src, nil, Pt(x1, y1)) ? Why is this hard? Or what have I missed? -rob