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

Side by Side Diff: cc/base/tiling_data.cc

Issue 798973003: cc: Drop an unused member variable from tiling data iterators (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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 | « cc/base/tiling_data.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 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 "cc/base/tiling_data.h" 5 #include "cc/base/tiling_data.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "ui/gfx/geometry/rect.h" 9 #include "ui/gfx/geometry/rect.h"
10 #include "ui/gfx/geometry/vector2d.h" 10 #include "ui/gfx/geometry/vector2d.h"
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 return gfx::Vector2d(left, top); 286 return gfx::Vector2d(left, top);
287 } 287 }
288 288
289 void TilingData::RecomputeNumTiles() { 289 void TilingData::RecomputeNumTiles() {
290 num_tiles_x_ = ComputeNumTiles( 290 num_tiles_x_ = ComputeNumTiles(
291 max_texture_size_.width(), tiling_size_.width(), border_texels_); 291 max_texture_size_.width(), tiling_size_.width(), border_texels_);
292 num_tiles_y_ = ComputeNumTiles( 292 num_tiles_y_ = ComputeNumTiles(
293 max_texture_size_.height(), tiling_size_.height(), border_texels_); 293 max_texture_size_.height(), tiling_size_.height(), border_texels_);
294 } 294 }
295 295
296 TilingData::BaseIterator::BaseIterator(const TilingData* tiling_data) 296 TilingData::BaseIterator::BaseIterator() : index_x_(-1), index_y_(-1) {
297 : tiling_data_(tiling_data),
298 index_x_(-1),
299 index_y_(-1) {
300 } 297 }
301 298
302 TilingData::Iterator::Iterator() : BaseIterator(nullptr) { done(); } 299 TilingData::Iterator::Iterator() {
300 done();
301 }
303 302
304 TilingData::Iterator::Iterator(const TilingData* tiling_data, 303 TilingData::Iterator::Iterator(const TilingData* tiling_data,
305 const gfx::Rect& consider_rect, 304 const gfx::Rect& consider_rect,
306 bool include_borders) 305 bool include_borders)
307 : BaseIterator(tiling_data), left_(-1), right_(-1), bottom_(-1) { 306 : left_(-1), right_(-1), bottom_(-1) {
308 if (tiling_data_->num_tiles_x() <= 0 || tiling_data_->num_tiles_y() <= 0) { 307 if (tiling_data->num_tiles_x() <= 0 || tiling_data->num_tiles_y() <= 0) {
309 done(); 308 done();
310 return; 309 return;
311 } 310 }
312 311
313 gfx::Rect tiling_bounds_rect(tiling_data_->tiling_size()); 312 gfx::Rect tiling_bounds_rect(tiling_data->tiling_size());
314 gfx::Rect rect(consider_rect); 313 gfx::Rect rect(consider_rect);
315 rect.Intersect(tiling_bounds_rect); 314 rect.Intersect(tiling_bounds_rect);
316 315
317 gfx::Rect top_left_tile; 316 gfx::Rect top_left_tile;
318 if (include_borders) { 317 if (include_borders) {
319 index_x_ = tiling_data_->FirstBorderTileXIndexFromSrcCoord(rect.x()); 318 index_x_ = tiling_data->FirstBorderTileXIndexFromSrcCoord(rect.x());
320 index_y_ = tiling_data_->FirstBorderTileYIndexFromSrcCoord(rect.y()); 319 index_y_ = tiling_data->FirstBorderTileYIndexFromSrcCoord(rect.y());
321 right_ = tiling_data_->LastBorderTileXIndexFromSrcCoord(rect.right() - 1); 320 right_ = tiling_data->LastBorderTileXIndexFromSrcCoord(rect.right() - 1);
322 bottom_ = tiling_data_->LastBorderTileYIndexFromSrcCoord(rect.bottom() - 1); 321 bottom_ = tiling_data->LastBorderTileYIndexFromSrcCoord(rect.bottom() - 1);
323 top_left_tile = tiling_data_->TileBoundsWithBorder(index_x_, index_y_); 322 top_left_tile = tiling_data->TileBoundsWithBorder(index_x_, index_y_);
324 } else { 323 } else {
325 index_x_ = tiling_data_->TileXIndexFromSrcCoord(rect.x()); 324 index_x_ = tiling_data->TileXIndexFromSrcCoord(rect.x());
326 index_y_ = tiling_data_->TileYIndexFromSrcCoord(rect.y()); 325 index_y_ = tiling_data->TileYIndexFromSrcCoord(rect.y());
327 right_ = tiling_data_->TileXIndexFromSrcCoord(rect.right() - 1); 326 right_ = tiling_data->TileXIndexFromSrcCoord(rect.right() - 1);
328 bottom_ = tiling_data_->TileYIndexFromSrcCoord(rect.bottom() - 1); 327 bottom_ = tiling_data->TileYIndexFromSrcCoord(rect.bottom() - 1);
329 top_left_tile = tiling_data_->TileBounds(index_x_, index_y_); 328 top_left_tile = tiling_data->TileBounds(index_x_, index_y_);
330 } 329 }
331 left_ = index_x_; 330 left_ = index_x_;
332 331
333 // Index functions always return valid indices, so explicitly check 332 // Index functions always return valid indices, so explicitly check
334 // for non-intersecting rects. 333 // for non-intersecting rects.
335 if (!top_left_tile.Intersects(rect)) 334 if (!top_left_tile.Intersects(rect))
336 done(); 335 done();
337 } 336 }
338 337
339 TilingData::Iterator& TilingData::Iterator::operator++() { 338 TilingData::Iterator& TilingData::Iterator::operator++() {
340 if (!*this) 339 if (!*this)
341 return *this; 340 return *this;
342 341
343 index_x_++; 342 index_x_++;
344 if (index_x_ > right_) { 343 if (index_x_ > right_) {
345 index_x_ = left_; 344 index_x_ = left_;
346 index_y_++; 345 index_y_++;
347 if (index_y_ > bottom_) 346 if (index_y_ > bottom_)
348 done(); 347 done();
349 } 348 }
350 349
351 return *this; 350 return *this;
352 } 351 }
353 352
354 TilingData::DifferenceIterator::DifferenceIterator( 353 TilingData::DifferenceIterator::DifferenceIterator(
355 const TilingData* tiling_data, 354 const TilingData* tiling_data,
356 const gfx::Rect& consider_rect, 355 const gfx::Rect& consider_rect,
357 const gfx::Rect& ignore_rect) 356 const gfx::Rect& ignore_rect)
358 : BaseIterator(tiling_data), 357 : consider_left_(-1),
359 consider_left_(-1),
360 consider_top_(-1), 358 consider_top_(-1),
361 consider_right_(-1), 359 consider_right_(-1),
362 consider_bottom_(-1), 360 consider_bottom_(-1),
363 ignore_left_(-1), 361 ignore_left_(-1),
364 ignore_top_(-1), 362 ignore_top_(-1),
365 ignore_right_(-1), 363 ignore_right_(-1),
366 ignore_bottom_(-1) { 364 ignore_bottom_(-1) {
367 if (tiling_data_->num_tiles_x() <= 0 || tiling_data_->num_tiles_y() <= 0) { 365 if (tiling_data->num_tiles_x() <= 0 || tiling_data->num_tiles_y() <= 0) {
368 done(); 366 done();
369 return; 367 return;
370 } 368 }
371 369
372 gfx::Rect tiling_bounds_rect(tiling_data_->tiling_size()); 370 gfx::Rect tiling_bounds_rect(tiling_data->tiling_size());
373 gfx::Rect consider(consider_rect); 371 gfx::Rect consider(consider_rect);
374 gfx::Rect ignore(ignore_rect); 372 gfx::Rect ignore(ignore_rect);
375 consider.Intersect(tiling_bounds_rect); 373 consider.Intersect(tiling_bounds_rect);
376 ignore.Intersect(tiling_bounds_rect); 374 ignore.Intersect(tiling_bounds_rect);
377 if (consider.IsEmpty()) { 375 if (consider.IsEmpty()) {
378 done(); 376 done();
379 return; 377 return;
380 } 378 }
381 379
382 consider_left_ = tiling_data_->TileXIndexFromSrcCoord(consider.x()); 380 consider_left_ = tiling_data->TileXIndexFromSrcCoord(consider.x());
383 consider_top_ = tiling_data_->TileYIndexFromSrcCoord(consider.y()); 381 consider_top_ = tiling_data->TileYIndexFromSrcCoord(consider.y());
384 consider_right_ = tiling_data_->TileXIndexFromSrcCoord(consider.right() - 1); 382 consider_right_ = tiling_data->TileXIndexFromSrcCoord(consider.right() - 1);
385 consider_bottom_ = 383 consider_bottom_ = tiling_data->TileYIndexFromSrcCoord(consider.bottom() - 1);
386 tiling_data_->TileYIndexFromSrcCoord(consider.bottom() - 1);
387 384
388 if (!ignore.IsEmpty()) { 385 if (!ignore.IsEmpty()) {
389 ignore_left_ = tiling_data_->TileXIndexFromSrcCoord(ignore.x()); 386 ignore_left_ = tiling_data->TileXIndexFromSrcCoord(ignore.x());
390 ignore_top_ = tiling_data_->TileYIndexFromSrcCoord(ignore.y()); 387 ignore_top_ = tiling_data->TileYIndexFromSrcCoord(ignore.y());
391 ignore_right_ = tiling_data_->TileXIndexFromSrcCoord(ignore.right() - 1); 388 ignore_right_ = tiling_data->TileXIndexFromSrcCoord(ignore.right() - 1);
392 ignore_bottom_ = tiling_data_->TileYIndexFromSrcCoord(ignore.bottom() - 1); 389 ignore_bottom_ = tiling_data->TileYIndexFromSrcCoord(ignore.bottom() - 1);
393 390
394 // Clamp ignore indices to consider indices. 391 // Clamp ignore indices to consider indices.
395 ignore_left_ = std::max(ignore_left_, consider_left_); 392 ignore_left_ = std::max(ignore_left_, consider_left_);
396 ignore_top_ = std::max(ignore_top_, consider_top_); 393 ignore_top_ = std::max(ignore_top_, consider_top_);
397 ignore_right_ = std::min(ignore_right_, consider_right_); 394 ignore_right_ = std::min(ignore_right_, consider_right_);
398 ignore_bottom_ = std::min(ignore_bottom_, consider_bottom_); 395 ignore_bottom_ = std::min(ignore_bottom_, consider_bottom_);
399 } 396 }
400 397
401 if (ignore_left_ == consider_left_ && ignore_right_ == consider_right_ && 398 if (ignore_left_ == consider_left_ && ignore_right_ == consider_right_ &&
402 ignore_top_ == consider_top_ && ignore_bottom_ == consider_bottom_) { 399 ignore_top_ == consider_top_ && ignore_bottom_ == consider_bottom_) {
(...skipping 30 matching lines...) Expand all
433 } 430 }
434 } 431 }
435 432
436 if (index_y_ > consider_bottom_) 433 if (index_y_ > consider_bottom_)
437 done(); 434 done();
438 } 435 }
439 436
440 return *this; 437 return *this;
441 } 438 }
442 439
443 TilingData::SpiralDifferenceIterator::SpiralDifferenceIterator() 440 TilingData::SpiralDifferenceIterator::SpiralDifferenceIterator() {
444 : BaseIterator(nullptr) {
445 done(); 441 done();
446 } 442 }
447 443
448 TilingData::SpiralDifferenceIterator::SpiralDifferenceIterator( 444 TilingData::SpiralDifferenceIterator::SpiralDifferenceIterator(
449 const TilingData* tiling_data, 445 const TilingData* tiling_data,
450 const gfx::Rect& consider_rect, 446 const gfx::Rect& consider_rect,
451 const gfx::Rect& ignore_rect, 447 const gfx::Rect& ignore_rect,
452 const gfx::Rect& center_rect) 448 const gfx::Rect& center_rect)
453 : BaseIterator(tiling_data), 449 : consider_left_(-1),
454 consider_left_(-1),
455 consider_top_(-1), 450 consider_top_(-1),
456 consider_right_(-1), 451 consider_right_(-1),
457 consider_bottom_(-1), 452 consider_bottom_(-1),
458 ignore_left_(-1), 453 ignore_left_(-1),
459 ignore_top_(-1), 454 ignore_top_(-1),
460 ignore_right_(-1), 455 ignore_right_(-1),
461 ignore_bottom_(-1), 456 ignore_bottom_(-1),
462 direction_(RIGHT), 457 direction_(RIGHT),
463 delta_x_(1), 458 delta_x_(1),
464 delta_y_(0), 459 delta_y_(0),
465 current_step_(0), 460 current_step_(0),
466 horizontal_step_count_(0), 461 horizontal_step_count_(0),
467 vertical_step_count_(0) { 462 vertical_step_count_(0) {
468 if (tiling_data_->num_tiles_x() <= 0 || tiling_data_->num_tiles_y() <= 0) { 463 if (tiling_data->num_tiles_x() <= 0 || tiling_data->num_tiles_y() <= 0) {
469 done(); 464 done();
470 return; 465 return;
471 } 466 }
472 467
473 gfx::Rect tiling_bounds_rect(tiling_data_->tiling_size()); 468 gfx::Rect tiling_bounds_rect(tiling_data->tiling_size());
474 gfx::Rect consider(consider_rect); 469 gfx::Rect consider(consider_rect);
475 gfx::Rect ignore(ignore_rect); 470 gfx::Rect ignore(ignore_rect);
476 gfx::Rect center(center_rect); 471 gfx::Rect center(center_rect);
477 consider.Intersect(tiling_bounds_rect); 472 consider.Intersect(tiling_bounds_rect);
478 ignore.Intersect(tiling_bounds_rect); 473 ignore.Intersect(tiling_bounds_rect);
479 if (consider.IsEmpty()) { 474 if (consider.IsEmpty()) {
480 done(); 475 done();
481 return; 476 return;
482 } 477 }
483 478
484 consider_left_ = tiling_data_->TileXIndexFromSrcCoord(consider.x()); 479 consider_left_ = tiling_data->TileXIndexFromSrcCoord(consider.x());
485 consider_top_ = tiling_data_->TileYIndexFromSrcCoord(consider.y()); 480 consider_top_ = tiling_data->TileYIndexFromSrcCoord(consider.y());
486 consider_right_ = tiling_data_->TileXIndexFromSrcCoord(consider.right() - 1); 481 consider_right_ = tiling_data->TileXIndexFromSrcCoord(consider.right() - 1);
487 consider_bottom_ = 482 consider_bottom_ = tiling_data->TileYIndexFromSrcCoord(consider.bottom() - 1);
488 tiling_data_->TileYIndexFromSrcCoord(consider.bottom() - 1);
489 483
490 if (!ignore.IsEmpty()) { 484 if (!ignore.IsEmpty()) {
491 ignore_left_ = tiling_data_->TileXIndexFromSrcCoord(ignore.x()); 485 ignore_left_ = tiling_data->TileXIndexFromSrcCoord(ignore.x());
492 ignore_top_ = tiling_data_->TileYIndexFromSrcCoord(ignore.y()); 486 ignore_top_ = tiling_data->TileYIndexFromSrcCoord(ignore.y());
493 ignore_right_ = tiling_data_->TileXIndexFromSrcCoord(ignore.right() - 1); 487 ignore_right_ = tiling_data->TileXIndexFromSrcCoord(ignore.right() - 1);
494 ignore_bottom_ = tiling_data_->TileYIndexFromSrcCoord(ignore.bottom() - 1); 488 ignore_bottom_ = tiling_data->TileYIndexFromSrcCoord(ignore.bottom() - 1);
495 489
496 // Clamp ignore indices to consider indices. 490 // Clamp ignore indices to consider indices.
497 ignore_left_ = std::max(ignore_left_, consider_left_); 491 ignore_left_ = std::max(ignore_left_, consider_left_);
498 ignore_top_ = std::max(ignore_top_, consider_top_); 492 ignore_top_ = std::max(ignore_top_, consider_top_);
499 ignore_right_ = std::min(ignore_right_, consider_right_); 493 ignore_right_ = std::min(ignore_right_, consider_right_);
500 ignore_bottom_ = std::min(ignore_bottom_, consider_bottom_); 494 ignore_bottom_ = std::min(ignore_bottom_, consider_bottom_);
501 } 495 }
502 496
503 if (ignore_left_ == consider_left_ && ignore_right_ == consider_right_ && 497 if (ignore_left_ == consider_left_ && ignore_right_ == consider_right_ &&
504 ignore_top_ == consider_top_ && ignore_bottom_ == consider_bottom_) { 498 ignore_top_ == consider_top_ && ignore_bottom_ == consider_bottom_) {
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 653
660 current_step_ = 0; 654 current_step_ = 0;
661 direction_ = static_cast<Direction>((direction_ + 1) % 4); 655 direction_ = static_cast<Direction>((direction_ + 1) % 4);
662 656
663 if (direction_ == RIGHT || direction_ == LEFT) { 657 if (direction_ == RIGHT || direction_ == LEFT) {
664 ++vertical_step_count_; 658 ++vertical_step_count_;
665 ++horizontal_step_count_; 659 ++horizontal_step_count_;
666 } 660 }
667 } 661 }
668 662
669 TilingData::ReverseSpiralDifferenceIterator::ReverseSpiralDifferenceIterator() 663 TilingData::ReverseSpiralDifferenceIterator::ReverseSpiralDifferenceIterator() {
670 : BaseIterator(nullptr) {
671 done(); 664 done();
672 } 665 }
673 666
674 TilingData::ReverseSpiralDifferenceIterator::ReverseSpiralDifferenceIterator( 667 TilingData::ReverseSpiralDifferenceIterator::ReverseSpiralDifferenceIterator(
675 const TilingData* tiling_data, 668 const TilingData* tiling_data,
676 const gfx::Rect& consider_rect, 669 const gfx::Rect& consider_rect,
677 const gfx::Rect& ignore_rect, 670 const gfx::Rect& ignore_rect,
678 const gfx::Rect& center_rect) 671 const gfx::Rect& center_rect)
679 : BaseIterator(tiling_data), 672 : consider_left_(-1),
680 consider_left_(-1),
681 consider_top_(-1), 673 consider_top_(-1),
682 consider_right_(-1), 674 consider_right_(-1),
683 consider_bottom_(-1), 675 consider_bottom_(-1),
684 around_left_(-1), 676 around_left_(-1),
685 around_top_(-1), 677 around_top_(-1),
686 around_right_(-1), 678 around_right_(-1),
687 around_bottom_(-1), 679 around_bottom_(-1),
688 ignore_left_(-1), 680 ignore_left_(-1),
689 ignore_top_(-1), 681 ignore_top_(-1),
690 ignore_right_(-1), 682 ignore_right_(-1),
691 ignore_bottom_(-1), 683 ignore_bottom_(-1),
692 direction_(LEFT), 684 direction_(LEFT),
693 delta_x_(-1), 685 delta_x_(-1),
694 delta_y_(0), 686 delta_y_(0),
695 current_step_(0), 687 current_step_(0),
696 horizontal_step_count_(0), 688 horizontal_step_count_(0),
697 vertical_step_count_(0) { 689 vertical_step_count_(0) {
698 if (tiling_data_->num_tiles_x() <= 0 || tiling_data_->num_tiles_y() <= 0) { 690 if (tiling_data->num_tiles_x() <= 0 || tiling_data->num_tiles_y() <= 0) {
699 done(); 691 done();
700 return; 692 return;
701 } 693 }
702 694
703 gfx::Rect tiling_bounds_rect(tiling_data_->tiling_size()); 695 gfx::Rect tiling_bounds_rect(tiling_data->tiling_size());
704 gfx::Rect consider(consider_rect); 696 gfx::Rect consider(consider_rect);
705 gfx::Rect ignore(ignore_rect); 697 gfx::Rect ignore(ignore_rect);
706 gfx::Rect center(center_rect); 698 gfx::Rect center(center_rect);
707 consider.Intersect(tiling_bounds_rect); 699 consider.Intersect(tiling_bounds_rect);
708 ignore.Intersect(tiling_bounds_rect); 700 ignore.Intersect(tiling_bounds_rect);
709 if (consider.IsEmpty()) { 701 if (consider.IsEmpty()) {
710 done(); 702 done();
711 return; 703 return;
712 } 704 }
713 705
714 consider_left_ = tiling_data_->TileXIndexFromSrcCoord(consider.x()); 706 consider_left_ = tiling_data->TileXIndexFromSrcCoord(consider.x());
715 consider_top_ = tiling_data_->TileYIndexFromSrcCoord(consider.y()); 707 consider_top_ = tiling_data->TileYIndexFromSrcCoord(consider.y());
716 consider_right_ = tiling_data_->TileXIndexFromSrcCoord(consider.right() - 1); 708 consider_right_ = tiling_data->TileXIndexFromSrcCoord(consider.right() - 1);
717 consider_bottom_ = 709 consider_bottom_ = tiling_data->TileYIndexFromSrcCoord(consider.bottom() - 1);
718 tiling_data_->TileYIndexFromSrcCoord(consider.bottom() - 1);
719 710
720 if (!ignore.IsEmpty()) { 711 if (!ignore.IsEmpty()) {
721 ignore_left_ = tiling_data_->TileXIndexFromSrcCoord(ignore.x()); 712 ignore_left_ = tiling_data->TileXIndexFromSrcCoord(ignore.x());
722 ignore_top_ = tiling_data_->TileYIndexFromSrcCoord(ignore.y()); 713 ignore_top_ = tiling_data->TileYIndexFromSrcCoord(ignore.y());
723 ignore_right_ = tiling_data_->TileXIndexFromSrcCoord(ignore.right() - 1); 714 ignore_right_ = tiling_data->TileXIndexFromSrcCoord(ignore.right() - 1);
724 ignore_bottom_ = tiling_data_->TileYIndexFromSrcCoord(ignore.bottom() - 1); 715 ignore_bottom_ = tiling_data->TileYIndexFromSrcCoord(ignore.bottom() - 1);
725 716
726 // Clamp ignore indices to consider indices. 717 // Clamp ignore indices to consider indices.
727 ignore_left_ = std::max(ignore_left_, consider_left_); 718 ignore_left_ = std::max(ignore_left_, consider_left_);
728 ignore_top_ = std::max(ignore_top_, consider_top_); 719 ignore_top_ = std::max(ignore_top_, consider_top_);
729 ignore_right_ = std::min(ignore_right_, consider_right_); 720 ignore_right_ = std::min(ignore_right_, consider_right_);
730 ignore_bottom_ = std::min(ignore_bottom_, consider_bottom_); 721 ignore_bottom_ = std::min(ignore_bottom_, consider_bottom_);
731 } 722 }
732 723
733 if (ignore_left_ == consider_left_ && ignore_right_ == consider_right_ && 724 if (ignore_left_ == consider_left_ && ignore_right_ == consider_right_ &&
734 ignore_top_ == consider_top_ && ignore_bottom_ == consider_bottom_) { 725 ignore_top_ == consider_top_ && ignore_bottom_ == consider_bottom_) {
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
921 912
922 // We should always end up in an around rect at some point. 913 // We should always end up in an around rect at some point.
923 // Since the direction is now vertical, we have to ensure that we will 914 // Since the direction is now vertical, we have to ensure that we will
924 // advance. 915 // advance.
925 DCHECK_GE(horizontal_step_count_, 1); 916 DCHECK_GE(horizontal_step_count_, 1);
926 DCHECK_GE(vertical_step_count_, 1); 917 DCHECK_GE(vertical_step_count_, 1);
927 } 918 }
928 } 919 }
929 920
930 } // namespace cc 921 } // namespace cc
OLDNEW
« no previous file with comments | « cc/base/tiling_data.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698