blob: 8fde780ad6e4d2c572de08f1d3a620123b121e4d [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "flutter/flow/testing/mock_raster_cache.h"
#include "flutter/flow/layers/layer.h"
namespace flutter {
namespace testing {
MockRasterCacheResult::MockRasterCacheResult(SkIRect device_rect)
: RasterCacheResult(nullptr, SkRect::MakeEmpty()),
device_rect_(device_rect) {}
std::unique_ptr<RasterCacheResult> MockRasterCache::RasterizePicture(
SkPicture* picture,
GrDirectContext* context,
const SkMatrix& ctm,
SkColorSpace* dst_color_space,
bool checkerboard) const {
SkRect logical_rect = picture->cullRect();
SkIRect cache_rect = RasterCache::GetDeviceBounds(logical_rect, ctm);
return std::make_unique<MockRasterCacheResult>(cache_rect);
}
std::unique_ptr<RasterCacheResult> MockRasterCache::RasterizeLayer(
PrerollContext* context,
Layer* layer,
const SkMatrix& ctm,
bool checkerboard) const {
SkRect logical_rect = layer->paint_bounds();
SkIRect cache_rect = RasterCache::GetDeviceBounds(logical_rect, ctm);
return std::make_unique<MockRasterCacheResult>(cache_rect);
}
} // namespace testing
} // namespace flutter