Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2010 Google Inc. | 2 * Copyright 2010 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef GrContext_DEFINED | 8 #ifndef GrContext_DEFINED |
| 9 #define GrContext_DEFINED | 9 #define GrContext_DEFINED |
| 10 | 10 |
| 11 #include "GrClip.h" | 11 #include "GrClip.h" |
| 12 #include "GrColor.h" | 12 #include "GrColor.h" |
| 13 #include "GrPaint.h" | 13 #include "GrPaint.h" |
| 14 #include "GrPathRendererChain.h" | 14 #include "GrPathRendererChain.h" |
| 15 #include "GrRenderTarget.h" | 15 #include "GrRenderTarget.h" |
| 16 #include "GrTextureProvider.h" | 16 #include "GrTextureProvider.h" |
| 17 #include "SkMatrix.h" | 17 #include "SkMatrix.h" |
| 18 #include "SkMutex.h" | 18 #include "SkMutex.h" |
| 19 #include "SkMipMapLevel.h" | |
| 19 #include "SkPathEffect.h" | 20 #include "SkPathEffect.h" |
| 21 #include "SkTArray.h" | |
| 20 #include "SkTypes.h" | 22 #include "SkTypes.h" |
| 21 | 23 |
| 22 struct GrBatchAtlasConfig; | 24 struct GrBatchAtlasConfig; |
| 23 class GrBatchFontCache; | 25 class GrBatchFontCache; |
| 24 class GrCaps; | 26 class GrCaps; |
| 25 struct GrContextOptions; | 27 struct GrContextOptions; |
| 26 class GrDrawContext; | 28 class GrDrawContext; |
| 27 class GrDrawTarget; | 29 class GrDrawTarget; |
| 28 class GrFragmentProcessor; | 30 class GrFragmentProcessor; |
| 29 class GrGpu; | 31 class GrGpu; |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 251 uint32_t pixelOpsFlags = 0); | 253 uint32_t pixelOpsFlags = 0); |
| 252 | 254 |
| 253 /** | 255 /** |
| 254 * Writes a rectangle of pixels to a surface. | 256 * Writes a rectangle of pixels to a surface. |
| 255 * @param surface the surface to write to. | 257 * @param surface the surface to write to. |
| 256 * @param left left edge of the rectangle to write (inclusive) | 258 * @param left left edge of the rectangle to write (inclusive) |
| 257 * @param top top edge of the rectangle to write (inclusive) | 259 * @param top top edge of the rectangle to write (inclusive) |
| 258 * @param width width of rectangle to write in pixels. | 260 * @param width width of rectangle to write in pixels. |
| 259 * @param height height of rectangle to write in pixels. | 261 * @param height height of rectangle to write in pixels. |
| 260 * @param config the pixel config of the source buffer | 262 * @param config the pixel config of the source buffer |
| 261 * @param buffer memory to read pixels from | 263 * @param texels array of mipmap levels containing texel data to load . |
| 262 * @param rowBytes number of bytes between consecutive rows. Zero | 264 * Begins with full-sized palette data for paletted tex tures. |
| 263 * means rows are tightly packed. | 265 * For compressed formats it contains the compressed pi xel data. |
| 266 * Otherwise, it contains width*height texels. If there is only one | |
| 267 * element and it contains nullptr fTexels, texture dat a is | |
|
bsalomon
2015/09/30 18:01:29
Why one element and not just a 0 element array?
cblume
2015/10/08 09:27:56
Oh. That...is a much better idea. I'll go through
| |
| 268 * uninitialized. | |
| 264 * @param pixelOpsFlags see PixelOpsFlags enum above. | 269 * @param pixelOpsFlags see PixelOpsFlags enum above. |
| 270 * | |
| 265 * @return true if the write succeeded, false if not. The write can fail bec ause of an | 271 * @return true if the write succeeded, false if not. The write can fail bec ause of an |
| 266 * unsupported combination of surface and src configs. | 272 * unsupported combination of surface and src configs. |
| 267 */ | 273 */ |
| 268 bool writeSurfacePixels(GrSurface* surface, | 274 bool writeSurfacePixels(GrSurface* surface, |
| 269 int left, int top, int width, int height, | 275 int left, int top, int width, int height, |
| 276 GrPixelConfig config, const SkTArray<SkMipMapLevel>& texels, | |
| 277 uint32_t pixelOpsFlags = 0); | |
| 278 | |
| 279 /** | |
| 280 * This function is a shim which creates a SkTArray<SkMipMapLevel> of size 1 . | |
| 281 * It then calls writeSurfacePixels with that SkTArray. | |
| 282 * | |
| 283 * @param buffer Pointer to the pixel values (optional). | |
| 284 * @param rowBytes The number of bytes between rows of the texture. Zero | |
| 285 * implies tightly packed rows. For compressed pixel config s, this | |
| 286 * field is ignored. | |
| 287 */ | |
| 288 bool writeSurfacePixels(GrSurface* surface, | |
| 289 int left, int top, int width, int height, | |
| 270 GrPixelConfig config, const void* buffer, | 290 GrPixelConfig config, const void* buffer, |
| 271 size_t rowBytes, | 291 size_t rowBytes, |
| 272 uint32_t pixelOpsFlags = 0); | 292 uint32_t pixelOpsFlags = 0); |
| 273 | 293 |
| 274 /** | 294 /** |
| 275 * Copies a rectangle of texels from src to dst. | 295 * Copies a rectangle of texels from src to dst. |
| 276 * bounds. | 296 * bounds. |
| 277 * @param dst the surface to copy to. | 297 * @param dst the surface to copy to. |
| 278 * @param src the surface to copy from. | 298 * @param src the surface to copy from. |
| 279 * @param srcRect the rectangle of the src that should be copied. | 299 * @param srcRect the rectangle of the src that should be copied. |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 483 /** | 503 /** |
| 484 * A callback similar to the above for use by the TextBlobCache | 504 * A callback similar to the above for use by the TextBlobCache |
| 485 * TODO move textblob draw calls below context so we can use the call above. | 505 * TODO move textblob draw calls below context so we can use the call above. |
| 486 */ | 506 */ |
| 487 static void TextBlobCacheOverBudgetCB(void* data); | 507 static void TextBlobCacheOverBudgetCB(void* data); |
| 488 | 508 |
| 489 typedef SkRefCnt INHERITED; | 509 typedef SkRefCnt INHERITED; |
| 490 }; | 510 }; |
| 491 | 511 |
| 492 #endif | 512 #endif |
| OLD | NEW |