+#if 1
+ if (!ValidClippedRectangle(src_bitmap, &src_x, &src_y, &width, &height) ||
+ !ValidClippedRectangle(dst_bitmap, &dst_x, &dst_y, &width, &height))
+ return;
+
+ /* source x/y might need adjustment if destination x/y was clipped top/left */
+ src_x += dst_x - dst_x_unclipped;
+ src_y += dst_y - dst_y_unclipped;
+
+#else
+ /* skip if rectangle starts outside bitmap */
+ if (src_x >= src_bitmap->width ||
+ src_y >= src_bitmap->height ||
+ dst_x >= dst_bitmap->width ||
+ dst_y >= dst_bitmap->height)
+ return;
+
+ /* clip if rectangle overlaps bitmap */
+ if (src_x + width > src_bitmap->width)
+ width = src_bitmap->width - src_x;
+ if (src_y + height > src_bitmap->height)
+ height = src_bitmap->height - src_y;
+ if (dst_x + width > dst_bitmap->width)
+ width = dst_bitmap->width - dst_x;
+ if (dst_y + height > dst_bitmap->height)
+ height = dst_bitmap->height - dst_y;
+#endif
+