blob: 6cb751f38b9e6b66dcff495465f8debe595b3a65 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CC_RESOURCES_SOFTWARE_RASTERIZER_H_
#define CC_RESOURCES_SOFTWARE_RASTERIZER_H_
#include <vector>
#include "cc/base/cc_export.h"
#include "cc/resources/rasterizer.h"
namespace cc {
// This class only returns |PrepareTilesMode::RASTERIZE_PRIORITIZED_TILES| in
// |GetPrepareTilesMode()| to tell rasterize as scheduled tasks.
class CC_EXPORT SoftwareRasterizer : public Rasterizer {
public:
~SoftwareRasterizer() override;
static scoped_ptr<SoftwareRasterizer> Create();
PrepareTilesMode GetPrepareTilesMode() override;
void RasterizeTiles(
const TileVector& tiles,
ResourcePool* resource_pool,
ResourceFormat resource_format,
const UpdateTileDrawInfoCallback& update_tile_draw_info) override;
private:
SoftwareRasterizer();
DISALLOW_COPY_AND_ASSIGN(SoftwareRasterizer);
};
} // namespace cc
#endif // CC_RESOURCES_SOFTWARE_RASTERIZER_H_
|