 Chromium Code Reviews
 Chromium Code Reviews Issue 23484007:
  call drawRect to try GrAARectRenderer if the path is a rect  (Closed) 
  Base URL: http://skia.googlecode.com/svn/trunk/
    
  
    Issue 23484007:
  call drawRect to try GrAARectRenderer if the path is a rect  (Closed) 
  Base URL: http://skia.googlecode.com/svn/trunk/| OLD | NEW | 
|---|---|
| 1 | 1 | 
| 2 /* | 2 /* | 
| 3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 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 | 9 | 
| 10 #include "SkColorPriv.h" | 10 #include "SkColorPriv.h" | 
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 102 | 102 | 
| 103 for (size_t i = 0; i < SK_ARRAY_COUNT(gTable)-1; ++i) { | 103 for (size_t i = 0; i < SK_ARRAY_COUNT(gTable)-1; ++i) { | 
| 104 if (gTable[i] == dst) { | 104 if (gTable[i] == dst) { | 
| 105 return gTable[i+1]; | 105 return gTable[i+1]; | 
| 106 } | 106 } | 
| 107 } | 107 } | 
| 108 | 108 | 
| 109 return gTable[SK_ARRAY_COUNT(gTable)-1]; | 109 return gTable[SK_ARRAY_COUNT(gTable)-1]; | 
| 110 } | 110 } | 
| 111 | 111 | 
| 112 // The OverdrawFilter modifies every paint to use an SkProcXfermode which | 112 // The OverdrawFilter modifies every paint to use an SkProcXfermode which | 
| 
yunchao
2013/10/21 05:51:26
need to change to SkOverdrawFilter.
 
bsalomon
2013/10/21 13:14:43
Why would it work differently with drawRect vs dra
 | |
| 113 // in turn invokes OverdrawXferModeProc | 113 // in turn invokes OverdrawXferModeProc | 
| 114 class SkOverdrawFilter : public SkDrawFilter { | 114 class SkOverdrawFilter : public SkDrawFilter { | 
| 115 public: | 115 public: | 
| 116 SkOverdrawFilter() { | 116 SkOverdrawFilter() { | 
| 117 fXferMode = new SkProcXfermode(OverdrawXferModeProc); | 117 fXferMode = new SkProcXfermode(OverdrawXferModeProc); | 
| 118 } | 118 } | 
| 119 | 119 | 
| 120 virtual ~SkOverdrawFilter() { | 120 virtual ~SkOverdrawFilter() { | 
| 121 delete fXferMode; | 121 delete fXferMode; | 
| 122 } | 122 } | 
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 356 } | 356 } | 
| 357 | 357 | 
| 358 void SkDebugCanvas::drawOval(const SkRect& oval, const SkPaint& paint) { | 358 void SkDebugCanvas::drawOval(const SkRect& oval, const SkPaint& paint) { | 
| 359 addDrawCommand(new SkDrawOvalCommand(oval, paint)); | 359 addDrawCommand(new SkDrawOvalCommand(oval, paint)); | 
| 360 } | 360 } | 
| 361 | 361 | 
| 362 void SkDebugCanvas::drawPaint(const SkPaint& paint) { | 362 void SkDebugCanvas::drawPaint(const SkPaint& paint) { | 
| 363 addDrawCommand(new SkDrawPaintCommand(paint)); | 363 addDrawCommand(new SkDrawPaintCommand(paint)); | 
| 364 } | 364 } | 
| 365 | 365 | 
| 366 void SkDebugCanvas::drawPath(const SkPath& path, const SkPaint& paint) { | 366 void SkDebugCanvas::onDrawPath(const SkPath& path, const SkPaint& paint) { | 
| 367 addDrawCommand(new SkDrawPathCommand(path, paint)); | 367 addDrawCommand(new SkDrawPathCommand(path, paint)); | 
| 368 } | 368 } | 
| 369 | 369 | 
| 370 void SkDebugCanvas::drawPicture(SkPicture& picture) { | 370 void SkDebugCanvas::drawPicture(SkPicture& picture) { | 
| 371 addDrawCommand(new SkDrawPictureCommand(picture)); | 371 addDrawCommand(new SkDrawPictureCommand(picture)); | 
| 372 } | 372 } | 
| 373 | 373 | 
| 374 void SkDebugCanvas::drawPoints(PointMode mode, size_t count, | 374 void SkDebugCanvas::drawPoints(PointMode mode, size_t count, | 
| 375 const SkPoint pts[], const SkPaint& paint) { | 375 const SkPoint pts[], const SkPaint& paint) { | 
| 376 addDrawCommand(new SkDrawPointsCommand(mode, count, pts, paint)); | 376 addDrawCommand(new SkDrawPointsCommand(mode, count, pts, paint)); | 
| 377 } | 377 } | 
| 378 | 378 | 
| 379 void SkDebugCanvas::drawPosText(const void* text, size_t byteLength, | 379 void SkDebugCanvas::drawPosText(const void* text, size_t byteLength, | 
| 380 const SkPoint pos[], const SkPaint& paint) { | 380 const SkPoint pos[], const SkPaint& paint) { | 
| 381 addDrawCommand(new SkDrawPosTextCommand(text, byteLength, pos, paint)); | 381 addDrawCommand(new SkDrawPosTextCommand(text, byteLength, pos, paint)); | 
| 382 } | 382 } | 
| 383 | 383 | 
| 384 void SkDebugCanvas::drawPosTextH(const void* text, size_t byteLength, | 384 void SkDebugCanvas::drawPosTextH(const void* text, size_t byteLength, | 
| 385 const SkScalar xpos[], SkScalar constY, const SkPaint& paint) { | 385 const SkScalar xpos[], SkScalar constY, const SkPaint& paint) { | 
| 386 addDrawCommand( | 386 addDrawCommand( | 
| 387 new SkDrawPosTextHCommand(text, byteLength, xpos, constY, paint)); | 387 new SkDrawPosTextHCommand(text, byteLength, xpos, constY, paint)); | 
| 388 } | 388 } | 
| 389 | 389 | 
| 390 void SkDebugCanvas::drawRect(const SkRect& rect, const SkPaint& paint) { | 390 void SkDebugCanvas::onDrawRect(const SkRect& rect, const SkPaint& paint) { | 
| 391 // NOTE(chudy): Messing up when renamed to DrawRect... Why? | 391 // NOTE(chudy): Messing up when renamed to DrawRect... Why? | 
| 392 addDrawCommand(new SkDrawRectCommand(rect, paint)); | 392 addDrawCommand(new SkDrawRectCommand(rect, paint)); | 
| 393 } | 393 } | 
| 394 | 394 | 
| 395 void SkDebugCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) { | 395 void SkDebugCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) { | 
| 396 addDrawCommand(new SkDrawRRectCommand(rrect, paint)); | 396 addDrawCommand(new SkDrawRRectCommand(rrect, paint)); | 
| 397 } | 397 } | 
| 398 | 398 | 
| 399 void SkDebugCanvas::drawSprite(const SkBitmap& bitmap, int left, int top, | 399 void SkDebugCanvas::drawSprite(const SkBitmap& bitmap, int left, int top, | 
| 400 const SkPaint* paint = NULL) { | 400 const SkPaint* paint = NULL) { | 
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 456 | 456 | 
| 457 bool SkDebugCanvas::translate(SkScalar dx, SkScalar dy) { | 457 bool SkDebugCanvas::translate(SkScalar dx, SkScalar dy) { | 
| 458 addDrawCommand(new SkTranslateCommand(dx, dy)); | 458 addDrawCommand(new SkTranslateCommand(dx, dy)); | 
| 459 return true; | 459 return true; | 
| 460 } | 460 } | 
| 461 | 461 | 
| 462 void SkDebugCanvas::toggleCommand(int index, bool toggle) { | 462 void SkDebugCanvas::toggleCommand(int index, bool toggle) { | 
| 463 SkASSERT(index < fCommandVector.count()); | 463 SkASSERT(index < fCommandVector.count()); | 
| 464 fCommandVector[index]->setVisible(toggle); | 464 fCommandVector[index]->setVisible(toggle); | 
| 465 } | 465 } | 
| OLD | NEW |