Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(998)

Side by Side Diff: chrome/renderer/render_view.cc

Issue 14110: Move the "platform" wrappers in skia/ext to the skia namespace. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/plugin/webplugin_proxy.cc ('k') | chrome/renderer/render_widget.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 #include "chrome/renderer/render_view.h" 5 #include "chrome/renderer/render_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 return; 504 return;
505 } 505 }
506 506
507 // Generate a memory-based EMF file. The EMF will use the current screen's 507 // Generate a memory-based EMF file. The EMF will use the current screen's
508 // DPI. 508 // DPI.
509 gfx::Emf emf; 509 gfx::Emf emf;
510 510
511 emf.CreateDc(NULL, NULL); 511 emf.CreateDc(NULL, NULL);
512 HDC hdc = emf.hdc(); 512 HDC hdc = emf.hdc();
513 DCHECK(hdc); 513 DCHECK(hdc);
514 gfx::PlatformDeviceWin::InitializeDC(hdc); 514 skia::PlatformDeviceWin::InitializeDC(hdc);
515 515
516 gfx::Rect rect; 516 gfx::Rect rect;
517 frame->GetPageRect(params.page_number, &rect); 517 frame->GetPageRect(params.page_number, &rect);
518 DCHECK(rect.height()); 518 DCHECK(rect.height());
519 DCHECK(rect.width()); 519 DCHECK(rect.width());
520 double shrink = static_cast<double>(printed_document_width_) / 520 double shrink = static_cast<double>(printed_document_width_) /
521 params.params.printable_size.width(); 521 params.params.printable_size.width();
522 // This check would fire each time the page would get truncated on the 522 // This check would fire each time the page would get truncated on the
523 // right. This is not worth a DCHECK() but should be looked into, for 523 // right. This is not worth a DCHECK() but should be looked into, for
524 // example, wouldn't be worth trying in landscape? 524 // example, wouldn't be worth trying in landscape?
525 // DCHECK_LE(rect.width(), printed_document_width_); 525 // DCHECK_LE(rect.width(), printed_document_width_);
526 526
527 // Buffer one page at a time. 527 // Buffer one page at a time.
528 int src_size_x = printed_document_width_; 528 int src_size_x = printed_document_width_;
529 int src_size_y = 529 int src_size_y =
530 static_cast<int>(ceil(params.params.printable_size.height() * 530 static_cast<int>(ceil(params.params.printable_size.height() *
531 shrink)); 531 shrink));
532 #if 0 532 #if 0
533 // TODO(maruel): This code is kept for testing until the 100% GDI drawing 533 // TODO(maruel): This code is kept for testing until the 100% GDI drawing
534 // code is stable. maruels use this code's output as a reference when the 534 // code is stable. maruels use this code's output as a reference when the
535 // GDI drawing code fails. 535 // GDI drawing code fails.
536 536
537 // Mix of Skia and GDI based. 537 // Mix of Skia and GDI based.
538 gfx::PlatformCanvasWin canvas(src_size_x, src_size_y, true); 538 skia::PlatformCanvasWin canvas(src_size_x, src_size_y, true);
539 canvas.drawARGB(255, 255, 255, 255, SkPorterDuff::kSrc_Mode); 539 canvas.drawARGB(255, 255, 255, 255, SkPorterDuff::kSrc_Mode);
540 PlatformContextSkia context(&canvas); 540 PlatformContextSkia context(&canvas);
541 if (!frame->SpoolPage(params.page_number, &context)) { 541 if (!frame->SpoolPage(params.page_number, &context)) {
542 NOTREACHED() << "Printing page " << params.page_number << " failed."; 542 NOTREACHED() << "Printing page " << params.page_number << " failed.";
543 return; 543 return;
544 } 544 }
545 545
546 // Create a BMP v4 header that we can serialize. 546 // Create a BMP v4 header that we can serialize.
547 BITMAPV4HEADER bitmap_header; 547 BITMAPV4HEADER bitmap_header;
548 gfx::CreateBitmapV4Header(src_size_x, src_size_y, &bitmap_header); 548 gfx::CreateBitmapV4Header(src_size_x, src_size_y, &bitmap_header);
549 const SkBitmap& src_bmp = canvas.getDevice()->accessBitmap(true); 549 const SkBitmap& src_bmp = canvas.getDevice()->accessBitmap(true);
550 SkAutoLockPixels src_lock(src_bmp); 550 SkAutoLockPixels src_lock(src_bmp);
551 int retval = StretchDIBits(hdc, 551 int retval = StretchDIBits(hdc,
552 0, 552 0,
553 0, 553 0,
554 src_size_x, src_size_y, 554 src_size_x, src_size_y,
555 0, 0, 555 0, 0,
556 src_size_x, src_size_y, 556 src_size_x, src_size_y,
557 src_bmp.getPixels(), 557 src_bmp.getPixels(),
558 reinterpret_cast<BITMAPINFO*>(&bitmap_header), 558 reinterpret_cast<BITMAPINFO*>(&bitmap_header),
559 DIB_RGB_COLORS, 559 DIB_RGB_COLORS,
560 SRCCOPY); 560 SRCCOPY);
561 DCHECK(retval != GDI_ERROR); 561 DCHECK(retval != GDI_ERROR);
562 #else 562 #else
563 // 100% GDI based. 563 // 100% GDI based.
564 gfx::VectorCanvas canvas(hdc, src_size_x, src_size_y); 564 skia::VectorCanvas canvas(hdc, src_size_x, src_size_y);
565 // Set the clipping region to be sure to not overflow. 565 // Set the clipping region to be sure to not overflow.
566 SkRect clip_rect; 566 SkRect clip_rect;
567 clip_rect.set(0, 0, SkIntToScalar(src_size_x), SkIntToScalar(src_size_y)); 567 clip_rect.set(0, 0, SkIntToScalar(src_size_x), SkIntToScalar(src_size_y));
568 canvas.clipRect(clip_rect); 568 canvas.clipRect(clip_rect);
569 if (!frame->SpoolPage(params.page_number, &canvas)) { 569 if (!frame->SpoolPage(params.page_number, &canvas)) {
570 NOTREACHED() << "Printing page " << params.page_number << " failed."; 570 NOTREACHED() << "Printing page " << params.page_number << " failed.";
571 return; 571 return;
572 } 572 }
573 #endif 573 #endif
574 574
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 748
749 bool RenderView::CaptureThumbnail(WebFrame* frame, 749 bool RenderView::CaptureThumbnail(WebFrame* frame,
750 int w, 750 int w,
751 int h, 751 int h,
752 SkBitmap* thumbnail, 752 SkBitmap* thumbnail,
753 ThumbnailScore* score) { 753 ThumbnailScore* score) {
754 #ifdef TIME_BITMAP_RETRIEVAL 754 #ifdef TIME_BITMAP_RETRIEVAL
755 double begin = time_util::GetHighResolutionTimeNow(); 755 double begin = time_util::GetHighResolutionTimeNow();
756 #endif 756 #endif
757 757
758 scoped_ptr<gfx::BitmapPlatformDevice> device; 758 scoped_ptr<skia::BitmapPlatformDevice> device;
759 if (!frame->CaptureImage(&device, true)) 759 if (!frame->CaptureImage(&device, true))
760 return false; 760 return false;
761 761
762 const SkBitmap& src_bmp = device->accessBitmap(false); 762 const SkBitmap& src_bmp = device->accessBitmap(false);
763 763
764 SkRect dest_rect; 764 SkRect dest_rect;
765 dest_rect.set(0, 0, SkIntToScalar(w), SkIntToScalar(h)); 765 dest_rect.set(0, 0, SkIntToScalar(w), SkIntToScalar(h));
766 float dest_aspect = dest_rect.width() / dest_rect.height(); 766 float dest_aspect = dest_rect.width() / dest_rect.height();
767 767
768 // Get the src rect so that we can preserve the aspect ratio while filling 768 // Get the src rect so that we can preserve the aspect ratio while filling
(...skipping 1970 matching lines...) Expand 10 before | Expand all | Expand 10 after
2739 template_resource_id)); 2739 template_resource_id));
2740 2740
2741 if (template_html.empty()) { 2741 if (template_html.empty()) {
2742 NOTREACHED() << "unable to load template. ID: " << template_resource_id; 2742 NOTREACHED() << "unable to load template. ID: " << template_resource_id;
2743 return ""; 2743 return "";
2744 } 2744 }
2745 // "t" is the id of the templates root node. 2745 // "t" is the id of the templates root node.
2746 return jstemplate_builder::GetTemplateHtml( 2746 return jstemplate_builder::GetTemplateHtml(
2747 template_html, &error_strings, "t"); 2747 template_html, &error_strings, "t");
2748 } 2748 }
OLDNEW
« no previous file with comments | « chrome/plugin/webplugin_proxy.cc ('k') | chrome/renderer/render_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698