diff -r 000000000000 -r 6474c204b198 image/src/ImageOps.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/image/src/ImageOps.cpp Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,64 @@ +/* -*- 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 "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(); +} + +} // namespace image +} // namespace mozilla