| Index: src/pipe/utils/SamplePipeControllers.cpp
|
| diff --git a/src/pipe/utils/SamplePipeControllers.cpp b/src/pipe/utils/SamplePipeControllers.cpp
|
| deleted file mode 100644
|
| index fea9d6842b7fac2baf3e358082d1aee776aae811..0000000000000000000000000000000000000000
|
| --- a/src/pipe/utils/SamplePipeControllers.cpp
|
| +++ /dev/null
|
| @@ -1,115 +0,0 @@
|
| -/*
|
| - * Copyright 2012 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -#include "SamplePipeControllers.h"
|
| -
|
| -#include "SkCanvas.h"
|
| -#include "SkGPipe.h"
|
| -#include "SkMatrix.h"
|
| -
|
| -PipeController::PipeController(SkCanvas* target, SkPicture::InstallPixelRefProc proc)
|
| -:fReader(target) {
|
| - fBlock = nullptr;
|
| - fBlockSize = fBytesWritten = 0;
|
| - fReader.setBitmapDecoder(proc);
|
| -}
|
| -
|
| -PipeController::~PipeController() {
|
| - sk_free(fBlock);
|
| -}
|
| -
|
| -void* PipeController::requestBlock(size_t minRequest, size_t *actual) {
|
| - sk_free(fBlock);
|
| - fBlockSize = minRequest;
|
| - fBlock = sk_malloc_throw(fBlockSize);
|
| - fBytesWritten = 0;
|
| - *actual = fBlockSize;
|
| - return fBlock;
|
| -}
|
| -
|
| -void PipeController::notifyWritten(size_t bytes) {
|
| - fStatus = fReader.playback(this->getData(), bytes);
|
| - SkASSERT(SkGPipeReader::kError_Status != fStatus);
|
| - fBytesWritten += bytes;
|
| -}
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -
|
| -TiledPipeController::TiledPipeController(const SkBitmap& bitmap,
|
| - SkPicture::InstallPixelRefProc proc,
|
| - const SkMatrix* initial)
|
| -: INHERITED(nullptr, proc) {
|
| - int32_t top = 0;
|
| - int32_t bottom;
|
| - int32_t height = bitmap.height() / NumberOfTiles;
|
| - SkIRect rect;
|
| - for (int i = 0; i < NumberOfTiles; i++) {
|
| - bottom = i + 1 == NumberOfTiles ? bitmap.height() : top + height;
|
| - rect.setLTRB(0, top, bitmap.width(), bottom);
|
| - top = bottom;
|
| -
|
| - SkDEBUGCODE(bool extracted = )bitmap.extractSubset(&fBitmaps[i], rect);
|
| - SkASSERT(extracted);
|
| - SkCanvas* canvas = new SkCanvas(fBitmaps[i]);
|
| - if (initial != nullptr) {
|
| - canvas->setMatrix(*initial);
|
| - }
|
| - canvas->translate(SkIntToScalar(-rect.left()),
|
| - SkIntToScalar(-rect.top()));
|
| - if (0 == i) {
|
| - fReader.setCanvas(canvas);
|
| - } else {
|
| - fReaders[i - 1].setCanvas(canvas);
|
| - fReaders[i - 1].setBitmapDecoder(proc);
|
| - }
|
| - canvas->unref();
|
| - }
|
| -}
|
| -
|
| -void TiledPipeController::notifyWritten(size_t bytes) {
|
| - for (int i = 0; i < NumberOfTiles - 1; i++) {
|
| - fReaders[i].playback(this->getData(), bytes);
|
| - }
|
| - this->INHERITED::notifyWritten(bytes);
|
| -}
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -
|
| -ThreadSafePipeController::ThreadSafePipeController(int numberOfReaders)
|
| -: fAllocator(kMinBlockSize)
|
| -, fNumberOfReaders(numberOfReaders) {
|
| - fBlock = nullptr;
|
| - fBytesWritten = 0;
|
| -}
|
| -
|
| -void* ThreadSafePipeController::requestBlock(size_t minRequest, size_t *actual) {
|
| - if (fBlock) {
|
| - // Save the previous block for later
|
| - PipeBlock previousBloc(fBlock, fBytesWritten);
|
| - fBlockList.push(previousBloc);
|
| - }
|
| - int32_t blockSize = SkMax32(SkToS32(minRequest), kMinBlockSize);
|
| - fBlock = fAllocator.allocThrow(blockSize);
|
| - fBytesWritten = 0;
|
| - *actual = blockSize;
|
| - return fBlock;
|
| -}
|
| -
|
| -void ThreadSafePipeController::notifyWritten(size_t bytes) {
|
| - fBytesWritten += bytes;
|
| -}
|
| -
|
| -void ThreadSafePipeController::draw(SkCanvas* target) {
|
| - SkGPipeReader reader(target);
|
| - for (int currentBlock = 0; currentBlock < fBlockList.count(); currentBlock++ ) {
|
| - reader.playback(fBlockList[currentBlock].fBlock, fBlockList[currentBlock].fBytes);
|
| - }
|
| -
|
| - if (fBlock) {
|
| - reader.playback(fBlock, fBytesWritten);
|
| - }
|
| -}
|
|
|