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

Side by Side Diff: cc/tiles/tile.h

Issue 2175553002: Raster PictureLayerTiling with fractional translation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: clean up Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_TILES_TILE_H_ 5 #ifndef CC_TILES_TILE_H_
6 #define CC_TILES_TILE_H_ 6 #define CC_TILES_TILE_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "base/memory/ref_counted.h" 12 #include "base/memory/ref_counted.h"
13 #include "cc/base/scale_translate2d.h"
13 #include "cc/raster/tile_task.h" 14 #include "cc/raster/tile_task.h"
14 #include "cc/tiles/tile_draw_info.h" 15 #include "cc/tiles/tile_draw_info.h"
15 #include "ui/gfx/geometry/rect.h" 16 #include "ui/gfx/geometry/rect.h"
16 #include "ui/gfx/geometry/size.h" 17 #include "ui/gfx/geometry/size.h"
17 18
18 namespace cc { 19 namespace cc {
19 20
20 class PrioritizedTile; 21 class PrioritizedTile;
21 class TileManager; 22 class TileManager;
22 struct TilePriority; 23 struct TilePriority;
23 24
24 class CC_EXPORT Tile { 25 class CC_EXPORT Tile {
25 public: 26 public:
26 class CC_EXPORT Deleter { 27 class CC_EXPORT Deleter {
27 public: 28 public:
28 void operator()(Tile* tile) const; 29 void operator()(Tile* tile) const;
29 }; 30 };
30 31
31 class CC_EXPORT CreateInfo { 32 class CC_EXPORT CreateInfo {
32 public: 33 public:
33 int tiling_i_index; 34 int tiling_i_index;
34 int tiling_j_index; 35 int tiling_j_index;
35 gfx::Rect enclosing_layer_rect; 36 gfx::Rect enclosing_layer_rect;
36 gfx::Rect content_rect; 37 gfx::Rect content_rect;
37 float contents_scale; 38 ScaleTranslate2d contents_transform;
38 39
39 CreateInfo(int tiling_i_index, 40 CreateInfo(int tiling_i_index,
40 int tiling_j_index, 41 int tiling_j_index,
41 const gfx::Rect& enclosing_layer_rect, 42 const gfx::Rect& enclosing_layer_rect,
42 const gfx::Rect& content_rect, 43 const gfx::Rect& content_rect,
43 float contents_scale) 44 const ScaleTranslate2d& contents_transform)
44 : tiling_i_index(tiling_i_index), 45 : tiling_i_index(tiling_i_index),
45 tiling_j_index(tiling_j_index), 46 tiling_j_index(tiling_j_index),
46 enclosing_layer_rect(enclosing_layer_rect), 47 enclosing_layer_rect(enclosing_layer_rect),
47 content_rect(content_rect), 48 content_rect(content_rect),
48 contents_scale(contents_scale) {} 49 contents_transform(contents_transform) {}
49 }; 50 };
50 51
51 enum TileRasterFlags { USE_PICTURE_ANALYSIS = 1 << 0, IS_OPAQUE = 1 << 1 }; 52 enum TileRasterFlags { USE_PICTURE_ANALYSIS = 1 << 0, IS_OPAQUE = 1 << 1 };
52 53
53 typedef uint64_t Id; 54 typedef uint64_t Id;
54 55
55 Id id() const { 56 Id id() const {
56 return id_; 57 return id_;
57 } 58 }
58 59
(...skipping 11 matching lines...) Expand all
70 return !!(flags_ & USE_PICTURE_ANALYSIS); 71 return !!(flags_ & USE_PICTURE_ANALYSIS);
71 } 72 }
72 73
73 bool is_opaque() const { return !!(flags_ & IS_OPAQUE); } 74 bool is_opaque() const { return !!(flags_ & IS_OPAQUE); }
74 75
75 void AsValueInto(base::trace_event::TracedValue* value) const; 76 void AsValueInto(base::trace_event::TracedValue* value) const;
76 77
77 const TileDrawInfo& draw_info() const { return draw_info_; } 78 const TileDrawInfo& draw_info() const { return draw_info_; }
78 TileDrawInfo& draw_info() { return draw_info_; } 79 TileDrawInfo& draw_info() { return draw_info_; }
79 80
80 float contents_scale() const { return contents_scale_; } 81 // float contents_scale() const { return contents_scale_; }
82 const ScaleTranslate2d& contents_transform() const {
83 return contents_transform_;
84 }
81 const gfx::Rect& content_rect() const { return content_rect_; } 85 const gfx::Rect& content_rect() const { return content_rect_; }
82 const gfx::Rect& enclosing_layer_rect() const { 86 const gfx::Rect& enclosing_layer_rect() const {
83 return enclosing_layer_rect_; 87 return enclosing_layer_rect_;
84 } 88 }
85 89
86 int layer_id() const { return layer_id_; } 90 int layer_id() const { return layer_id_; }
87 91
88 int source_frame_number() const { return source_frame_number_; } 92 int source_frame_number() const { return source_frame_number_; }
89 93
90 size_t GPUMemoryUsageInBytes() const; 94 size_t GPUMemoryUsageInBytes() const;
(...skipping 25 matching lines...) Expand all
116 Tile(TileManager* tile_manager, 120 Tile(TileManager* tile_manager,
117 const CreateInfo& info, 121 const CreateInfo& info,
118 int layer_id, 122 int layer_id,
119 int source_frame_number, 123 int source_frame_number,
120 int flags); 124 int flags);
121 ~Tile(); 125 ~Tile();
122 126
123 TileManager* const tile_manager_; 127 TileManager* const tile_manager_;
124 const gfx::Rect content_rect_; 128 const gfx::Rect content_rect_;
125 const gfx::Rect enclosing_layer_rect_; 129 const gfx::Rect enclosing_layer_rect_;
126 const float contents_scale_; 130 const ScaleTranslate2d contents_transform_;
127 131
128 TileDrawInfo draw_info_; 132 TileDrawInfo draw_info_;
129 133
130 const int layer_id_; 134 const int layer_id_;
131 const int source_frame_number_; 135 const int source_frame_number_;
132 const int flags_; 136 const int flags_;
133 const int tiling_i_index_; 137 const int tiling_i_index_;
134 const int tiling_j_index_; 138 const int tiling_j_index_;
135 bool required_for_activation_ : 1; 139 bool required_for_activation_ : 1;
136 bool required_for_draw_ : 1; 140 bool required_for_draw_ : 1;
(...skipping 11 matching lines...) Expand all
148 scoped_refptr<TileTask> raster_task_; 152 scoped_refptr<TileTask> raster_task_;
149 153
150 DISALLOW_COPY_AND_ASSIGN(Tile); 154 DISALLOW_COPY_AND_ASSIGN(Tile);
151 }; 155 };
152 156
153 using ScopedTilePtr = std::unique_ptr<Tile, Tile::Deleter>; 157 using ScopedTilePtr = std::unique_ptr<Tile, Tile::Deleter>;
154 158
155 } // namespace cc 159 } // namespace cc
156 160
157 #endif // CC_TILES_TILE_H_ 161 #endif // CC_TILES_TILE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698