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

Side by Side Diff: chrome/browser/android/compositor/layer/contextual_search_layer.cc

Issue 2449653002: [Contextual Search] Add support for a static icon (Closed)
Patch Set: [Contextual Search] Add support for a static icon Created 4 years, 1 month 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/android/compositor/layer/contextual_search_layer.h" 5 #include "chrome/browser/android/compositor/layer/contextual_search_layer.h"
6 6
7 #include "cc/layers/layer.h" 7 #include "cc/layers/layer.h"
8 #include "cc/layers/nine_patch_layer.h" 8 #include "cc/layers/nine_patch_layer.h"
9 #include "cc/layers/solid_color_layer.h" 9 #include "cc/layers/solid_color_layer.h"
10 #include "cc/layers/ui_resource_layer.h" 10 #include "cc/layers/ui_resource_layer.h"
(...skipping 25 matching lines...) Expand all
36 ui::ResourceManager* resource_manager) { 36 ui::ResourceManager* resource_manager) {
37 return make_scoped_refptr(new ContextualSearchLayer(resource_manager)); 37 return make_scoped_refptr(new ContextualSearchLayer(resource_manager));
38 } 38 }
39 39
40 void ContextualSearchLayer::SetProperties( 40 void ContextualSearchLayer::SetProperties(
41 int panel_shadow_resource_id, 41 int panel_shadow_resource_id,
42 int search_context_resource_id, 42 int search_context_resource_id,
43 int search_term_resource_id, 43 int search_term_resource_id,
44 int search_caption_resource_id, 44 int search_caption_resource_id,
45 int search_bar_shadow_resource_id, 45 int search_bar_shadow_resource_id,
46 int panel_icon_resource_id, 46 int sprite_resource_id,
47 int search_provider_icon_sprite_metadata_resource_id, 47 int search_provider_icon_sprite_metadata_resource_id,
48 int static_icon_resource_id,
48 int arrow_up_resource_id, 49 int arrow_up_resource_id,
49 int close_icon_resource_id, 50 int close_icon_resource_id,
50 int progress_bar_background_resource_id, 51 int progress_bar_background_resource_id,
51 int progress_bar_resource_id, 52 int progress_bar_resource_id,
52 int search_promo_resource_id, 53 int search_promo_resource_id,
53 int peek_promo_ripple_resource_id, 54 int peek_promo_ripple_resource_id,
54 int peek_promo_text_resource_id, 55 int peek_promo_text_resource_id,
55 float dp_to_px, 56 float dp_to_px,
56 const scoped_refptr<cc::Layer>& content_layer, 57 const scoped_refptr<cc::Layer>& content_layer,
57 bool search_promo_visible, 58 bool search_promo_visible,
(...skipping 16 matching lines...) Expand all
74 float search_term_opacity, 75 float search_term_opacity,
75 float search_term_caption_spacing, 76 float search_term_caption_spacing,
76 float search_caption_animation_percentage, 77 float search_caption_animation_percentage,
77 bool search_caption_visible, 78 bool search_caption_visible,
78 bool search_bar_border_visible, 79 bool search_bar_border_visible,
79 float search_bar_border_height, 80 float search_bar_border_height,
80 bool search_bar_shadow_visible, 81 bool search_bar_shadow_visible,
81 float search_bar_shadow_opacity, 82 float search_bar_shadow_opacity,
82 bool search_provider_icon_sprite_visible, 83 bool search_provider_icon_sprite_visible,
83 float search_provider_icon_sprite_completion_percentage, 84 float search_provider_icon_sprite_completion_percentage,
85 bool static_icon_visible,
84 bool thumbnail_visible, 86 bool thumbnail_visible,
85 float thumbnail_visibility_percentage, 87 float static_image_visibility_percentage,
86 int thumbnail_size, 88 int static_image_size,
87 float arrow_icon_opacity, 89 float arrow_icon_opacity,
88 float arrow_icon_rotation, 90 float arrow_icon_rotation,
89 float close_icon_opacity, 91 float close_icon_opacity,
90 bool progress_bar_visible, 92 bool progress_bar_visible,
91 float progress_bar_height, 93 float progress_bar_height,
92 float progress_bar_opacity, 94 float progress_bar_opacity,
93 int progress_bar_completion) { 95 int progress_bar_completion) {
94 96
95 // Round values to avoid pixel gap between layers. 97 // Round values to avoid pixel gap between layers.
96 search_bar_height = floor(search_bar_height); 98 search_bar_height = floor(search_bar_height);
97 99
98 float search_bar_top = search_peek_promo_height; 100 float search_bar_top = search_peek_promo_height;
99 float search_bar_bottom = search_bar_top + search_bar_height; 101 float search_bar_bottom = search_bar_top + search_bar_height;
100 bool should_render_progress_bar = 102 bool should_render_progress_bar =
101 progress_bar_visible && progress_bar_opacity > 0.f; 103 progress_bar_visible && progress_bar_opacity > 0.f;
102 104
103 OverlayPanelLayer::SetResourceIds( 105 OverlayPanelLayer::SetResourceIds(
104 search_term_resource_id, 106 search_term_resource_id,
105 panel_shadow_resource_id, 107 panel_shadow_resource_id,
106 search_bar_shadow_resource_id, 108 search_bar_shadow_resource_id,
107 panel_icon_resource_id, 109 sprite_resource_id,
108 close_icon_resource_id); 110 close_icon_resource_id);
109 111
110 float content_view_top = search_bar_bottom + search_promo_height; 112 float content_view_top = search_bar_bottom + search_promo_height;
111 float should_render_bar_border = search_bar_border_visible 113 float should_render_bar_border = search_bar_border_visible
112 && !should_render_progress_bar; 114 && !should_render_progress_bar;
113 115
114 // ----------------------------------------------------------------- 116 // -----------------------------------------------------------------
115 // Overlay Panel 117 // Overlay Panel
116 // ----------------------------------------------------------------- 118 // -----------------------------------------------------------------
117 OverlayPanelLayer::SetProperties( 119 OverlayPanelLayer::SetProperties(
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 if (progress_bar_background_.get() && progress_bar_background_->parent()) 373 if (progress_bar_background_.get() && progress_bar_background_->parent())
372 progress_bar_background_->RemoveFromParent(); 374 progress_bar_background_->RemoveFromParent();
373 375
374 if (progress_bar_.get() && progress_bar_->parent()) 376 if (progress_bar_.get() && progress_bar_->parent())
375 progress_bar_->RemoveFromParent(); 377 progress_bar_->RemoveFromParent();
376 } 378 }
377 379
378 // --------------------------------------------------------------------------- 380 // ---------------------------------------------------------------------------
379 // Icon Layer 381 // Icon Layer
380 // --------------------------------------------------------------------------- 382 // ---------------------------------------------------------------------------
381 thumbnail_size_ = thumbnail_size; 383 static_image_size_ = static_image_size;
382 SetupIconLayer(search_provider_icon_sprite_visible, 384 SetupIconLayer(search_provider_icon_sprite_visible,
383 search_provider_icon_sprite_metadata_resource_id, 385 search_provider_icon_sprite_metadata_resource_id,
384 search_provider_icon_sprite_completion_percentage, 386 search_provider_icon_sprite_completion_percentage,
387 static_icon_visible,
388 static_icon_resource_id,
385 thumbnail_visible, 389 thumbnail_visible,
386 thumbnail_visibility_percentage); 390 static_image_visibility_percentage);
387 } 391 }
388 392
389 scoped_refptr<cc::Layer> ContextualSearchLayer::GetIconLayer() { 393 scoped_refptr<cc::Layer> ContextualSearchLayer::GetIconLayer() {
390 return icon_layer_; 394 return icon_layer_;
391 } 395 }
392 396
393 void ContextualSearchLayer::SetupIconLayer( 397 void ContextualSearchLayer::SetupIconLayer(
394 bool search_provider_icon_sprite_visible, 398 bool search_provider_icon_sprite_visible,
395 int search_provider_icon_sprite_metadata_resource_id, 399 int search_provider_icon_sprite_metadata_resource_id,
396 float search_provider_icon_sprite_completion_percentage, 400 float search_provider_icon_sprite_completion_percentage,
401 bool static_icon_visible,
402 int static_icon_resource_id,
397 bool thumbnail_visible, 403 bool thumbnail_visible,
398 float thumbnail_visibility_percentage) { 404 float static_image_visibility_percentage) {
399 icon_layer_->SetBounds(gfx::Size(thumbnail_size_, thumbnail_size_)); 405 icon_layer_->SetBounds(gfx::Size(static_image_size_, static_image_size_));
400 icon_layer_->SetMasksToBounds(true); 406 icon_layer_->SetMasksToBounds(true);
401 407
408 scoped_refptr<cc::UIResourceLayer> static_image_layer;
409
410 if (static_icon_visible) {
411 if (static_icon_layer_->parent() != icon_layer_)
412 icon_layer_->AddChild(static_icon_layer_);
413
414 ui::ResourceManager::Resource* static_icon_resource =
415 resource_manager_->GetResource(ui::ANDROID_RESOURCE_TYPE_STATIC,
416 static_icon_resource_id);
417 static_icon_layer_->SetUIResourceId(
418 static_icon_resource->ui_resource->id());
419 static_icon_layer_->SetBounds(gfx::Size(static_image_size_,
420 static_image_size_));
421
422 SetStaticImageProperties(static_icon_layer_, 0, 0,
423 static_image_visibility_percentage);
424 } else if (static_icon_layer_->parent()) {
425 static_icon_layer_->RemoveFromParent();
426 }
427
402 // Thumbnail 428 // Thumbnail
403 if (thumbnail_visible) { 429 if (!static_icon_visible && thumbnail_visible) {
404 if (thumbnail_layer_->parent() != icon_layer_) 430 if (thumbnail_layer_->parent() != icon_layer_)
405 icon_layer_->AddChild(thumbnail_layer_); 431 icon_layer_->AddChild(thumbnail_layer_);
406 432
407 thumbnail_layer_->SetOpacity(thumbnail_visibility_percentage); 433 SetStaticImageProperties(thumbnail_layer_,
408 434 thumbnail_top_margin_,
409 // When animating, the thumbnail and icon sprite slide through 435 thumbnail_side_margin_,
410 // |icon_layer_|. This effect is achieved by changing the y-offset 436 static_image_visibility_percentage);
411 // for each child layer.
412 // If the thumbnail has a height less than |thumbnail_size_|, it will have
413 // a top margin that needs to be accounted for while running the
414 // animation. The final |thumbnail_y_offset| should be equal to
415 // |thumbnail_top_margin_|.
416 float thumbnail_y_offset =
417 (thumbnail_size_ * (1.f - thumbnail_visibility_percentage))
418 + thumbnail_top_margin_;
419 thumbnail_layer_->SetPosition(
420 gfx::PointF(thumbnail_side_margin_, thumbnail_y_offset));
421 } else if (thumbnail_layer_->parent()) { 437 } else if (thumbnail_layer_->parent()) {
422 thumbnail_layer_->RemoveFromParent(); 438 thumbnail_layer_->RemoveFromParent();
423 } 439 }
424 440
425 // Search Provider Icon Sprite 441 // Search Provider Icon Sprite
426 if (search_provider_icon_sprite_visible) { 442 if (search_provider_icon_sprite_visible) {
427 if (search_provider_icon_sprite_->layer()->parent() != icon_layer_) 443 if (search_provider_icon_sprite_->layer()->parent() != icon_layer_)
428 icon_layer_->AddChild(search_provider_icon_sprite_->layer().get()); 444 icon_layer_->AddChild(search_provider_icon_sprite_->layer().get());
429 445
430 search_provider_icon_sprite_->DrawSpriteFrame( 446 search_provider_icon_sprite_->DrawSpriteFrame(
431 resource_manager_, 447 resource_manager_,
432 panel_icon_resource_id_, 448 panel_icon_resource_id_,
433 search_provider_icon_sprite_metadata_resource_id, 449 search_provider_icon_sprite_metadata_resource_id,
434 search_provider_icon_sprite_completion_percentage); 450 search_provider_icon_sprite_completion_percentage);
435 451
436 search_provider_icon_sprite_->layer()->SetOpacity( 452 search_provider_icon_sprite_->layer()->SetOpacity(
437 1.f - thumbnail_visibility_percentage); 453 1.f - static_image_visibility_percentage);
438 454
439 float icon_y_offset = 455 float icon_y_offset =
440 -(thumbnail_size_ * thumbnail_visibility_percentage); 456 -(static_image_size_ * static_image_visibility_percentage);
441 search_provider_icon_sprite_->layer()->SetPosition( 457 search_provider_icon_sprite_->layer()->SetPosition(
442 gfx::PointF(0.f, icon_y_offset)); 458 gfx::PointF(0.f, icon_y_offset));
443 459
444 } else if (search_provider_icon_sprite_->layer().get() && 460 } else if (search_provider_icon_sprite_->layer().get() &&
445 search_provider_icon_sprite_->layer()->parent()) { 461 search_provider_icon_sprite_->layer()->parent()) {
446 search_provider_icon_sprite_->layer()->RemoveFromParent(); 462 search_provider_icon_sprite_->layer()->RemoveFromParent();
447 } 463 }
448 } 464 }
449 465
466 void ContextualSearchLayer::SetStaticImageProperties(
467 scoped_refptr<cc::UIResourceLayer> static_image_layer,
468 float top_margin,
469 float side_margin,
470 float visibility_percentage) {
471 static_image_layer->SetOpacity(visibility_percentage);
472
473 // When animating, the static image and icon sprite slide through
474 // |icon_layer_|. This effect is achieved by changing the y-offset
475 // for each child layer.
476 // If the static image has a height less than |static_image_size_|, it will
477 // have a top margin that needs to be accounted for while running the
478 // animation. The final |static_image_y_offset| should be equal to
479 // |tpp_margin|.
480 float thumbnail_y_offset =
Donn Denman 2016/10/24 23:56:20 Nit: change to static_image_y_offset.
Theresa 2016/10/25 00:32:48 Done.
481 (static_image_size_ * (1.f - visibility_percentage))
482 + top_margin;
483 static_image_layer->SetPosition(
484 gfx::PointF(side_margin, thumbnail_y_offset));
485 }
486
450 void ContextualSearchLayer::SetupTextLayer( 487 void ContextualSearchLayer::SetupTextLayer(
451 float bar_top, 488 float bar_top,
452 float bar_height, 489 float bar_height,
453 float search_text_layer_min_height, 490 float search_text_layer_min_height,
454 int caption_resource_id, 491 int caption_resource_id,
455 bool caption_visible, 492 bool caption_visible,
456 float animation_percentage, 493 float animation_percentage,
457 int context_resource_id, 494 int context_resource_id,
458 float context_opacity, 495 float context_opacity,
459 float term_caption_spacing) { 496 float term_caption_spacing) {
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 float caption_top = layer_height * (1.f - animation_percentage) 606 float caption_top = layer_height * (1.f - animation_percentage)
570 + caption_top_end * animation_percentage; 607 + caption_top_end * animation_percentage;
571 608
572 bar_text_->SetPosition(gfx::PointF(0.f, term_top)); 609 bar_text_->SetPosition(gfx::PointF(0.f, term_top));
573 search_context_->SetPosition(gfx::PointF(0.f, term_top)); 610 search_context_->SetPosition(gfx::PointF(0.f, term_top));
574 search_caption_->SetPosition(gfx::PointF(0.f, caption_top)); 611 search_caption_->SetPosition(gfx::PointF(0.f, caption_top));
575 } 612 }
576 613
577 void ContextualSearchLayer::SetThumbnail(const SkBitmap* thumbnail) { 614 void ContextualSearchLayer::SetThumbnail(const SkBitmap* thumbnail) {
578 // Determine the scaled thumbnail width and height. If both the height and 615 // Determine the scaled thumbnail width and height. If both the height and
579 // width of |thumbnail| are larger than |thumbnail_size_|, the thumbnail will 616 // width of |thumbnail| are larger than |static_image_size_|, the thumbnail
580 // be scaled down by a call to Layer::SetBounds() below. 617 // will be scaled down by a call to Layer::SetBounds() below.
581 int min_dimension = std::min(thumbnail->width(), thumbnail->height()); 618 int min_dimension = std::min(thumbnail->width(), thumbnail->height());
582 int scaled_thumbnail_width = thumbnail->width(); 619 int scaled_thumbnail_width = thumbnail->width();
583 int scaled_thumbnail_height = thumbnail->height(); 620 int scaled_thumbnail_height = thumbnail->height();
584 if (min_dimension > thumbnail_size_) { 621 if (min_dimension > static_image_size_) {
585 scaled_thumbnail_width = 622 scaled_thumbnail_width =
586 scaled_thumbnail_width * thumbnail_size_ / min_dimension; 623 scaled_thumbnail_width * static_image_size_ / min_dimension;
587 scaled_thumbnail_height = 624 scaled_thumbnail_height =
588 scaled_thumbnail_height * thumbnail_size_ / min_dimension; 625 scaled_thumbnail_height * static_image_size_ / min_dimension;
589 } 626 }
590 627
591 // Determine the UV transform coordinates. This will crop the thumbnail. 628 // Determine the UV transform coordinates. This will crop the thumbnail.
592 // (0, 0) is the default top left corner. (1, 1) is the default bottom 629 // (0, 0) is the default top left corner. (1, 1) is the default bottom
593 // right corner. 630 // right corner.
594 float top_left_x = 0; 631 float top_left_x = 0;
595 float top_left_y = 0; 632 float top_left_y = 0;
596 float bottom_right_x = 1; 633 float bottom_right_x = 1;
597 float bottom_right_y = 1; 634 float bottom_right_y = 1;
598 635
599 if (scaled_thumbnail_width > thumbnail_size_) { 636 if (scaled_thumbnail_width > static_image_size_) {
600 // Crop an even amount on the left and right sides of the thumbnail. 637 // Crop an even amount on the left and right sides of the thumbnail.
601 float top_left_x_px = (scaled_thumbnail_width - thumbnail_size_) / 2.f; 638 float top_left_x_px = (scaled_thumbnail_width - static_image_size_) / 2.f;
602 float bottom_right_x_px = top_left_x_px + thumbnail_size_; 639 float bottom_right_x_px = top_left_x_px + static_image_size_;
603 640
604 top_left_x = top_left_x_px / scaled_thumbnail_width; 641 top_left_x = top_left_x_px / scaled_thumbnail_width;
605 bottom_right_x = bottom_right_x_px / scaled_thumbnail_width; 642 bottom_right_x = bottom_right_x_px / scaled_thumbnail_width;
606 } else if (scaled_thumbnail_height > thumbnail_size_) { 643 } else if (scaled_thumbnail_height > static_image_size_) {
607 // Crop an even amount on the top and bottom of the thumbnail. 644 // Crop an even amount on the top and bottom of the thumbnail.
608 float top_left_y_px = (scaled_thumbnail_height - thumbnail_size_) / 2.f; 645 float top_left_y_px = (scaled_thumbnail_height - static_image_size_) / 2.f;
609 float bottom_right_y_px = top_left_y_px + thumbnail_size_; 646 float bottom_right_y_px = top_left_y_px + static_image_size_;
610 647
611 top_left_y = top_left_y_px / scaled_thumbnail_height; 648 top_left_y = top_left_y_px / scaled_thumbnail_height;
612 bottom_right_y = bottom_right_y_px / scaled_thumbnail_height; 649 bottom_right_y = bottom_right_y_px / scaled_thumbnail_height;
613 } 650 }
614 651
615 // If the original |thumbnail| height or width is smaller than 652 // If the original |thumbnail| height or width is smaller than
616 // |thumbnail_size_| determine the side and top margins needed to center 653 // |static_image_size_| determine the side and top margins needed to center
617 // the thumbnail. 654 // the thumbnail.
618 thumbnail_side_margin_ = 0; 655 thumbnail_side_margin_ = 0;
619 thumbnail_top_margin_ = 0; 656 thumbnail_top_margin_ = 0;
620 657
621 if (scaled_thumbnail_width < thumbnail_size_) { 658 if (scaled_thumbnail_width < static_image_size_) {
622 thumbnail_side_margin_ = (thumbnail_size_ - scaled_thumbnail_width) / 2.f; 659 thumbnail_side_margin_ =
660 (static_image_size_ - scaled_thumbnail_width) / 2.f;
623 } 661 }
624 662
625 if (scaled_thumbnail_height < thumbnail_size_) { 663 if (scaled_thumbnail_height < static_image_size_) {
626 thumbnail_top_margin_ = (thumbnail_size_ - scaled_thumbnail_height) / 2.f; 664 thumbnail_top_margin_ =
665 (static_image_size_ - scaled_thumbnail_height) / 2.f;
627 } 666 }
628 667
629 // Determine the layer bounds. This will down scale the thumbnail if 668 // Determine the layer bounds. This will down scale the thumbnail if
630 // necessary and ensure it is displayed at |thumbnail_size_|. If 669 // necessary and ensure it is displayed at |static_image_size_|. If
631 // either the original |thumbnail| height or width is smaller than 670 // either the original |thumbnail| height or width is smaller than
632 // |thumbnail_size_|, the thumbnail will not be scaled. 671 // |static_image_size_|, the thumbnail will not be scaled.
633 int layer_width = std::min(thumbnail_size_, scaled_thumbnail_width); 672 int layer_width = std::min(static_image_size_, scaled_thumbnail_width);
634 int layer_height = std::min(thumbnail_size_, scaled_thumbnail_height); 673 int layer_height = std::min(static_image_size_, scaled_thumbnail_height);
635 674
636 // UIResourceLayer requires an immutable copy of the input |thumbnail|. 675 // UIResourceLayer requires an immutable copy of the input |thumbnail|.
637 SkBitmap thumbnail_copy; 676 SkBitmap thumbnail_copy;
638 if (thumbnail->isImmutable()) { 677 if (thumbnail->isImmutable()) {
639 thumbnail_copy = *thumbnail; 678 thumbnail_copy = *thumbnail;
640 } else { 679 } else {
641 thumbnail->copyTo(&thumbnail_copy); 680 thumbnail->copyTo(&thumbnail_copy);
642 thumbnail_copy.setImmutable(); 681 thumbnail_copy.setImmutable();
643 } 682 }
644 683
645 thumbnail_layer_->SetBitmap(thumbnail_copy); 684 thumbnail_layer_->SetBitmap(thumbnail_copy);
646 thumbnail_layer_->SetBounds(gfx::Size(layer_width, layer_height)); 685 thumbnail_layer_->SetBounds(gfx::Size(layer_width, layer_height));
647 thumbnail_layer_->SetPosition( 686 thumbnail_layer_->SetPosition(
648 gfx::PointF(thumbnail_side_margin_, thumbnail_top_margin_)); 687 gfx::PointF(thumbnail_side_margin_, thumbnail_top_margin_));
649 thumbnail_layer_->SetUV(gfx::PointF(top_left_x, top_left_y), 688 thumbnail_layer_->SetUV(gfx::PointF(top_left_x, top_left_y),
650 gfx::PointF(bottom_right_x, bottom_right_y)); 689 gfx::PointF(bottom_right_x, bottom_right_y));
651 } 690 }
652 691
653 ContextualSearchLayer::ContextualSearchLayer( 692 ContextualSearchLayer::ContextualSearchLayer(
654 ui::ResourceManager* resource_manager) 693 ui::ResourceManager* resource_manager)
655 : OverlayPanelLayer(resource_manager), 694 : OverlayPanelLayer(resource_manager),
656 search_context_(cc::UIResourceLayer::Create()), 695 search_context_(cc::UIResourceLayer::Create()),
657 icon_layer_(cc::Layer::Create()), 696 icon_layer_(cc::Layer::Create()),
658 search_provider_icon_sprite_(CrushedSpriteLayer::Create()), 697 search_provider_icon_sprite_(CrushedSpriteLayer::Create()),
659 thumbnail_layer_(cc::UIResourceLayer::Create()), 698 thumbnail_layer_(cc::UIResourceLayer::Create()),
699 static_icon_layer_(cc::UIResourceLayer::Create()),
660 arrow_icon_(cc::UIResourceLayer::Create()), 700 arrow_icon_(cc::UIResourceLayer::Create()),
661 search_promo_(cc::UIResourceLayer::Create()), 701 search_promo_(cc::UIResourceLayer::Create()),
662 search_promo_container_(cc::SolidColorLayer::Create()), 702 search_promo_container_(cc::SolidColorLayer::Create()),
663 peek_promo_container_(cc::SolidColorLayer::Create()), 703 peek_promo_container_(cc::SolidColorLayer::Create()),
664 peek_promo_ripple_(cc::NinePatchLayer::Create()), 704 peek_promo_ripple_(cc::NinePatchLayer::Create()),
665 peek_promo_text_(cc::UIResourceLayer::Create()), 705 peek_promo_text_(cc::UIResourceLayer::Create()),
666 progress_bar_(cc::NinePatchLayer::Create()), 706 progress_bar_(cc::NinePatchLayer::Create()),
667 progress_bar_background_(cc::NinePatchLayer::Create()), 707 progress_bar_background_(cc::NinePatchLayer::Create()),
668 search_caption_(cc::UIResourceLayer::Create()), 708 search_caption_(cc::UIResourceLayer::Create()),
669 text_layer_(cc::UIResourceLayer::Create()) { 709 text_layer_(cc::UIResourceLayer::Create()) {
(...skipping 22 matching lines...) Expand all
692 search_promo_->SetIsDrawable(true); 732 search_promo_->SetIsDrawable(true);
693 733
694 // Progress Bar Background 734 // Progress Bar Background
695 progress_bar_background_->SetIsDrawable(true); 735 progress_bar_background_->SetIsDrawable(true);
696 progress_bar_background_->SetFillCenter(true); 736 progress_bar_background_->SetFillCenter(true);
697 737
698 // Progress Bar 738 // Progress Bar
699 progress_bar_->SetIsDrawable(true); 739 progress_bar_->SetIsDrawable(true);
700 progress_bar_->SetFillCenter(true); 740 progress_bar_->SetFillCenter(true);
701 741
702 // Icon 742 // Icon - holds thumbnail, search provider sprite and/or static icon
703 icon_layer_->SetIsDrawable(true); 743 icon_layer_->SetIsDrawable(true);
704 layer_->AddChild(icon_layer_); 744 layer_->AddChild(icon_layer_);
705 745
706 // Thumbnail 746 // Thumbnail
707 thumbnail_layer_->SetIsDrawable(true); 747 thumbnail_layer_->SetIsDrawable(true);
708 748
749 // Static icon
750 static_icon_layer_->SetIsDrawable(true);
751
709 // Content layer 752 // Content layer
710 text_layer_->SetIsDrawable(true); 753 text_layer_->SetIsDrawable(true);
711 // NOTE(mdjones): This can be called multiple times to add other text layers. 754 // NOTE(mdjones): This can be called multiple times to add other text layers.
712 AddBarTextLayer(text_layer_); 755 AddBarTextLayer(text_layer_);
713 text_layer_->AddChild(search_context_); 756 text_layer_->AddChild(search_context_);
714 } 757 }
715 758
716 ContextualSearchLayer::~ContextualSearchLayer() { 759 ContextualSearchLayer::~ContextualSearchLayer() {
717 } 760 }
718 761
719 } // namespace android 762 } // namespace android
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698