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