void Canvas::InvertRectangle(int left, int top, int right, int bottom) { if (left >= right || top >= bottom) return; CopyNot(left, top, right - left, bottom - top, buffer, left, top); }
void Canvas::InvertRectangle(PixelRect r) { if (r.IsEmpty()) return; CopyNot(r.left, r.top, r.GetWidth(), r.GetHeight(), buffer, r.left, r.top); }
void Canvas::CopyNot(int dest_x, int dest_y, unsigned dest_width, unsigned dest_height, const Bitmap &src, int src_x, int src_y) { assert(src.IsDefined()); CopyNot(dest_x, dest_y, dest_width, dest_height, src.GetNative(), src_x, src_y); }