14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// found in the LICENSE file.
44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#ifndef UI_VIEWS_COREWM_TOOLTIP_H_
64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#define UI_VIEWS_COREWM_TOOLTIP_H_
74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "base/strings/string16.h"
94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "ui/views/views_export.h"
104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace aura {
124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class Window;
134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}
144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace gfx {
164e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class Point;
174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}
184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace views {
204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace corewm {
214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Tooltip is responsible for showing the tooltip in an appropriate manner.
234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Tooltip is used by TooltipController.
244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class VIEWS_EXPORT Tooltip {
254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) public:
264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual ~Tooltip() {}
274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
284e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  // Updates the text on the tooltip and resizes to fit.
294e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual void SetText(aura::Window* window,
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                       const base::string16& tooltip_text,
314e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)                       const gfx::Point& location) = 0;
324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  // Shows the tooltip at the specified location (in screen coordinates).
344e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual void Show() = 0;
354e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
364e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  // Hides the tooltip.
374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual void Hide() = 0;
384e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
394e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  // Is the tooltip visibile?
404e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual bool IsVisible() = 0;
414e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)};
424e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
434e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}  // namespace corewm
444e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}  // namespace views
454e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
464e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#endif  // UI_VIEWS_COREWM_TOOLTIP_H_
47