| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "printing/emf_win.h" | 5 #include "printing/emf_win.h" |
| 6 | 6 |
| 7 #include "base/files/file.h" | 7 #include "base/files/file.h" |
| 8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 context_.Set(::CreateCompatibleDC(NULL)); | 97 context_.Set(::CreateCompatibleDC(NULL)); |
| 98 if (!context_.IsValid()) { | 98 if (!context_.IsValid()) { |
| 99 NOTREACHED() << "Bitmap DC creation failed"; | 99 NOTREACHED() << "Bitmap DC creation failed"; |
| 100 return; | 100 return; |
| 101 } | 101 } |
| 102 ::SetGraphicsMode(context_.Get(), GM_ADVANCED); | 102 ::SetGraphicsMode(context_.Get(), GM_ADVANCED); |
| 103 void* bits = NULL; | 103 void* bits = NULL; |
| 104 gfx::Rect bitmap_rect(raster_size); | 104 gfx::Rect bitmap_rect(raster_size); |
| 105 gfx::CreateBitmapHeader(raster_size.width(), raster_size.height(), | 105 gfx::CreateBitmapHeader(raster_size.width(), raster_size.height(), |
| 106 &header_.bmiHeader); | 106 &header_.bmiHeader); |
| 107 bitmap_.Set(::CreateDIBSection(context_.Get(), &header_, DIB_RGB_COLORS, | 107 bitmap_.reset(CreateDIBSection(context_.Get(), &header_, DIB_RGB_COLORS, |
| 108 &bits, NULL, 0)); | 108 &bits, NULL, 0)); |
| 109 if (!bitmap_) | 109 if (!bitmap_.is_valid()) |
| 110 NOTREACHED() << "Raster bitmap creation for printing failed"; | 110 NOTREACHED() << "Raster bitmap creation for printing failed"; |
| 111 | 111 |
| 112 saved_object_ = ::SelectObject(context_.Get(), bitmap_); | 112 saved_object_ = ::SelectObject(context_.Get(), bitmap_.get()); |
| 113 RECT rect = bitmap_rect.ToRECT(); | 113 RECT rect = bitmap_rect.ToRECT(); |
| 114 ::FillRect(context_.Get(), &rect, | 114 ::FillRect(context_.Get(), &rect, |
| 115 static_cast<HBRUSH>(::GetStockObject(WHITE_BRUSH))); | 115 static_cast<HBRUSH>(::GetStockObject(WHITE_BRUSH))); |
| 116 } | 116 } |
| 117 | 117 |
| 118 ~RasterBitmap() { | 118 ~RasterBitmap() { |
| 119 ::SelectObject(context_.Get(), saved_object_); | 119 ::SelectObject(context_.Get(), saved_object_); |
| 120 } | 120 } |
| 121 | 121 |
| 122 HDC context() const { | 122 HDC context() const { |
| (...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 597 RECT rect = page_bounds.ToRECT(); | 597 RECT rect = page_bounds.ToRECT(); |
| 598 ::EnumEnhMetaFile(hdc, emf(), &RasterizeAlphaBlendProc, &bitmap_dc, &rect); | 598 ::EnumEnhMetaFile(hdc, emf(), &RasterizeAlphaBlendProc, &bitmap_dc, &rect); |
| 599 | 599 |
| 600 result->FinishDocument(); | 600 result->FinishDocument(); |
| 601 | 601 |
| 602 return result.Pass(); | 602 return result.Pass(); |
| 603 } | 603 } |
| 604 | 604 |
| 605 | 605 |
| 606 } // namespace printing | 606 } // namespace printing |
| OLD | NEW |