OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #define PEPPER_APIS_ENABLED 1 | 5 #define PEPPER_APIS_ENABLED 1 |
6 | 6 |
7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
8 #if defined(OS_WIN) | 8 #if defined(OS_WIN) |
9 #include <vsstyle.h> | 9 #include <vsstyle.h> |
10 #endif | 10 #endif |
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
473 return NPERR_INVALID_PARAM; | 473 return NPERR_INVALID_PARAM; |
474 Graphics2DDeviceContext* ctx = graphic2d_contexts_.Lookup( | 474 Graphics2DDeviceContext* ctx = graphic2d_contexts_.Lookup( |
475 reinterpret_cast<intptr_t>(context->reserved)); | 475 reinterpret_cast<intptr_t>(context->reserved)); |
476 if (!ctx) | 476 if (!ctx) |
477 return NPERR_INVALID_PARAM; | 477 return NPERR_INVALID_PARAM; |
478 *value = reinterpret_cast<intptr_t>(ctx->transport_dib()); | 478 *value = reinterpret_cast<intptr_t>(ctx->transport_dib()); |
479 return NPERR_NO_ERROR; | 479 return NPERR_NO_ERROR; |
480 } else if (state == NPExtensionsReservedStateSharedMemoryChecksum) { | 480 } else if (state == NPExtensionsReservedStateSharedMemoryChecksum) { |
481 if (!context) | 481 if (!context) |
482 return NPERR_INVALID_PARAM; | 482 return NPERR_INVALID_PARAM; |
483 int32 row_count = context->dirty.bottom - context->dirty.top + 1; | 483 // Bytes per pixel. |
484 int32 stride = context->dirty.right - context->dirty.left + 1; | 484 static const int kBytesPixel = 4; |
485 size_t length = row_count * stride * sizeof(uint32); | 485 int32 row_count = context->dirty.bottom - context->dirty.top; |
| 486 int32 stride = context->dirty.right - context->dirty.left; |
| 487 size_t length = row_count * stride * kBytesPixel; |
486 MD5Digest md5_result; // 128-bit digest | 488 MD5Digest md5_result; // 128-bit digest |
487 MD5Sum(context->region, length, &md5_result); | 489 MD5Sum(context->region, length, &md5_result); |
488 std::string hex_md5 = MD5DigestToBase16(md5_result); | 490 std::string hex_md5 = MD5DigestToBase16(md5_result); |
489 // Return the least significant 8 characters (i.e. 4 bytes) | 491 // Return the least significant 8 characters (i.e. 4 bytes) |
490 // of the 32 character hexadecimal result as an int. | 492 // of the 32 character hexadecimal result as an int. |
491 *value = HexStringToInt(hex_md5.substr(24)); | 493 *value = HexStringToInt(hex_md5.substr(24)); |
492 return NPERR_NO_ERROR; | 494 return NPERR_NO_ERROR; |
493 } | 495 } |
494 return NPERR_GENERIC_ERROR; | 496 return NPERR_GENERIC_ERROR; |
495 } | 497 } |
(...skipping 960 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1456 StretchDIBits(dc, printable_area.x(), printable_area.y(), | 1458 StretchDIBits(dc, printable_area.x(), printable_area.y(), |
1457 printable_area.width(), printable_area.height(), | 1459 printable_area.width(), printable_area.height(), |
1458 0, 0, bitmap.width(), bitmap.height(), | 1460 0, 0, bitmap.width(), bitmap.height(), |
1459 &compressed_image.front(), | 1461 &compressed_image.front(), |
1460 reinterpret_cast<const BITMAPINFO*>(&bmi), | 1462 reinterpret_cast<const BITMAPINFO*>(&bmi), |
1461 DIB_RGB_COLORS, SRCCOPY); | 1463 DIB_RGB_COLORS, SRCCOPY); |
1462 return true; | 1464 return true; |
1463 } | 1465 } |
1464 #endif // OS_WIN | 1466 #endif // OS_WIN |
1465 | 1467 |
OLD | NEW |