| 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 <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 explicit RasterBitmap(const gfx::Size& raster_size) | 99 explicit RasterBitmap(const gfx::Size& raster_size) |
| 100 : saved_object_(NULL) { | 100 : saved_object_(NULL) { |
| 101 context_.Set(::CreateCompatibleDC(NULL)); | 101 context_.Set(::CreateCompatibleDC(NULL)); |
| 102 if (!context_.IsValid()) { | 102 if (!context_.IsValid()) { |
| 103 NOTREACHED() << "Bitmap DC creation failed"; | 103 NOTREACHED() << "Bitmap DC creation failed"; |
| 104 return; | 104 return; |
| 105 } | 105 } |
| 106 ::SetGraphicsMode(context_.Get(), GM_ADVANCED); | 106 ::SetGraphicsMode(context_.Get(), GM_ADVANCED); |
| 107 void* bits = NULL; | 107 void* bits = NULL; |
| 108 gfx::Rect bitmap_rect(raster_size); | 108 gfx::Rect bitmap_rect(raster_size); |
| 109 gfx::CreateBitmapHeader(raster_size.width(), raster_size.height(), | 109 skia::CreateBitmapHeader(raster_size.width(), raster_size.height(), |
| 110 &header_.bmiHeader); | 110 &header_.bmiHeader); |
| 111 bitmap_.reset(CreateDIBSection(context_.Get(), &header_, DIB_RGB_COLORS, | 111 bitmap_.reset(CreateDIBSection(context_.Get(), &header_, DIB_RGB_COLORS, |
| 112 &bits, NULL, 0)); | 112 &bits, NULL, 0)); |
| 113 if (!bitmap_.is_valid()) | 113 if (!bitmap_.is_valid()) |
| 114 NOTREACHED() << "Raster bitmap creation for printing failed"; | 114 NOTREACHED() << "Raster bitmap creation for printing failed"; |
| 115 | 115 |
| 116 saved_object_ = ::SelectObject(context_.Get(), bitmap_.get()); | 116 saved_object_ = ::SelectObject(context_.Get(), bitmap_.get()); |
| 117 RECT rect = bitmap_rect.ToRECT(); | 117 RECT rect = bitmap_rect.ToRECT(); |
| 118 ::FillRect(context_.Get(), &rect, | 118 ::FillRect(context_.Get(), &rect, |
| 119 static_cast<HBRUSH>(::GetStockObject(WHITE_BRUSH))); | 119 static_cast<HBRUSH>(::GetStockObject(WHITE_BRUSH))); |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 381 if (bitmap.get()) { | 381 if (bitmap.get()) { |
| 382 SkAutoLockPixels lock(*bitmap.get()); | 382 SkAutoLockPixels lock(*bitmap.get()); |
| 383 DCHECK_EQ(bitmap->colorType(), kN32_SkColorType); | 383 DCHECK_EQ(bitmap->colorType(), kN32_SkColorType); |
| 384 const uint32_t* pixels = | 384 const uint32_t* pixels = |
| 385 static_cast<const uint32_t*>(bitmap->getPixels()); | 385 static_cast<const uint32_t*>(bitmap->getPixels()); |
| 386 if (pixels == NULL) { | 386 if (pixels == NULL) { |
| 387 NOTREACHED(); | 387 NOTREACHED(); |
| 388 return false; | 388 return false; |
| 389 } | 389 } |
| 390 BITMAPINFOHEADER bmi = {0}; | 390 BITMAPINFOHEADER bmi = {0}; |
| 391 gfx::CreateBitmapHeader(bitmap->width(), bitmap->height(), &bmi); | 391 skia::CreateBitmapHeader(bitmap->width(), bitmap->height(), &bmi); |
| 392 res = (0 != StretchDIBits(hdc, sdib_record->xDest, sdib_record->yDest, | 392 res = (0 != StretchDIBits(hdc, sdib_record->xDest, sdib_record->yDest, |
| 393 sdib_record->cxDest, | 393 sdib_record->cxDest, |
| 394 sdib_record->cyDest, sdib_record->xSrc, | 394 sdib_record->cyDest, sdib_record->xSrc, |
| 395 sdib_record->ySrc, | 395 sdib_record->ySrc, |
| 396 sdib_record->cxSrc, sdib_record->cySrc, | 396 sdib_record->cxSrc, sdib_record->cySrc, |
| 397 pixels, | 397 pixels, |
| 398 reinterpret_cast<const BITMAPINFO *>(&bmi), | 398 reinterpret_cast<const BITMAPINFO *>(&bmi), |
| 399 sdib_record->iUsageSrc, | 399 sdib_record->iUsageSrc, |
| 400 sdib_record->dwRop)); | 400 sdib_record->dwRop)); |
| 401 } | 401 } |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 600 RECT rect = page_bounds.ToRECT(); | 600 RECT rect = page_bounds.ToRECT(); |
| 601 ::EnumEnhMetaFile(hdc, emf(), &RasterizeAlphaBlendProc, &bitmap_dc, &rect); | 601 ::EnumEnhMetaFile(hdc, emf(), &RasterizeAlphaBlendProc, &bitmap_dc, &rect); |
| 602 | 602 |
| 603 result->FinishDocument(); | 603 result->FinishDocument(); |
| 604 | 604 |
| 605 return result; | 605 return result; |
| 606 } | 606 } |
| 607 | 607 |
| 608 | 608 |
| 609 } // namespace printing | 609 } // namespace printing |
| OLD | NEW |