Enable right clicking on the applist doodle web contents and log the data.
[chromium-blink-merge.git] / cc / resources / rasterizer.h
blob43df0b0c3d9ba9c4db27e354b6271a0322fe2bbc
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CC_RESOURCES_RASTERIZER_H_
6 #define CC_RESOURCES_RASTERIZER_H_
8 #include <vector>
10 #include "cc/base/cc_export.h"
11 #include "cc/resources/resource_pool.h"
12 #include "cc/resources/tile.h"
14 namespace cc {
15 class TileManager;
17 enum class PrepareTilesMode {
18 RASTERIZE_PRIORITIZED_TILES,
19 PREPARE_NONE
22 class CC_EXPORT Rasterizer {
23 public:
24 using TileVector = std::vector<Tile*>;
25 using UpdateTileDrawInfoCallback =
26 base::Callback<void(Tile*,
27 scoped_ptr<ScopedResource>,
28 const RasterSource::SolidColorAnalysis&)>;
30 virtual ~Rasterizer() {}
31 virtual PrepareTilesMode GetPrepareTilesMode() = 0;
32 virtual void RasterizeTiles(
33 const TileVector& tiles,
34 ResourcePool* resource_pool,
35 ResourceFormat resource_format,
36 const UpdateTileDrawInfoCallback& update_tile_draw_info) = 0;
38 protected:
39 Rasterizer() {}
41 private:
42 DISALLOW_COPY_AND_ASSIGN(Rasterizer);
45 } // namespace cc
47 #endif // CC_RESOURCES_RASTERIZER_H_