Index: ui/gfx/image/image_util_ios.mm |
diff --git a/ui/gfx/image/image_util_ios.mm b/ui/gfx/image/image_util_ios.mm |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a938735907888883a2c813f530e67cd56e06db84 |
--- /dev/null |
+++ b/ui/gfx/image/image_util_ios.mm |
@@ -0,0 +1,49 @@ |
+// Copyright (c) 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. |
+ |
+#include <UIKit/UIKit.h> |
+ |
+#include "ui/gfx/image/image.h" |
+#include "ui/gfx/image/image_util.h" |
+ |
+#include "base/logging.h" |
+ |
+namespace gfx { |
+ |
+Image* ImageFromPNGEncodedData(const unsigned char* input, size_t input_size) { |
Robert Sesek
2012/09/13 16:14:24
Wait, why this and gfx::internal::CreateUIImageFro
rohitrao (ping after 24h)
2012/09/13 17:57:57
Legacy code. These util functions were written be
|
+ NSData* data = [NSData dataWithBytes:input length:input_size]; |
+ UIImage* image = [[UIImage alloc] initWithData:data]; |
+ if (!image) |
+ return NULL; |
+ |
+ return new Image(image); |
+} |
+ |
+ |
+bool PNGEncodedDataFromImage(const Image& image, |
Robert Sesek
2012/09/13 16:14:24
And why this and gfx::internal::PNGFromUIImage?
|
+ std::vector<unsigned char>* dst) { |
+ NSData* data = UIImagePNGRepresentation(image.ToUIImage()); |
+ |
+ if (!data || [data length] == 0) |
Robert Sesek
2012/09/13 16:14:24
nit: extra check, and on line 41
rohitrao (ping after 24h)
2012/09/13 17:57:57
Done.
|
+ return false; |
+ |
+ dst->resize([data length]); |
+ [data getBytes:(&dst->at(0)) length:[data length]]; |
Robert Sesek
2012/09/13 16:14:24
nit: extra parens, and on line 45
rohitrao (ping after 24h)
2012/09/13 17:57:57
Done.
|
+ return true; |
+} |
+ |
+bool JPEGEncodedDataFromImage(const Image& image, |
+ int quality, |
+ std::vector<unsigned char>* dst) { |
+ NSData* data = UIImageJPEGRepresentation(image.ToUIImage(), quality / 100.0); |
+ |
+ if (!data || [data length] == 0) |
+ return false; |
+ |
+ dst->resize([data length]); |
+ [data getBytes:(&dst->at(0)) length:[data length]]; |
+ return true; |
+} |
+ |
+} // end namespace gfx |