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

Unified Diff: ui/views/animation/ink_drop_host_view.h

Issue 2499523003: Add ink drop masking to TrayBackgroundView (Closed)
Patch Set: Addressed review comments 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 side-by-side diff with in-line comments
Download patch
Index: ui/views/animation/ink_drop_host_view.h
diff --git a/ui/views/animation/ink_drop_host_view.h b/ui/views/animation/ink_drop_host_view.h
index 3419e531a653e71933f4d221bb4597f2dea17923..eb442da765e5110dbf5b98f16444cb29a20e6714 100644
--- a/ui/views/animation/ink_drop_host_view.h
+++ b/ui/views/animation/ink_drop_host_view.h
@@ -16,6 +16,7 @@
namespace views {
class InkDropImpl;
+class InkDropMask;
namespace test {
class InkDropHostViewTestApi;
@@ -87,6 +88,7 @@ class VIEWS_EXPORT InkDropHostView : public View, public InkDropHost {
void AnimateInkDrop(InkDropState state, const ui::LocatedEvent* event);
// View:
+ void OnBoundsChanged(const gfx::Rect& previous_bounds) override;
void VisibilityChanged(View* starting_from, bool is_visible) override;
void OnFocus() override;
void OnBlur() override;
@@ -96,6 +98,10 @@ class VIEWS_EXPORT InkDropHostView : public View, public InkDropHost {
// ink drop.
virtual SkColor GetInkDropBaseColor() const;
+ // Subclasses can override to return a mask for the ink drop. By default,
+ // returns nullptr (i.e no mask).
+ virtual std::unique_ptr<views::InkDropMask> CreateInkDropMask() const;
+
// Provides access to |ink_drop_|. Implements lazy initialization of
// |ink_drop_| so as to avoid virtual method calls during construction since
// subclasses should be able to call SetInkDropMode() during construction.
@@ -137,6 +143,8 @@ class VIEWS_EXPORT InkDropHostView : public View, public InkDropHost {
bool destroying_;
+ std::unique_ptr<views::InkDropMask> ink_drop_mask_;
+
DISALLOW_COPY_AND_ASSIGN(InkDropHostView);
};
} // namespace views

Powered by Google App Engine
This is Rietveld 408576698