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

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

Issue 5071002: Add 1px black border for ChromeOS status button. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: change how common code is shared Created 10 years, 1 month 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/text_button.h ('k') | no next file » | 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/text_button.h" 5 #include "views/controls/button/text_button.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "app/throb_animation.h" 9 #include "app/throb_animation.h"
10 #include "app/resource_bundle.h" 10 #include "app/resource_bundle.h"
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 : CustomButton(listener), 183 : CustomButton(listener),
184 alignment_(ALIGN_LEFT), 184 alignment_(ALIGN_LEFT),
185 icon_placement_(ICON_ON_LEFT), 185 icon_placement_(ICON_ON_LEFT),
186 font_(ResourceBundle::GetSharedInstance().GetFont( 186 font_(ResourceBundle::GetSharedInstance().GetFont(
187 ResourceBundle::BaseFont)), 187 ResourceBundle::BaseFont)),
188 color_(kEnabledColor), 188 color_(kEnabledColor),
189 color_enabled_(kEnabledColor), 189 color_enabled_(kEnabledColor),
190 color_disabled_(kDisabledColor), 190 color_disabled_(kDisabledColor),
191 color_highlight_(kHighlightColor), 191 color_highlight_(kHighlightColor),
192 color_hover_(kHoverColor), 192 color_hover_(kHoverColor),
193 text_halo_color_(0),
194 has_text_halo_(false),
193 has_hover_icon_(false), 195 has_hover_icon_(false),
194 has_pushed_icon_(false), 196 has_pushed_icon_(false),
195 max_width_(0), 197 max_width_(0),
196 normal_has_border_(false), 198 normal_has_border_(false),
197 show_multiple_icon_states_(true), 199 show_multiple_icon_states_(true),
198 prefix_type_(PREFIX_NONE), 200 prefix_type_(PREFIX_NONE),
199 icon_text_spacing_(kDefaultIconTextSpacing) { 201 icon_text_spacing_(kDefaultIconTextSpacing) {
200 SetText(text); 202 SetText(text);
201 set_border(new TextButtonBorder); 203 set_border(new TextButtonBorder);
202 SetAnimationDuration(kHoverAnimationDurationMs); 204 SetAnimationDuration(kHoverAnimationDurationMs);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 } 243 }
242 244
243 void TextButton::SetHighlightColor(SkColor color) { 245 void TextButton::SetHighlightColor(SkColor color) {
244 color_highlight_ = color; 246 color_highlight_ = color;
245 } 247 }
246 248
247 void TextButton::SetHoverColor(SkColor color) { 249 void TextButton::SetHoverColor(SkColor color) {
248 color_hover_ = color; 250 color_hover_ = color;
249 } 251 }
250 252
253 void TextButton::SetTextHaloColor(SkColor color) {
254 text_halo_color_ = color;
255 has_text_halo_ = true;
256 }
257
251 void TextButton::ClearMaxTextSize() { 258 void TextButton::ClearMaxTextSize() {
252 max_text_size_ = text_size_; 259 max_text_size_ = text_size_;
253 } 260 }
254 261
255 void TextButton::SetNormalHasBorder(bool normal_has_border) { 262 void TextButton::SetNormalHasBorder(bool normal_has_border) {
256 normal_has_border_ = normal_has_border; 263 normal_has_border_ = normal_has_border;
257 } 264 }
258 265
259 void TextButton::SetShowMultipleIconStates(bool show_multiple_icon_states) { 266 void TextButton::SetShowMultipleIconStates(bool show_multiple_icon_states) {
260 show_multiple_icon_states_ = show_multiple_icon_states; 267 show_multiple_icon_states_ = show_multiple_icon_states;
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 #else 360 #else
354 canvas->DrawStringInt(text_, 361 canvas->DrawStringInt(text_,
355 font_, 362 font_,
356 text_color, 363 text_color,
357 text_bounds.x(), 364 text_bounds.x(),
358 text_bounds.y(), 365 text_bounds.y(),
359 text_bounds.width(), 366 text_bounds.width(),
360 text_bounds.height(), 367 text_bounds.height(),
361 draw_string_flags); 368 draw_string_flags);
362 #endif 369 #endif
370 } else if (has_text_halo_) {
371 canvas->AsCanvasSkia()->DrawStringWithHalo(
372 text_, font_, text_color, text_halo_color_, text_bounds.x(),
373 text_bounds.y(), text_bounds.width(), text_bounds.height(),
374 draw_string_flags);
363 } else { 375 } else {
364 canvas->DrawStringInt(text_, 376 canvas->DrawStringInt(text_,
365 font_, 377 font_,
366 text_color, 378 text_color,
367 text_bounds.x(), 379 text_bounds.x(),
368 text_bounds.y(), 380 text_bounds.y(),
369 text_bounds.width(), 381 text_bounds.width(),
370 text_bounds.height(), 382 text_bounds.height(),
371 draw_string_flags); 383 draw_string_flags);
372 } 384 }
(...skipping 11 matching lines...) Expand all
384 396
385 void TextButton::UpdateColor() { 397 void TextButton::UpdateColor() {
386 color_ = IsEnabled() ? color_enabled_ : color_disabled_; 398 color_ = IsEnabled() ? color_enabled_ : color_disabled_;
387 } 399 }
388 400
389 void TextButton::UpdateTextSize() { 401 void TextButton::UpdateTextSize() {
390 int width = 0, height = 0; 402 int width = 0, height = 0;
391 gfx::CanvasSkia::SizeStringInt( 403 gfx::CanvasSkia::SizeStringInt(
392 text_, font_, &width, &height, 404 text_, font_, &width, &height,
393 gfx::Canvas::NO_ELLIPSIS | PrefixTypeToCanvasType(prefix_type_)); 405 gfx::Canvas::NO_ELLIPSIS | PrefixTypeToCanvasType(prefix_type_));
406
407 // Add 2 extra pixels to width and height when text halo is used.
408 if (has_text_halo_) {
409 width += 2;
410 height += 2;
411 }
412
394 text_size_.SetSize(width, font_.GetHeight()); 413 text_size_.SetSize(width, font_.GetHeight());
395 max_text_size_.SetSize(std::max(max_text_size_.width(), text_size_.width()), 414 max_text_size_.SetSize(std::max(max_text_size_.width(), text_size_.width()),
396 std::max(max_text_size_.height(), 415 std::max(max_text_size_.height(),
397 text_size_.height())); 416 text_size_.height()));
398 PreferredSizeChanged(); 417 PreferredSizeChanged();
399 } 418 }
400 419
401 //////////////////////////////////////////////////////////////////////////////// 420 ////////////////////////////////////////////////////////////////////////////////
402 // TextButton, View overrides: 421 // TextButton, View overrides:
403 422
(...skipping 30 matching lines...) Expand all
434 453
435 std::string TextButton::GetClassName() const { 454 std::string TextButton::GetClassName() const {
436 return kViewClassName; 455 return kViewClassName;
437 } 456 }
438 457
439 void TextButton::Paint(gfx::Canvas* canvas) { 458 void TextButton::Paint(gfx::Canvas* canvas) {
440 Paint(canvas, false); 459 Paint(canvas, false);
441 } 460 }
442 461
443 } // namespace views 462 } // namespace views
OLDNEW
« no previous file with comments | « views/controls/button/text_button.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698