Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 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 "SkAnnotation.h" | 9 #include "SkAnnotation.h" |
| 10 #include "SkBitmapDevice.h" | 10 #include "SkBitmapDevice.h" |
| (...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 472 if (fDone) { | 472 if (fDone) { |
| 473 return false; | 473 return false; |
| 474 } | 474 } |
| 475 | 475 |
| 476 needed += 4; // size of DrawOp atom | 476 needed += 4; // size of DrawOp atom |
| 477 if (fWriter.bytesWritten() + needed > fBlockSize) { | 477 if (fWriter.bytesWritten() + needed > fBlockSize) { |
| 478 // Before we wipe out any data that has already been written, read it | 478 // Before we wipe out any data that has already been written, read it |
| 479 // out. | 479 // out. |
| 480 this->doNotify(); | 480 this->doNotify(); |
| 481 size_t blockSize = SkTMax<size_t>(MIN_BLOCK_SIZE, needed); | 481 size_t blockSize = SkTMax<size_t>(MIN_BLOCK_SIZE, needed); |
| 482 blockSize += 128; // TODO(mtklein, scroggo): why do we need this extra padding? | |
|
scroggo
2014/05/02 16:15:42
Might we be passing too small a number into needOp
| |
| 482 void* block = fController->requestBlock(blockSize, &fBlockSize); | 483 void* block = fController->requestBlock(blockSize, &fBlockSize); |
| 483 if (NULL == block) { | 484 if (NULL == block) { |
| 484 // Do not notify the readers, which would call this function again. | 485 // Do not notify the readers, which would call this function again. |
| 485 this->finish(false); | 486 this->finish(false); |
| 486 return false; | 487 return false; |
| 487 } | 488 } |
| 488 SkASSERT(SkIsAlign4(fBlockSize)); | 489 SkASSERT(SkIsAlign4(fBlockSize)); |
| 489 fWriter.reset(block, fBlockSize); | 490 fWriter.reset(block, fBlockSize); |
| 490 fBytesNotified = 0; | 491 fBytesNotified = 0; |
| 491 } | 492 } |
| (...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1242 return fCanvas->shuttleBitmap(bitmap, slot); | 1243 return fCanvas->shuttleBitmap(bitmap, slot); |
| 1243 } | 1244 } |
| 1244 | 1245 |
| 1245 void BitmapShuttle::removeCanvas() { | 1246 void BitmapShuttle::removeCanvas() { |
| 1246 if (NULL == fCanvas) { | 1247 if (NULL == fCanvas) { |
| 1247 return; | 1248 return; |
| 1248 } | 1249 } |
| 1249 fCanvas->unref(); | 1250 fCanvas->unref(); |
| 1250 fCanvas = NULL; | 1251 fCanvas = NULL; |
| 1251 } | 1252 } |
| OLD | NEW |