1// Copyright 2013 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#ifndef UI_VIEWS_COREWM_TOOLTIP_H_
6#define UI_VIEWS_COREWM_TOOLTIP_H_
7
8#include "base/strings/string16.h"
9#include "ui/views/views_export.h"
10
11namespace aura {
12class Window;
13}
14
15namespace gfx {
16class Point;
17}
18
19namespace views {
20namespace corewm {
21
22// Tooltip is responsible for showing the tooltip in an appropriate manner.
23// Tooltip is used by TooltipController.
24class VIEWS_EXPORT Tooltip {
25 public:
26  virtual ~Tooltip() {}
27
28  // Updates the text on the tooltip and resizes to fit.
29  virtual void SetText(aura::Window* window,
30                       const base::string16& tooltip_text,
31                       const gfx::Point& location) = 0;
32
33  // Shows the tooltip at the specified location (in screen coordinates).
34  virtual void Show() = 0;
35
36  // Hides the tooltip.
37  virtual void Hide() = 0;
38
39  // Is the tooltip visibile?
40  virtual bool IsVisible() = 0;
41};
42
43}  // namespace corewm
44}  // namespace views
45
46#endif  // UI_VIEWS_COREWM_TOOLTIP_H_
47