| Index: include/gpu/GrContext.h
|
| diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h
|
| index d59b2a28f0c7c98be5029f1cca0ab02f8183d8b9..6e6de38a850a494f247636f0fb264aa6f12d3321 100644
|
| --- a/include/gpu/GrContext.h
|
| +++ b/include/gpu/GrContext.h
|
| @@ -283,6 +283,39 @@ public:
|
| uint32_t pixelOpsFlags = 0);
|
|
|
| /**
|
| + * These flags can be used with the color-space converting write pixels function below.
|
| + */
|
| + enum ColorSpaceOpsFlags {
|
| + /** Gamma curve of the destination needs to be done manually. */
|
| + kManualDstGamma_ColorSpaceOpsFlag = 0x1,
|
| + };
|
| +
|
| + /**
|
| + * Writes a rectangle of pixels to a surface, performing color space conversion.
|
| + * @param surface the surface to write to.
|
| + * @param left left edge of the rectangle to write (inclusive)
|
| + * @param top top edge of the rectangle to write (inclusive)
|
| + * @param width width of rectangle to write in pixels.
|
| + * @param height height of rectangle to write in pixels.
|
| + * @param config the pixel config of the source buffer
|
| + * @param srcColorSpace color space of the source buffer
|
| + * @param dstColorSpace color space to conver to
|
| + * @param buffer memory to read pixels from
|
| + * @param rowBytes number of bytes between consecutive rows. Zero
|
| + * means rows are tightly packed.
|
| + * @param colorSpaceOpsFlags see ColorSpaceOpsFlags enum above.
|
| + * @return true if the write succeeded, false if not. The write can fail because of an
|
| + * unsupported combination of surface and src configs.
|
| + */
|
| + bool writeSurfacePixelsWithColorSpace(GrSurface* surface,
|
| + int left, int top, int width, int height,
|
| + GrPixelConfig srcConfig,
|
| + const SkColorSpace* srcColorSpace,
|
| + const SkColorSpace* dstColorSpace,
|
| + const void* buffer, size_t rowBytes,
|
| + uint32_t colorSpaceOpsFlags = 0);
|
| +
|
| + /**
|
| * Copies a rectangle of texels from src to dst.
|
| * bounds.
|
| * @param dst the surface to copy to.
|
|
|