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