gecko-dev/gfx/2d/Swizzle.h
Cosmin Sabou 69acba5002 Backed out 8 changesets (bug 1551088) for causing build bustages. CLOSED TREE
Backed out changeset 02d9dc4d39a5 (bug 1551088)
Backed out changeset d7684ca35c0d (bug 1551088)
Backed out changeset b061b1bf8281 (bug 1551088)
Backed out changeset 4760b8b22ffd (bug 1551088)
Backed out changeset 4685fc022257 (bug 1551088)
Backed out changeset 91300f9f99bb (bug 1551088)
Backed out changeset 6da767c8d55c (bug 1551088)
Backed out changeset ec69be661551 (bug 1551088)
2019-09-21 14:52:41 +03:00

48 lines
1.8 KiB
C++

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
#ifndef MOZILLA_GFX_SWIZZLE_H_
#define MOZILLA_GFX_SWIZZLE_H_
#include "Point.h"
namespace mozilla {
namespace gfx {
/**
* Premultiplies source and writes it to destination. Source and destination may
* be the same to premultiply in-place. The source format must have an alpha
* channel.
*/
GFX2D_API bool PremultiplyData(const uint8_t* aSrc, int32_t aSrcStride,
SurfaceFormat aSrcFormat, uint8_t* aDst,
int32_t aDstStride, SurfaceFormat aDstFormat,
const IntSize& aSize);
/**
* Unpremultiplies source and writes it to destination. Source and destination
* may be the same to unpremultiply in-place. Both the source and destination
* formats must have an alpha channel.
*/
GFX2D_API bool UnpremultiplyData(const uint8_t* aSrc, int32_t aSrcStride,
SurfaceFormat aSrcFormat, uint8_t* aDst,
int32_t aDstStride, SurfaceFormat aDstFormat,
const IntSize& aSize);
/**
* Swizzles source and writes it to destination. Source and destination may be
* the same to swizzle in-place.
*/
GFX2D_API bool SwizzleData(const uint8_t* aSrc, int32_t aSrcStride,
SurfaceFormat aSrcFormat, uint8_t* aDst,
int32_t aDstStride, SurfaceFormat aDstFormat,
const IntSize& aSize);
} // namespace gfx
} // namespace mozilla
#endif /* MOZILLA_GFX_SWIZZLE_H_ */