Chromium Code Reviews| Index: ui/gfx/image/image_unittest_util_ios.mm |
| diff --git a/ui/gfx/image/image_unittest_util_ios.mm b/ui/gfx/image/image_unittest_util_ios.mm |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..cb4ad93173fb8f7118e10b80c53010ccfd4d8104 |
| --- /dev/null |
| +++ b/ui/gfx/image/image_unittest_util_ios.mm |
| @@ -0,0 +1,37 @@ |
| +// Copyright 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#import <CoreGraphics/CoreGraphics.h> |
| +#import <UIKit/UIKit.h> |
| + |
| +#include "base/mac/scoped_cftyperef.h" |
| +#include "skia/ext/skia_utils_ios.h" |
| +#include "ui/gfx/image/image_unittest_util.h" |
| + |
| +namespace gfx { |
| +namespace test { |
| + |
| +SkColor GetPlatformImageColor(PlatformImage image, int x, int y) { |
| + // Start by extracting the target pixel into a 1x1 CGImage. |
| + base::mac::ScopedCFTypeRef<CGImageRef> pixel_image( |
| + CGImageCreateWithImageInRect(image.CGImage, CGRectMake(x, y, 1, 1))); |
| + |
| + // Draw that pixel into a 1x1 bitmap context. |
| + base::mac::ScopedCFTypeRef<CGColorSpaceRef> color_space( |
| + CGColorSpaceCreateDeviceRGB()); |
| + base::mac::ScopedCFTypeRef<CGContextRef> bitmap_context( |
| + CGBitmapContextCreate(NULL, 1, 1, 8, 4, |
|
Robert Sesek
2012/09/24 20:27:03
Use kCFAllocatorDefault instead of NULL.
Robert Sesek
2012/09/24 20:27:03
Can you do /*name=*/ for the params on this line?
rohitrao (ping after 24h)
2012/09/24 20:39:10
The parameter is a data buffer, or NULL to make Qu
rohitrao (ping after 24h)
2012/09/24 20:39:10
Done.
Robert Sesek
2012/09/24 20:39:56
Ah my B.
|
| + color_space, |
| + kCGImageAlphaPremultipliedFirst | |
| + kCGBitmapByteOrder32Host)); |
| + CGContextDrawImage(bitmap_context, CGRectMake(0, 0, 1, 1), pixel_image); |
| + |
| + // The CGBitmapContext has the same memory layout as SkColor, so we can just |
| + // read an SkColor straight out of the context. |
| + SkColor* data = (SkColor*)CGBitmapContextGetData(bitmap_context); |
|
Robert Sesek
2012/09/24 20:27:03
reinterpret_cast<>?
rohitrao (ping after 24h)
2012/09/24 20:39:10
Done.
|
| + return *data; |
| +} |
| + |
| +} // namespace test |
| +} // namespace gfx |