Commit 24617a01 authored by Peter Boström's avatar Peter Boström Committed by Commit Bot

Introduce highlight-path generators to ash/

Replaces trivial cases of kHighlightPathKey with installing generators.
Follow-up CLs will deal with creating new generators for more-complex
cases.

Bug: chromium:1007546
Change-Id: Id5911c450a3a8da43eb3cce4051265da6a995f7a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1841660
Auto-Submit: Peter Boström <pbos@chromium.org>
Reviewed-by: default avatarAhmed Fakhry <afakhry@chromium.org>
Reviewed-by: default avatarTao Wu <wutao@chromium.org>
Reviewed-by: default avatarTetsui Ohkubo <tetsui@chromium.org>
Commit-Queue: Peter Boström <pbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#703609}
parent 1c1228be
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "ui/views/animation/ink_drop_impl.h" #include "ui/views/animation/ink_drop_impl.h"
#include "ui/views/border.h" #include "ui/views/border.h"
#include "ui/views/controls/button/image_button.h" #include "ui/views/controls/button/image_button.h"
#include "ui/views/controls/highlight_path_generator.h"
#include "ui/views/controls/image_view.h" #include "ui/views/controls/image_view.h"
#include "ui/views/controls/styled_label.h" #include "ui/views/controls/styled_label.h"
#include "ui/views/layout/box_layout.h" #include "ui/views/layout/box_layout.h"
...@@ -199,10 +200,7 @@ void PrivacyInfoView::InitCloseButton() { ...@@ -199,10 +200,7 @@ void PrivacyInfoView::InitCloseButton() {
close_button_->set_ink_drop_highlight_opacity(kInkDropHighlightOpacity); close_button_->set_ink_drop_highlight_opacity(kInkDropHighlightOpacity);
close_button_->set_ink_drop_base_color(kInkDropBaseColor); close_button_->set_ink_drop_base_color(kInkDropBaseColor);
close_button_->set_has_ink_drop_action_on_click(true); close_button_->set_has_ink_drop_action_on_click(true);
auto highlight_path = std::make_unique<SkPath>(); views::InstallCircleHighlightPathGenerator(close_button_);
highlight_path->addOval(gfx::RectToSkRect(gfx::Rect(close_button_->size())));
close_button_->SetProperty(views::kHighlightPathKey,
highlight_path.release());
row_container_->AddChildView(close_button_); row_container_->AddChildView(close_button_);
} }
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include "ui/views/animation/ink_drop_impl.h" #include "ui/views/animation/ink_drop_impl.h"
#include "ui/views/animation/ink_drop_mask.h" #include "ui/views/animation/ink_drop_mask.h"
#include "ui/views/border.h" #include "ui/views/border.h"
#include "ui/views/controls/highlight_path_generator.h"
#include "ui/views/controls/image_view.h" #include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h" #include "ui/views/controls/label.h"
#include "ui/views/layout/box_layout.h" #include "ui/views/layout/box_layout.h"
...@@ -48,10 +49,7 @@ FeaturePodIconButton::FeaturePodIconButton(views::ButtonListener* listener) ...@@ -48,10 +49,7 @@ FeaturePodIconButton::FeaturePodIconButton(views::ButtonListener* listener)
SetImageHorizontalAlignment(ALIGN_CENTER); SetImageHorizontalAlignment(ALIGN_CENTER);
SetImageVerticalAlignment(ALIGN_MIDDLE); SetImageVerticalAlignment(ALIGN_MIDDLE);
TrayPopupUtils::ConfigureTrayPopupButton(this); TrayPopupUtils::ConfigureTrayPopupButton(this);
views::InstallCircleHighlightPathGenerator(this);
auto path = std::make_unique<SkPath>();
path->addOval(gfx::RectToSkRect(gfx::Rect(kUnifiedFeaturePodIconSize)));
SetProperty(views::kHighlightPathKey, path.release());
} }
FeaturePodIconButton::~FeaturePodIconButton() = default; FeaturePodIconButton::~FeaturePodIconButton() = default;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include "ui/views/animation/ink_drop_highlight.h" #include "ui/views/animation/ink_drop_highlight.h"
#include "ui/views/animation/ink_drop_impl.h" #include "ui/views/animation/ink_drop_impl.h"
#include "ui/views/animation/ink_drop_mask.h" #include "ui/views/animation/ink_drop_mask.h"
#include "ui/views/controls/highlight_path_generator.h"
#include "ui/views/view_class_properties.h" #include "ui/views/view_class_properties.h"
namespace ash { namespace ash {
...@@ -57,9 +58,7 @@ TopShortcutButton::TopShortcutButton(views::ButtonListener* listener, ...@@ -57,9 +58,7 @@ TopShortcutButton::TopShortcutButton(views::ButtonListener* listener,
TrayPopupUtils::ConfigureTrayPopupButton(this); TrayPopupUtils::ConfigureTrayPopupButton(this);
auto path = std::make_unique<SkPath>(); views::InstallCircleHighlightPathGenerator(this);
path->addOval(gfx::RectToSkRect(gfx::Rect(CalculatePreferredSize())));
SetProperty(views::kHighlightPathKey, path.release());
} }
TopShortcutButton::~TopShortcutButton() = default; TopShortcutButton::~TopShortcutButton() = default;
...@@ -75,7 +74,7 @@ void TopShortcutButton::PaintButtonContents(gfx::Canvas* canvas) { ...@@ -75,7 +74,7 @@ void TopShortcutButton::PaintButtonContents(gfx::Canvas* canvas) {
AshColorProvider::ControlsLayerType::kInactiveControlBackground, AshColorProvider::ControlsLayerType::kInactiveControlBackground,
kUnifiedMenuButtonColor)); kUnifiedMenuButtonColor));
flags.setStyle(cc::PaintFlags::kFill_Style); flags.setStyle(cc::PaintFlags::kFill_Style);
canvas->DrawPath(*GetProperty(views::kHighlightPathKey), flags); canvas->DrawPath(views::GetHighlightPath(this), flags);
views::ImageButton::PaintButtonContents(canvas); views::ImageButton::PaintButtonContents(canvas);
} }
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "ui/views/accessibility/view_accessibility.h" #include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/animation/ink_drop_mask.h" #include "ui/views/animation/ink_drop_mask.h"
#include "ui/views/border.h" #include "ui/views/border.h"
#include "ui/views/controls/highlight_path_generator.h"
#include "ui/views/layout/box_layout.h" #include "ui/views/layout/box_layout.h"
#include "ui/views/view_class_properties.h" #include "ui/views/view_class_properties.h"
#include "ui/views/widget/widget.h" #include "ui/views/widget/widget.h"
...@@ -59,9 +60,7 @@ UnifiedSliderButton::UnifiedSliderButton(views::ButtonListener* listener, ...@@ -59,9 +60,7 @@ UnifiedSliderButton::UnifiedSliderButton(views::ButtonListener* listener,
: TopShortcutButton(listener, accessible_name_id) { : TopShortcutButton(listener, accessible_name_id) {
SetVectorIcon(icon); SetVectorIcon(icon);
SetBorder(views::CreateEmptyBorder(kUnifiedCircularButtonFocusPadding)); SetBorder(views::CreateEmptyBorder(kUnifiedCircularButtonFocusPadding));
auto path = std::make_unique<SkPath>(); views::InstallCircleHighlightPathGenerator(this);
path->addOval(gfx::RectToSkRect(gfx::Rect(CalculatePreferredSize())));
SetProperty(views::kHighlightPathKey, path.release());
} }
UnifiedSliderButton::~UnifiedSliderButton() = default; UnifiedSliderButton::~UnifiedSliderButton() = default;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment