Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(279)

Side by Side Diff: views/controls/button/native_button.cc

Issue 3083022: Rework gfx::Font by moving platform-specific code into inner classes.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « views/controls/button/checkbox.cc ('k') | views/controls/button/native_button_gtk.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "views/controls/button/native_button.h" 5 #include "views/controls/button/native_button.h"
6 6
7 #if defined(OS_LINUX)
8 #include <gdk/gdkkeysyms.h>
9 #include "views/screen.h"
10 #endif
11
12 #include "base/i18n/rtl.h" 7 #include "base/i18n/rtl.h"
13 #include "base/keyboard_codes.h" 8 #include "base/keyboard_codes.h"
14 #include "base/logging.h" 9 #include "base/logging.h"
15 #include "views/controls/native/native_view_host.h" 10 #include "views/controls/native/native_view_host.h"
16 11
12 #if defined(OS_WIN)
13 #include "gfx/platform_font_win.h"
14 #elif defined(OS_LINUX)
15 #include <gdk/gdkkeysyms.h>
16 #include "views/screen.h"
17 #endif
18
19
17 namespace views { 20 namespace views {
18 21
19 #if defined(OS_WIN) 22 #if defined(OS_WIN)
20 // The min size in DLUs comes from 23 // The min size in DLUs comes from
21 // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/c h14e.asp 24 // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/c h14e.asp
22 static const int kMinWidthDLUs = 50; 25 static const int kMinWidthDLUs = 50;
23 static const int kMinHeightDLUs = 14; 26 static const int kMinHeightDLUs = 14;
24 27
25 // Horizontal padding (on each side). 28 // Horizontal padding (on each side).
26 static const int kButtonBorderHWidth = 8; 29 static const int kButtonBorderHWidth = 8;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 140
138 // Add in the border size. (Do this before clamping the minimum size in case 141 // Add in the border size. (Do this before clamping the minimum size in case
139 // that clamping causes an increase in size that would include the borders. 142 // that clamping causes an increase in size that would include the borders.
140 gfx::Insets border = GetInsets(); 143 gfx::Insets border = GetInsets();
141 sz.set_width(sz.width() + border.left() + border.right()); 144 sz.set_width(sz.width() + border.left() + border.right());
142 sz.set_height(sz.height() + border.top() + border.bottom()); 145 sz.set_height(sz.height() + border.top() + border.bottom());
143 146
144 #if defined(OS_WIN) 147 #if defined(OS_WIN)
145 // Clamp the size returned to at least the minimum size. 148 // Clamp the size returned to at least the minimum size.
146 if (!ignore_minimum_size_) { 149 if (!ignore_minimum_size_) {
147 sz.set_width(std::max(sz.width(), 150 gfx::PlatformFontWin* platform_font =
148 font_.horizontal_dlus_to_pixels(kMinWidthDLUs))); 151 static_cast<gfx::PlatformFontWin*>(font_.platform_font());
149 sz.set_height(std::max(sz.height(), 152 sz.set_width(std::max(
150 font_.vertical_dlus_to_pixels(kMinHeightDLUs))); 153 sz.width(),
154 platform_font->horizontal_dlus_to_pixels(kMinWidthDLUs)));
155 sz.set_height(std::max(
156 sz.height(),
157 platform_font->vertical_dlus_to_pixels(kMinHeightDLUs)));
151 } 158 }
152 // GTK returns a meaningful preferred size so that we don't need to adjust 159 // GTK returns a meaningful preferred size so that we don't need to adjust
153 // the preferred size as we do on windows. 160 // the preferred size as we do on windows.
154 #endif 161 #endif
155 162
156 return sz; 163 return sz;
157 } 164 }
158 165
159 void NativeButton::Layout() { 166 void NativeButton::Layout() {
160 if (native_wrapper_) { 167 if (native_wrapper_) {
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 native_wrapper->UpdateEnabled(); 232 native_wrapper->UpdateEnabled();
226 return native_wrapper; 233 return native_wrapper;
227 } 234 }
228 235
229 void NativeButton::InitBorder() { 236 void NativeButton::InitBorder() {
230 set_border(Border::CreateEmptyBorder(0, kButtonBorderHWidth, 0, 237 set_border(Border::CreateEmptyBorder(0, kButtonBorderHWidth, 0,
231 kButtonBorderHWidth)); 238 kButtonBorderHWidth));
232 } 239 }
233 240
234 } // namespace views 241 } // namespace views
OLDNEW
« no previous file with comments | « views/controls/button/checkbox.cc ('k') | views/controls/button/native_button_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698