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

Side by Side Diff: src/gpu/GrDrawTarget.cpp

Issue 1579223003: Remove remaining users of draw*Rect calls (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 11 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
« src/gpu/GrClipMaskManager.cpp ('K') | « src/gpu/GrDrawTarget.h ('k') | no next file » | 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 /* 2 /*
3 * Copyright 2010 Google Inc. 3 * Copyright 2010 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #include "GrDrawTarget.h" 9 #include "GrDrawTarget.h"
10 10
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 batch->setStencilSettings(stencilSettings); 343 batch->setStencilSettings(stencilSettings);
344 344
345 GrPipeline::CreateArgs args; 345 GrPipeline::CreateArgs args;
346 if (!this->installPipelineInDrawBatch(&pipelineBuilder, &clip.scissorState() , batch)) { 346 if (!this->installPipelineInDrawBatch(&pipelineBuilder, &clip.scissorState() , batch)) {
347 return; 347 return;
348 } 348 }
349 349
350 this->recordBatch(batch); 350 this->recordBatch(batch);
351 } 351 }
352 352
353 void GrDrawTarget::drawNonAARect(const GrPipelineBuilder& pipelineBuilder,
354 GrColor color,
355 const SkMatrix& viewMatrix,
356 const SkRect& rect) {
357 SkAutoTUnref<GrDrawBatch> batch(GrRectBatchFactory::CreateNonAAFill(color, vi ewMatrix, rect,
358 nullptr, nullptr));
359 this->drawBatch(pipelineBuilder, batch);
360 }
361
362 void GrDrawTarget::drawAARect(const GrPipelineBuilder& pipelineBuilder,
363 GrColor color,
364 const SkMatrix& viewMatrix,
365 const SkRect& rect,
366 const SkRect& devRect) {
367 SkAutoTUnref<GrDrawBatch> batch(GrRectBatchFactory::CreateAAFill(color, view Matrix, rect,
368 devRect));
369 this->drawBatch(pipelineBuilder, batch);
370 }
371
372 void GrDrawTarget::clear(const SkIRect* rect, 353 void GrDrawTarget::clear(const SkIRect* rect,
373 GrColor color, 354 GrColor color,
374 bool canIgnoreRect, 355 bool canIgnoreRect,
375 GrRenderTarget* renderTarget) { 356 GrRenderTarget* renderTarget) {
376 SkIRect rtRect = SkIRect::MakeWH(renderTarget->width(), renderTarget->height ()); 357 SkIRect rtRect = SkIRect::MakeWH(renderTarget->width(), renderTarget->height ());
377 SkIRect clippedRect; 358 SkIRect clippedRect;
378 if (!rect || 359 if (!rect ||
379 (canIgnoreRect && this->caps()->fullClearIsFree()) || 360 (canIgnoreRect && this->caps()->fullClearIsFree()) ||
380 rect->contains(rtRect)) { 361 rect->contains(rtRect)) {
381 rect = &rtRect; 362 rect = &rtRect;
(...skipping 11 matching lines...) Expand all
393 // target before the target is read. 374 // target before the target is read.
394 if (rect == &rtRect) { 375 if (rect == &rtRect) {
395 this->discard(renderTarget); 376 this->discard(renderTarget);
396 } 377 }
397 378
398 GrPipelineBuilder pipelineBuilder; 379 GrPipelineBuilder pipelineBuilder;
399 pipelineBuilder.setXPFactory( 380 pipelineBuilder.setXPFactory(
400 GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref(); 381 GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref();
401 pipelineBuilder.setRenderTarget(renderTarget); 382 pipelineBuilder.setRenderTarget(renderTarget);
402 383
403 this->drawNonAARect(pipelineBuilder, color, SkMatrix::I(), *rect); 384 SkRect scalarRect = SkRect::Make(*rect);
385 SkAutoTUnref<GrDrawBatch> batch(
386 GrRectBatchFactory::CreateNonAAFill(color, SkMatrix::I(), scalar Rect,
387 nullptr, nullptr));
388 this->drawBatch(pipelineBuilder, batch);
404 } else { 389 } else {
405 GrBatch* batch = new GrClearBatch(*rect, color, renderTarget); 390 GrBatch* batch = new GrClearBatch(*rect, color, renderTarget);
406 this->recordBatch(batch); 391 this->recordBatch(batch);
407 batch->unref(); 392 batch->unref();
408 } 393 }
409 } 394 }
410 395
411 void GrDrawTarget::discard(GrRenderTarget* renderTarget) { 396 void GrDrawTarget::discard(GrRenderTarget* renderTarget) {
412 if (this->caps()->discardRenderTargetSupport()) { 397 if (this->caps()->discardRenderTargetSupport()) {
413 GrBatch* batch = new GrDiscardBatch(renderTarget); 398 GrBatch* batch = new GrDiscardBatch(renderTarget);
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 } 502 }
518 503
519 return true; 504 return true;
520 } 505 }
521 506
522 void GrDrawTarget::clearStencilClip(const SkIRect& rect, bool insideClip, GrRend erTarget* rt) { 507 void GrDrawTarget::clearStencilClip(const SkIRect& rect, bool insideClip, GrRend erTarget* rt) {
523 GrBatch* batch = new GrClearStencilClipBatch(rect, insideClip, rt); 508 GrBatch* batch = new GrClearStencilClipBatch(rect, insideClip, rt);
524 this->recordBatch(batch); 509 this->recordBatch(batch);
525 batch->unref(); 510 batch->unref();
526 } 511 }
OLDNEW
« src/gpu/GrClipMaskManager.cpp ('K') | « src/gpu/GrDrawTarget.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698