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
3// found in the LICENSE file.
4
5#include "ui/views/views_export.h"
6#include "ui/wm/core/masked_window_targeter.h"
7
8namespace aura {
9class Window;
10}
11
12namespace views {
13class BubbleDelegateView;
14
15// A convenient window-targeter that uses a mask based on the content-bounds of
16// the bubble-frame.
17class VIEWS_EXPORT BubbleWindowTargeter
18    : public NON_EXPORTED_BASE(wm::MaskedWindowTargeter) {
19 public:
20  explicit BubbleWindowTargeter(BubbleDelegateView* bubble);
21  virtual ~BubbleWindowTargeter();
22
23 private:
24  // wm::MaskedWindowTargeter:
25  virtual bool GetHitTestMask(aura::Window* window,
26                              gfx::Path* mask) const OVERRIDE;
27
28  views::BubbleDelegateView* bubble_;
29
30  DISALLOW_COPY_AND_ASSIGN(BubbleWindowTargeter);
31};
32
33}  // namespace views
34