/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "imgIContainer.h" #include "ClippedImage.h" #include "DynamicImage.h" #include "FrozenImage.h" #include "OrientedImage.h" #include "Image.h" #include "ImageOps.h" namespace mozilla { namespace image { /* static */ already_AddRefed ImageOps::Freeze(Image* aImage) { nsRefPtr frozenImage = new FrozenImage(aImage); return frozenImage.forget(); } /* static */ already_AddRefed ImageOps::Freeze(imgIContainer* aImage) { nsCOMPtr frozenImage = new FrozenImage(static_cast(aImage)); return frozenImage.forget(); } /* static */ already_AddRefed ImageOps::Clip(Image* aImage, nsIntRect aClip) { nsRefPtr clippedImage = new ClippedImage(aImage, aClip); return clippedImage.forget(); } /* static */ already_AddRefed ImageOps::Clip(imgIContainer* aImage, nsIntRect aClip) { nsCOMPtr clippedImage = new ClippedImage(static_cast(aImage), aClip); return clippedImage.forget(); } /* static */ already_AddRefed ImageOps::Orient(Image* aImage, Orientation aOrientation) { nsRefPtr orientedImage = new OrientedImage(aImage, aOrientation); return orientedImage.forget(); } /* static */ already_AddRefed ImageOps::Orient(imgIContainer* aImage, Orientation aOrientation) { nsCOMPtr orientedImage = new OrientedImage(static_cast(aImage), aOrientation); return orientedImage.forget(); } /* static */ already_AddRefed ImageOps::CreateFromDrawable(gfxDrawable* aDrawable) { nsCOMPtr drawableImage = new DynamicImage(aDrawable); return drawableImage.forget(); } } // namespace image } // namespace mozilla