Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(673)

Unified Diff: cc/tile_drawing_info.h

Issue 12353003: cc: Refactored Tile::GetResourceId (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: removed forward declare Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/tile_drawing_info.h
diff --git a/cc/tile_drawing_info.h b/cc/tile_drawing_info.h
new file mode 100644
index 0000000000000000000000000000000000000000..a25c070f131061dfd4039e32380f511439827a18
--- /dev/null
+++ b/cc/tile_drawing_info.h
@@ -0,0 +1,56 @@
+// Copyright 2013 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_DRAWING_INFO_H_
+#define CC_TILE_DRAWING_INFO_H_
+
+#include "cc/resource_provider.h"
+#include "cc/tile_manager.h"
+
+namespace cc {
+
+class Tile;
+
+class CC_EXPORT TileDrawingInfo {
enne (OOO) 2013/02/27 22:13:57 I'm not really convinced that Tile is so complicat
+ public:
+ enum Mode {
+ TEXTURE_MODE,
+ SOLID_COLOR_MODE,
+ TRANSPARENT_MODE,
+ PICTURE_PILE_MODE,
+ NUM_MODES
+ };
+
+ TileDrawingInfo(const Tile* tile)
+ : mode_(TEXTURE_MODE),
+ tile_(tile) {}
+
+ Mode mode() const {
+ return mode_;
+ }
+
+ bool is_ready_to_draw() const;
enne (OOO) 2013/02/27 22:13:57 style nit: don't name functions using hacker_style
+
+ ResourceProvider::ResourceId get_resource_id() const;
enne (OOO) 2013/02/27 22:13:57 style nit: don't name functions using hacker_style
+
+ SkColor get_solid_color() const {
+ DCHECK(mode_ == SOLID_COLOR_MODE);
+
+ return solid_color_;
+ }
+
+ private:
+ friend class TileManager;
+
+ Mode mode_;
+ const Tile* tile_;
+ SkColor solid_color_;
+
+ void set_transparent();
+ void set_solid_color(const SkColor& color);
+};
+
+} // namespace cc
+
+#endif // CC_TILE_DRAWING_INFO_H_

Powered by Google App Engine
This is Rietveld 408576698