Roll src/third_party/WebKit 5bc05e9:3d59927 (svn 202625:202627)
[chromium-blink-merge.git] / cc / tiles / prioritized_tile.h
blob6811d903a50daca65fe861255ed95fdc15f9b4d2
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_TILES_PRIORITIZED_TILE_H_
6 #define CC_TILES_PRIORITIZED_TILE_H_
8 #include "cc/base/cc_export.h"
9 #include "cc/tiles/tile.h"
10 #include "cc/tiles/tile_priority.h"
12 namespace cc {
13 class PictureLayerTiling;
14 class RasterSource;
16 class CC_EXPORT PrioritizedTile {
17 public:
18 // This class is constructed and returned by a |PictureLayerTiling|, and
19 // represents a tile and its priority.
20 PrioritizedTile();
21 ~PrioritizedTile();
23 Tile* tile() const { return tile_; }
24 RasterSource* raster_source() const { return raster_source_; }
25 const TilePriority& priority() const { return priority_; }
26 bool is_occluded() const { return is_occluded_; }
28 void AsValueInto(base::trace_event::TracedValue* value) const;
30 private:
31 friend class PictureLayerTiling;
33 PrioritizedTile(Tile* tile,
34 RasterSource* raster_source,
35 const TilePriority priority,
36 bool is_occluded);
38 Tile* tile_;
39 RasterSource* raster_source_;
40 TilePriority priority_;
41 bool is_occluded_;
44 } // namespace cc
46 #endif // CC_TILES_PRIORITIZED_TILE_H_