Loading cmds/screencap/screencap.cpp +10 −2 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ #include <gui/SurfaceComposerClient.h> #include <gui/ISurfaceComposer.h> #include <ui/PixelFormat.h> #include <SkImageEncoder.h> #include <SkBitmap.h> #include <SkData.h> Loading Loading @@ -138,7 +140,7 @@ int main(int argc, char** argv) ssize_t mapsize = -1; void const* base = 0; uint32_t w, h, f; uint32_t w, s, h, f; size_t size = 0; ScreenshotClient screenshot; Loading @@ -147,6 +149,7 @@ int main(int argc, char** argv) base = screenshot.getPixels(); w = screenshot.getWidth(); h = screenshot.getHeight(); s = screenshot.getStride(); f = screenshot.getFormat(); size = screenshot.getSize(); } else { Loading @@ -160,6 +163,7 @@ int main(int argc, char** argv) size_t offset = (vinfo.xoffset + vinfo.yoffset*vinfo.xres) * bytespp; w = vinfo.xres; h = vinfo.yres; s = vinfo.xres; size = w*h*bytespp; mapsize = offset + size; mapbase = mmap(0, mapsize, PROT_READ, MAP_PRIVATE, fb, 0); Loading Loading @@ -187,7 +191,11 @@ int main(int argc, char** argv) write(fd, &w, 4); write(fd, &h, 4); write(fd, &f, 4); write(fd, base, size); size_t Bpp = bytesPerPixel(f); for (size_t y=0 ; y<h ; y++) { write(fd, base, w*Bpp); base = (void *)((char *)base + s*Bpp); } } } close(fd); Loading Loading
cmds/screencap/screencap.cpp +10 −2 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ #include <gui/SurfaceComposerClient.h> #include <gui/ISurfaceComposer.h> #include <ui/PixelFormat.h> #include <SkImageEncoder.h> #include <SkBitmap.h> #include <SkData.h> Loading Loading @@ -138,7 +140,7 @@ int main(int argc, char** argv) ssize_t mapsize = -1; void const* base = 0; uint32_t w, h, f; uint32_t w, s, h, f; size_t size = 0; ScreenshotClient screenshot; Loading @@ -147,6 +149,7 @@ int main(int argc, char** argv) base = screenshot.getPixels(); w = screenshot.getWidth(); h = screenshot.getHeight(); s = screenshot.getStride(); f = screenshot.getFormat(); size = screenshot.getSize(); } else { Loading @@ -160,6 +163,7 @@ int main(int argc, char** argv) size_t offset = (vinfo.xoffset + vinfo.yoffset*vinfo.xres) * bytespp; w = vinfo.xres; h = vinfo.yres; s = vinfo.xres; size = w*h*bytespp; mapsize = offset + size; mapbase = mmap(0, mapsize, PROT_READ, MAP_PRIVATE, fb, 0); Loading Loading @@ -187,7 +191,11 @@ int main(int argc, char** argv) write(fd, &w, 4); write(fd, &h, 4); write(fd, &f, 4); write(fd, base, size); size_t Bpp = bytesPerPixel(f); for (size_t y=0 ; y<h ; y++) { write(fd, base, w*Bpp); base = (void *)((char *)base + s*Bpp); } } } close(fd); Loading