Use more spans in RgbByteOrderTransferBitmap().

Change-Id: I94b6f5b8bbc9f1761e7fe2ec5683826ab38ed40b
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/101810
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fxge/agg/fx_agg_driver.cpp b/core/fxge/agg/fx_agg_driver.cpp
index 88c99e1..dd44a4d 100644
--- a/core/fxge/agg/fx_agg_driver.cpp
+++ b/core/fxge/agg/fx_agg_driver.cpp
@@ -153,12 +153,12 @@
   const size_t dest_x_offset = Fx2DSizeOrDie(dest_left, Bpp);
   const size_t dest_y_offset = Fx2DSizeOrDie(dest_top, dest_pitch);
 
-  uint8_t* dest_buf =
-      pBitmap->GetBuffer().subspan(dest_y_offset).subspan(dest_x_offset).data();
+  pdfium::span<uint8_t> dest_span =
+      pBitmap->GetBuffer().subspan(dest_y_offset).subspan(dest_x_offset);
   if (dest_format == src_format) {
     const size_t src_x_offset = Fx2DSizeOrDie(src_left, Bpp);
     for (int row = 0; row < height; row++) {
-      uint8_t* dest_scan = dest_buf;
+      uint8_t* dest_scan = dest_span.data();
       const uint8_t* src_scan =
           pSrcBitmap->GetScanline(src_top + row).subspan(src_x_offset).data();
       if (Bpp == 4) {
@@ -176,7 +176,7 @@
           src_scan += 3;
         }
       }
-      dest_buf += dest_pitch;
+      dest_span = dest_span.subspan(dest_pitch);
     }
     return;
   }
@@ -185,7 +185,7 @@
     DCHECK_EQ(src_format, FXDIB_Format::kRgb32);
     const size_t src_x_offset = Fx2DSizeOrDie(src_left, 4);
     for (int row = 0; row < height; row++) {
-      uint8_t* dest_scan = dest_buf;
+      uint8_t* dest_scan = dest_span.data();
       const uint8_t* src_scan =
           pSrcBitmap->GetScanline(src_top + row).subspan(src_x_offset).data();
       for (int col = 0; col < width; col++) {
@@ -194,7 +194,7 @@
         *dest_scan++ = src_scan[0];
         src_scan += 4;
       }
-      dest_buf += dest_pitch;
+      dest_span = dest_span.subspan(dest_pitch);
     }
     return;
   }
@@ -204,7 +204,7 @@
   if (src_format == FXDIB_Format::kRgb) {
     const size_t src_x_offset = Fx2DSizeOrDie(src_left, 3);
     for (int row = 0; row < height; row++) {
-      uint8_t* dest_scan = dest_buf;
+      uint8_t* dest_scan = dest_span.data();
       const uint8_t* src_scan =
           pSrcBitmap->GetScanline(src_top + row).subspan(src_x_offset).data();
       for (int col = 0; col < width; col++) {
@@ -213,7 +213,7 @@
         dest_scan += 4;
         src_scan += 3;
       }
-      dest_buf += dest_pitch;
+      dest_span = dest_span.subspan(dest_pitch);
     }
     return;
   }
@@ -222,7 +222,7 @@
   DCHECK_EQ(dest_format, FXDIB_Format::kArgb);
   const size_t src_x_offset = Fx2DSizeOrDie(src_left, 4);
   for (int row = 0; row < height; row++) {
-    uint8_t* dest_scan = dest_buf;
+    uint8_t* dest_scan = dest_span.data();
     const uint8_t* src_scan =
         pSrcBitmap->GetScanline(src_top + row).subspan(src_x_offset).data();
     for (int col = 0; col < width; col++) {
@@ -231,7 +231,7 @@
       src_scan += 4;
       dest_scan += 4;
     }
-    dest_buf += dest_pitch;
+    dest_span = dest_span.subspan(dest_pitch);
   }
 }
 
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp
index eba69d7..39ffdae 100644
--- a/core/fxge/skia/fx_skia_device.cpp
+++ b/core/fxge/skia/fx_skia_device.cpp
@@ -108,12 +108,12 @@
   const size_t dest_x_offset = Fx2DSizeOrDie(dest_left, Bpp);
   const size_t dest_y_offset = Fx2DSizeOrDie(dest_top, dest_pitch);
 
-  uint8_t* dest_buf =
-      pBitmap->GetBuffer().subspan(dest_y_offset).subspan(dest_x_offset).data();
+  pdfium::span<uint8_t> dest_span =
+      pBitmap->GetBuffer().subspan(dest_y_offset).subspan(dest_x_offset);
   if (dest_format == src_format) {
     const size_t src_x_offset = Fx2DSizeOrDie(src_left, Bpp);
     for (int row = 0; row < height; row++) {
-      uint8_t* dest_scan = dest_buf;
+      uint8_t* dest_scan = dest_span.data();
       const uint8_t* src_scan =
           pSrcBitmap->GetScanline(src_top + row).subspan(src_x_offset).data();
       if (Bpp == 4) {
@@ -131,7 +131,7 @@
           src_scan += 3;
         }
       }
-      dest_buf += dest_pitch;
+      dest_span = dest_span.subspan(dest_pitch);
     }
     return;
   }
@@ -140,7 +140,7 @@
     DCHECK_EQ(src_format, FXDIB_Format::kRgb32);
     const size_t src_x_offset = Fx2DSizeOrDie(src_left, 4);
     for (int row = 0; row < height; row++) {
-      uint8_t* dest_scan = dest_buf;
+      uint8_t* dest_scan = dest_span.data();
       const uint8_t* src_scan =
           pSrcBitmap->GetScanline(src_top + row).subspan(src_x_offset).data();
       for (int col = 0; col < width; col++) {
@@ -149,7 +149,7 @@
         *dest_scan++ = src_scan[0];
         src_scan += 4;
       }
-      dest_buf += dest_pitch;
+      dest_span = dest_span.subspan(dest_pitch);
     }
     return;
   }
@@ -159,7 +159,7 @@
   if (src_format == FXDIB_Format::kRgb) {
     const size_t src_x_offset = Fx2DSizeOrDie(src_left, 3);
     for (int row = 0; row < height; row++) {
-      uint8_t* dest_scan = dest_buf;
+      uint8_t* dest_scan = dest_span.data();
       const uint8_t* src_scan =
           pSrcBitmap->GetScanline(src_top + row).subspan(src_x_offset).data();
       for (int col = 0; col < width; col++) {
@@ -168,7 +168,7 @@
         dest_scan += 4;
         src_scan += 3;
       }
-      dest_buf += dest_pitch;
+      dest_span = dest_span.subspan(dest_pitch);
     }
     return;
   }
@@ -177,7 +177,7 @@
   DCHECK_EQ(dest_format, FXDIB_Format::kArgb);
   const size_t src_x_offset = Fx2DSizeOrDie(src_left, 4);
   for (int row = 0; row < height; row++) {
-    uint8_t* dest_scan = dest_buf;
+    uint8_t* dest_scan = dest_span.data();
     const uint8_t* src_scan =
         pSrcBitmap->GetScanline(src_top + row).subspan(src_x_offset).data();
     for (int col = 0; col < width; col++) {
@@ -186,7 +186,7 @@
       src_scan += 4;
       dest_scan += 4;
     }
-    dest_buf += dest_pitch;
+    dest_span = dest_span.subspan(dest_pitch);
   }
 }
 #endif  // defined(_SKIA_SUPPORT_PATHS_)