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 <windows.h> | 5 #include <windows.h> |
6 #include <psapi.h> | 6 #include <psapi.h> |
7 | 7 |
8 #include "base/debug/gdi_debug_util_win.h" | 8 #include "base/debug/gdi_debug_util_win.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "skia/ext/bitmap_platform_device_win.h" | 10 #include "skia/ext/bitmap_platform_device_win.h" |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
100 | 100 |
101 static void DeleteHBitmapCallback(void* addr, void* context) { | 101 static void DeleteHBitmapCallback(void* addr, void* context) { |
102 DeleteObject(static_cast<HBITMAP>(context)); | 102 DeleteObject(static_cast<HBITMAP>(context)); |
103 } | 103 } |
104 | 104 |
105 static bool InstallHBitmapPixels(SkBitmap* bitmap, int width, int height, | 105 static bool InstallHBitmapPixels(SkBitmap* bitmap, int width, int height, |
106 bool is_opaque, void* data, HBITMAP hbitmap) { | 106 bool is_opaque, void* data, HBITMAP hbitmap) { |
107 const SkAlphaType at = is_opaque ? kOpaque_SkAlphaType : kPremul_SkAlphaType; | 107 const SkAlphaType at = is_opaque ? kOpaque_SkAlphaType : kPremul_SkAlphaType; |
108 const SkImageInfo info = SkImageInfo::MakeN32(width, height, at); | 108 const SkImageInfo info = SkImageInfo::MakeN32(width, height, at); |
109 const size_t rowBytes = info.minRowBytes(); | 109 const size_t rowBytes = info.minRowBytes(); |
110 return bitmap->installPixels(info, data, rowBytes, DeleteHBitmapCallback, | 110 SkColorType* color_table = NULL; |
111 hbitmap); | 111 return bitmap->installPixels(info, data, rowBytes, color_table, |
f(malita)
2014/06/03 17:57:59
Pass NULL directly?
| |
112 DeleteHBitmapCallback, hbitmap); | |
112 } | 113 } |
113 | 114 |
114 // We use this static factory function instead of the regular constructor so | 115 // We use this static factory function instead of the regular constructor so |
115 // that we can create the pixel data before calling the constructor. This is | 116 // that we can create the pixel data before calling the constructor. This is |
116 // required so that we can call the base class' constructor with the pixel | 117 // required so that we can call the base class' constructor with the pixel |
117 // data. | 118 // data. |
118 BitmapPlatformDevice* BitmapPlatformDevice::Create( | 119 BitmapPlatformDevice* BitmapPlatformDevice::Create( |
119 int width, | 120 int width, |
120 int height, | 121 int height, |
121 bool is_opaque, | 122 bool is_opaque, |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
313 platform_extra_ = reinterpret_cast<intptr_t>(stock_bitmap); | 314 platform_extra_ = reinterpret_cast<intptr_t>(stock_bitmap); |
314 | 315 |
315 if (!InstallHBitmapPixels(&bitmap_, width, height, is_opaque, data, hbitmap)) | 316 if (!InstallHBitmapPixels(&bitmap_, width, height, is_opaque, data, hbitmap)) |
316 return false; | 317 return false; |
317 bitmap_.lockPixels(); | 318 bitmap_.lockPixels(); |
318 | 319 |
319 return true; | 320 return true; |
320 } | 321 } |
321 | 322 |
322 } // namespace skia | 323 } // namespace skia |
OLD | NEW |