15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef UI_GFX_IMAGE_IMAGE_SKIA_UTIL_IOS_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define UI_GFX_IMAGE_IMAGE_SKIA_UTIL_IOS_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ui/base/layout.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/base/ui_export.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __OBJC__ 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@class UIImage; 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class UIImage; 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace gfx { 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class ImageSkia; 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class ImageSkiaRep; 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Converts to ImageSkia from UIImage. 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)UI_EXPORT gfx::ImageSkia ImageSkiaFromUIImage(UIImage* image); 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Converts to an ImageSkiaRep of |scale_factor| from UIImage. 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// |scale_factor| is passed explicitly in order to allow this method to be used 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// with a |scale_factor| which is not supported by the platform. 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// (ui::GetScaleFactorFromScale() is restricted to the platform's supported 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// scale factors.) 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)UI_EXPORT gfx::ImageSkiaRep ImageSkiaRepOfScaleFactorFromUIImage( 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) UIImage* image, 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::ScaleFactor scale_factor); 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Converts to UIImage from ImageSkia. The returned UIImage will be at the scale 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// of the ImageSkiaRep in |image_skia| which most closely matches the device's 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// scale factor (eg Retina iPad -> 2x). Returns an autoreleased UIImage. 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)UI_EXPORT UIImage* UIImageFromImageSkia(const gfx::ImageSkia& image_skia); 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Converts to UIImage from ImageSkiaRep. Returns an autoreleased UIImage. 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)UI_EXPORT UIImage* UIImageFromImageSkiaRep( 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const gfx::ImageSkiaRep& image_skia_rep); 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace gfx 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // UI_GFX_IMAGE_IMAGE_SKIA_UTIL_IOS_H_ 45