OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/views/widget/tooltip_manager.h" | 5 #include "ui/views/widget/tooltip_manager.h" |
6 | 6 |
7 #include "ui/gfx/geometry/rect.h" | |
8 #include "ui/gfx/screen.h" | |
9 #include "ui/gfx/text_elider.h" | |
10 | |
11 namespace views { | 7 namespace views { |
12 | 8 |
13 const size_t kMaxTooltipLength = 1024; | |
14 | |
15 // static | 9 // static |
16 const char TooltipManager::kGroupingPropertyKey[] = "GroupingPropertyKey"; | 10 const char TooltipManager::kGroupingPropertyKey[] = "GroupingPropertyKey"; |
17 | 11 |
18 // static | |
19 int 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 | |
25 int TooltipManager::GetMaxWidth(const gfx::Display& display) { | |
26 return (display.bounds().width() + 1) / 2; | |
27 } | |
28 | |
29 // static | |
30 void 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 | 12 } // namespace views |
OLD | NEW |