diff options
author | nduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-08 22:42:34 +0000 |
---|---|---|
committer | nduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-08 22:42:34 +0000 |
commit | 18134fc48b55833ff91d72ddb459cf19bc607a9f (patch) | |
tree | 45e7b4aa9b6bbd979371a06a86b3fdb3dfed1cb5 /cc/tile.h | |
parent | 09af6658cc32b9821aaff07f24a6a2bb1af991fa (diff) | |
download | chromium_src-18134fc48b55833ff91d72ddb459cf19bc607a9f.zip chromium_src-18134fc48b55833ff91d72ddb459cf19bc607a9f.tar.gz chromium_src-18134fc48b55833ff91d72ddb459cf19bc607a9f.tar.bz2 |
[cc] Tiles and tile manager for impl side painting
BUG=155209
R=enne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11369130
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166787 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/tile.h')
-rw-r--r-- | cc/tile.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/cc/tile.h b/cc/tile.h new file mode 100644 index 0000000..fb57375 --- /dev/null +++ b/cc/tile.h @@ -0,0 +1,50 @@ +// Copyright 2012 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_TILE_H_ +#define CC_TILE_H_ + +#include "base/memory/ref_counted.h" +#include "cc/picture_pile.h" +#include "cc/resource_provider.h" +#include "cc/tile_priority.h" +#include "ui/gfx/rect.h" +#include "ui/gfx/size.h" + +namespace cc { + +class TileManager; + +enum TileQuality { + LOW_TILE_QUALITY, + NORMAL_TILE_QUALITY +}; + +class Tile : public base::RefCounted<Tile> { + public: + Tile(TileManager* tile_manager, + gfx::Size tile_size, + gfx::Rect rect_inside_picture, + TileQuality quality); + + void SetPicturePile(int frame_number, scoped_ptr<PicturePile> picture_pile) {} + void SetPriority(int frame_number, TilePriority) {} + + bool IsDrawable(int frame_number) { return false; } + ResourceProvider::ResourceId GetDrawableResourceId(int frame_number) { return 0; } + + private: + friend class base::RefCounted<Tile>; + friend class TileManager; + + ~Tile(); + + TileManager* tile_manager_; + gfx::Rect tile_size_; + gfx::Rect rect_inside_picture_; + TileQuality quality_; +}; + +} // namespace cc +#endif |