Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(262)

Side by Side Diff: include/gpu/GrDrawContext.h

Issue 2298253002: Add read/write-Pixels to GrDrawContext (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/gpu/GrDrawContext.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 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 GrDrawContext_DEFINED 8 #ifndef GrDrawContext_DEFINED
9 #define GrDrawContext_DEFINED 9 #define GrDrawContext_DEFINED
10 10
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 int imageHeight, 277 int imageHeight,
278 std::unique_ptr<SkLatticeIter> iter, 278 std::unique_ptr<SkLatticeIter> iter,
279 const SkRect& dst); 279 const SkRect& dst);
280 280
281 /** 281 /**
282 * After this returns any pending surface IO will be issued to the backend 3 D API and 282 * After this returns any pending surface IO will be issued to the backend 3 D API and
283 * if the surface has MSAA it will be resolved. 283 * if the surface has MSAA it will be resolved.
284 */ 284 */
285 void prepareForExternalIO(); 285 void prepareForExternalIO();
286 286
287 /**
288 * Reads a rectangle of pixels from the draw context.
289 * @param dstInfo image info for the destination
290 * @param dstBuffer destination pixels for the read
291 * @param dstRowBytes bytes in a row of 'dstBuffer'
292 * @param x x offset w/in the draw context from which to read
293 * @param y y offset w/in the draw context from which to read
294 *
295 * @return true if the read succeeded, false if not. The read can fail becau se of an
296 * unsupported pixel config.
297 */
298 bool readPixels(const SkImageInfo& dstInfo, void* dstBuffer, size_t dstRowBy tes, int x, int y);
299
300 /**
301 * Writes a rectangle of pixels [srcInfo, srcBuffer, srcRowbytes] into the
302 * drawContext at the specified position.
303 * @param srcInfo image info for the source pixels
304 * @param srcBuffer source for the write
305 * @param srcRowBytes bytes in a row of 'srcBuffer'
306 * @param x x offset w/in the draw context at which to write
307 * @param y y offset w/in the draw context at which to write
308 *
309 * @return true if the write succeeded, false if not. The write can fail bec ause of an
310 * unsupported pixel config.
311 */
312 bool writePixels(const SkImageInfo& srcInfo, const void* srcBuffer, size_t s rcRowBytes,
313 int x, int y);
314
287 bool isStencilBufferMultisampled() const { 315 bool isStencilBufferMultisampled() const {
288 return fRenderTarget->isStencilBufferMultisampled(); 316 return fRenderTarget->isStencilBufferMultisampled();
289 } 317 }
290 bool isUnifiedMultisampled() const { return fRenderTarget->isUnifiedMultisam pled(); } 318 bool isUnifiedMultisampled() const { return fRenderTarget->isUnifiedMultisam pled(); }
291 bool hasMixedSamples() const { return fRenderTarget->isMixedSampled(); } 319 bool hasMixedSamples() const { return fRenderTarget->isMixedSampled(); }
292 320
293 bool mustUseHWAA(const GrPaint& paint) const { 321 bool mustUseHWAA(const GrPaint& paint) const {
294 return paint.isAntiAlias() && fRenderTarget->isUnifiedMultisampled(); 322 return paint.isAntiAlias() && fRenderTarget->isUnifiedMultisampled();
295 } 323 }
296 324
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 425
398 sk_sp<SkColorSpace> fColorSpace; 426 sk_sp<SkColorSpace> fColorSpace;
399 SkSurfaceProps fSurfaceProps; 427 SkSurfaceProps fSurfaceProps;
400 GrAuditTrail* fAuditTrail; 428 GrAuditTrail* fAuditTrail;
401 429
402 // In debug builds we guard against improper thread handling 430 // In debug builds we guard against improper thread handling
403 SkDEBUGCODE(mutable GrSingleOwner* fSingleOwner;) 431 SkDEBUGCODE(mutable GrSingleOwner* fSingleOwner;)
404 }; 432 };
405 433
406 #endif 434 #endif
OLDNEW
« no previous file with comments | « no previous file | src/gpu/GrDrawContext.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698