tooltip_manager.cc revision 5f1c94371a64b3196d4be9466099bb892df9b88e
1// Copyright (c) 2011 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/widget/tooltip_manager.h" 6 7#include "ui/gfx/rect.h" 8#include "ui/gfx/screen.h" 9#include "ui/gfx/text_elider.h" 10 11namespace views { 12 13const size_t kMaxTooltipLength = 1024; 14 15// static 16const char TooltipManager::kGroupingPropertyKey[] = "GroupingPropertyKey"; 17 18// static 19int TooltipManager::GetMaxWidth(int x, int y, gfx::NativeView context) { 20 return GetMaxWidth(gfx::Screen::GetScreenFor(context)->GetDisplayNearestPoint( 21 gfx::Point(x, y))); 22} 23 24// static 25int TooltipManager::GetMaxWidth(const gfx::Display& display) { 26 return (display.bounds().width() + 1) / 2; 27} 28 29// static 30void TooltipManager::TrimTooltipText(base::string16* text) { 31 // Clamp the tooltip length to kMaxTooltipLength so that we don't 32 // accidentally DOS the user with a mega tooltip. 33 *text = gfx::TruncateString(*text, kMaxTooltipLength, gfx::WORD_BREAK); 34} 35 36} // namespace views 37