// 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_TILES_PRIORITIZED_TILE_H_ #define CC_TILES_PRIORITIZED_TILE_H_ #include "cc/cc_export.h" #include "cc/raster/raster_source.h" #include "cc/tiles/picture_layer_tiling.h" #include "cc/tiles/tile.h" #include "cc/tiles/tile_priority.h" namespace cc { class RasterSource; class PictureLayerTiling; class CC_EXPORT PrioritizedTile { public: // This class is constructed and returned by a |PictureLayerTiling|, and // represents a tile and its priority. PrioritizedTile(); PrioritizedTile(Tile* tile, const PictureLayerTiling* source_tiling, const TilePriority& priority, bool is_occluded, bool is_process_for_images_only, bool should_decode_checkered_images_for_tile); ~PrioritizedTile(); Tile* tile() const { return tile_; } const scoped_refptr& raster_source() const { return source_tiling_->raster_source(); } const TilePriority& priority() const { return priority_; } bool is_occluded() const { return is_occluded_; } bool is_process_for_images_only() const { return is_process_for_images_only_; } bool should_decode_checkered_images_for_tile() const { return should_decode_checkered_images_for_tile_; } void AsValueInto(base::trace_event::TracedValue* value) const; private: Tile* tile_ = nullptr; const PictureLayerTiling* source_tiling_ = nullptr; TilePriority priority_; bool is_occluded_ = false; bool is_process_for_images_only_ = false; bool should_decode_checkered_images_for_tile_ = false; }; } // namespace cc #endif // CC_TILES_PRIORITIZED_TILE_H_