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

Side by Side Diff: services/gfx/compositor/graph/scene_def.cc

Issue 1782733002: Mozart: The great RectF-ication. (Closed) Base URL: git@github.com:domokit/mojo.git@moz-9
Patch Set: rebase Created 4 years, 9 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
« no previous file with comments | « services/gfx/compositor/graph/node_def.cc ('k') | services/gfx/compositor/graph/snapshot.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 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 #include "services/gfx/compositor/graph/scene_def.h" 5 #include "services/gfx/compositor/graph/scene_def.h"
6 6
7 #include <ostream> 7 #include <ostream>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 return nullptr; 215 return nullptr;
216 } 216 }
217 217
218 scoped_refptr<const NodeDef> SceneDef::CreateNode( 218 scoped_refptr<const NodeDef> SceneDef::CreateNode(
219 uint32_t node_id, 219 uint32_t node_id,
220 mojo::gfx::composition::NodePtr node_decl, 220 mojo::gfx::composition::NodePtr node_decl,
221 std::ostream& err) { 221 std::ostream& err) {
222 DCHECK(node_decl); 222 DCHECK(node_decl);
223 223
224 mojo::TransformPtr content_transform = node_decl->content_transform.Pass(); 224 mojo::TransformPtr content_transform = node_decl->content_transform.Pass();
225 mojo::RectPtr content_clip = node_decl->content_clip.Pass(); 225 mojo::RectFPtr content_clip = node_decl->content_clip.Pass();
226 mojo::gfx::composition::HitTestBehaviorPtr hit_test_behavior = 226 mojo::gfx::composition::HitTestBehaviorPtr hit_test_behavior =
227 node_decl->hit_test_behavior.Pass(); 227 node_decl->hit_test_behavior.Pass();
228 const mojo::gfx::composition::Node::Combinator combinator = 228 const mojo::gfx::composition::Node::Combinator combinator =
229 node_decl->combinator; 229 node_decl->combinator;
230 const std::vector<uint32_t>& child_node_ids = 230 const std::vector<uint32_t>& child_node_ids =
231 node_decl->child_node_ids.storage(); 231 node_decl->child_node_ids.storage();
232 232
233 if (!node_decl->op) { 233 if (!node_decl->op) {
234 return new NodeDef(node_id, content_transform.Pass(), content_clip.Pass(), 234 return new NodeDef(node_id, content_transform.Pass(), content_clip.Pass(),
235 hit_test_behavior.Pass(), combinator, child_node_ids); 235 hit_test_behavior.Pass(), combinator, child_node_ids);
236 } 236 }
237 237
238 if (node_decl->op->is_rect()) { 238 if (node_decl->op->is_rect()) {
239 auto& rect_node_decl = node_decl->op->get_rect(); 239 auto& rect_node_decl = node_decl->op->get_rect();
240 DCHECK(rect_node_decl->content_rect); 240 DCHECK(rect_node_decl->content_rect);
241 DCHECK(rect_node_decl->color); 241 DCHECK(rect_node_decl->color);
242 242
243 const mojo::Rect& content_rect = *rect_node_decl->content_rect; 243 const mojo::RectF& content_rect = *rect_node_decl->content_rect;
244 const mojo::gfx::composition::Color& color = *rect_node_decl->color; 244 const mojo::gfx::composition::Color& color = *rect_node_decl->color;
245 return new RectNodeDef(node_id, content_transform.Pass(), 245 return new RectNodeDef(node_id, content_transform.Pass(),
246 content_clip.Pass(), hit_test_behavior.Pass(), 246 content_clip.Pass(), hit_test_behavior.Pass(),
247 combinator, child_node_ids, content_rect, color); 247 combinator, child_node_ids, content_rect, color);
248 } 248 }
249 249
250 if (node_decl->op->is_image()) { 250 if (node_decl->op->is_image()) {
251 auto& image_node_decl = node_decl->op->get_image(); 251 auto& image_node_decl = node_decl->op->get_image();
252 DCHECK(image_node_decl->content_rect); 252 DCHECK(image_node_decl->content_rect);
253 253
254 const mojo::Rect& content_rect = *image_node_decl->content_rect; 254 const mojo::RectF& content_rect = *image_node_decl->content_rect;
255 mojo::RectPtr image_rect = image_node_decl->image_rect.Pass(); 255 mojo::RectFPtr image_rect = image_node_decl->image_rect.Pass();
256 const uint32 image_resource_id = image_node_decl->image_resource_id; 256 const uint32 image_resource_id = image_node_decl->image_resource_id;
257 mojo::gfx::composition::BlendPtr blend = image_node_decl->blend.Pass(); 257 mojo::gfx::composition::BlendPtr blend = image_node_decl->blend.Pass();
258 return new ImageNodeDef(node_id, content_transform.Pass(), 258 return new ImageNodeDef(node_id, content_transform.Pass(),
259 content_clip.Pass(), hit_test_behavior.Pass(), 259 content_clip.Pass(), hit_test_behavior.Pass(),
260 combinator, child_node_ids, content_rect, 260 combinator, child_node_ids, content_rect,
261 image_rect.Pass(), image_resource_id, blend.Pass()); 261 image_rect.Pass(), image_resource_id, blend.Pass());
262 } 262 }
263 263
264 if (node_decl->op->is_scene()) { 264 if (node_decl->op->is_scene()) {
265 auto& scene_node_decl = node_decl->op->get_scene(); 265 auto& scene_node_decl = node_decl->op->get_scene();
266 266
267 const uint32_t scene_resource_id = scene_node_decl->scene_resource_id; 267 const uint32_t scene_resource_id = scene_node_decl->scene_resource_id;
268 const uint32_t scene_version = scene_node_decl->scene_version; 268 const uint32_t scene_version = scene_node_decl->scene_version;
269 return new SceneNodeDef(node_id, content_transform.Pass(), 269 return new SceneNodeDef(node_id, content_transform.Pass(),
270 content_clip.Pass(), hit_test_behavior.Pass(), 270 content_clip.Pass(), hit_test_behavior.Pass(),
271 combinator, child_node_ids, scene_resource_id, 271 combinator, child_node_ids, scene_resource_id,
272 scene_version); 272 scene_version);
273 } 273 }
274 274
275 if (node_decl->op->is_layer()) { 275 if (node_decl->op->is_layer()) {
276 auto& layer_node_decl = node_decl->op->get_layer(); 276 auto& layer_node_decl = node_decl->op->get_layer();
277 DCHECK(layer_node_decl->layer_size); 277 DCHECK(layer_node_decl->layer_rect);
278 278
279 const mojo::Size& layer_size = *layer_node_decl->layer_size; 279 const mojo::RectF& layer_rect = *layer_node_decl->layer_rect;
280 mojo::gfx::composition::BlendPtr blend = layer_node_decl->blend.Pass(); 280 mojo::gfx::composition::BlendPtr blend = layer_node_decl->blend.Pass();
281 return new LayerNodeDef(node_id, content_transform.Pass(), 281 return new LayerNodeDef(node_id, content_transform.Pass(),
282 content_clip.Pass(), hit_test_behavior.Pass(), 282 content_clip.Pass(), hit_test_behavior.Pass(),
283 combinator, child_node_ids, layer_size, 283 combinator, child_node_ids, layer_rect,
284 blend.Pass()); 284 blend.Pass());
285 } 285 }
286 286
287 err << "Unsupported node op type: node_id=" << node_id 287 err << "Unsupported node op type: node_id=" << node_id
288 << ", node_op=" << node_decl->op; 288 << ", node_op=" << node_decl->op;
289 return nullptr; 289 return nullptr;
290 } 290 }
291 291
292 const NodeDef* SceneDef::FindNode(uint32_t node_id) const { 292 const NodeDef* SceneDef::FindNode(uint32_t node_id) const {
293 auto it = nodes_.find(node_id); 293 auto it = nodes_.find(node_id);
(...skipping 20 matching lines...) Expand all
314 314
315 SceneDef::Publication::Publication( 315 SceneDef::Publication::Publication(
316 mojo::gfx::composition::SceneMetadataPtr metadata) 316 mojo::gfx::composition::SceneMetadataPtr metadata)
317 : metadata(metadata.Pass()) { 317 : metadata(metadata.Pass()) {
318 DCHECK(this->metadata); 318 DCHECK(this->metadata);
319 } 319 }
320 320
321 SceneDef::Publication::~Publication() {} 321 SceneDef::Publication::~Publication() {}
322 322
323 } // namespace compositor 323 } // namespace compositor
OLDNEW
« no previous file with comments | « services/gfx/compositor/graph/node_def.cc ('k') | services/gfx/compositor/graph/snapshot.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698