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...) 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...) 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...) 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 |