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

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

Issue 6904160: Implement new gray mock. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review nits Created 9 years, 7 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/text_button.h ('k') | views/window/non_client_view.h » ('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) 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 "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 "base/logging.h" 9 #include "base/logging.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 color_(kEnabledColor), 258 color_(kEnabledColor),
259 color_enabled_(kEnabledColor), 259 color_enabled_(kEnabledColor),
260 color_disabled_(kDisabledColor), 260 color_disabled_(kDisabledColor),
261 color_highlight_(kHighlightColor), 261 color_highlight_(kHighlightColor),
262 color_hover_(kHoverColor), 262 color_hover_(kHoverColor),
263 text_halo_color_(0), 263 text_halo_color_(0),
264 has_text_halo_(false), 264 has_text_halo_(false),
265 active_text_shadow_color_(0), 265 active_text_shadow_color_(0),
266 inactive_text_shadow_color_(0), 266 inactive_text_shadow_color_(0),
267 has_shadow_(false), 267 has_shadow_(false),
268 shadow_offset_(gfx::Point(1, 1)),
268 max_width_(0), 269 max_width_(0),
269 normal_has_border_(false), 270 normal_has_border_(false),
270 show_multiple_icon_states_(true), 271 show_multiple_icon_states_(true),
271 is_default_(false), 272 is_default_(false),
272 prefix_type_(PREFIX_NONE) { 273 prefix_type_(PREFIX_NONE) {
273 SetText(text); 274 SetText(text);
274 SetAnimationDuration(kHoverAnimationDurationMs); 275 SetAnimationDuration(kHoverAnimationDurationMs);
275 } 276 }
276 277
277 TextButtonBase::~TextButtonBase() { 278 TextButtonBase::~TextButtonBase() {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 has_text_halo_ = true; 323 has_text_halo_ = true;
323 } 324 }
324 325
325 void TextButtonBase::SetTextShadowColors(SkColor active_color, 326 void TextButtonBase::SetTextShadowColors(SkColor active_color,
326 SkColor inactive_color) { 327 SkColor inactive_color) {
327 active_text_shadow_color_ = active_color; 328 active_text_shadow_color_ = active_color;
328 inactive_text_shadow_color_ = inactive_color; 329 inactive_text_shadow_color_ = inactive_color;
329 has_shadow_ = true; 330 has_shadow_ = true;
330 } 331 }
331 332
333 void TextButtonBase::SetTextShadowOffset(int x, int y) {
334 shadow_offset_.SetPoint(x, y);
335 }
336
332 void TextButtonBase::ClearMaxTextSize() { 337 void TextButtonBase::ClearMaxTextSize() {
333 max_text_size_ = text_size_; 338 max_text_size_ = text_size_;
334 } 339 }
335 340
336 void TextButtonBase::SetNormalHasBorder(bool normal_has_border) { 341 void TextButtonBase::SetNormalHasBorder(bool normal_has_border) {
337 normal_has_border_ = normal_has_border; 342 normal_has_border_ = normal_has_border;
338 } 343 }
339 344
340 void TextButtonBase::SetShowMultipleIconStates(bool show_multiple_icon_states) { 345 void TextButtonBase::SetShowMultipleIconStates(bool show_multiple_icon_states) {
341 show_multiple_icon_states_ = show_multiple_icon_states; 346 show_multiple_icon_states_ = show_multiple_icon_states;
342 } 347 }
343 348
349 void TextButtonBase::ClearEmbellishing() {
350 has_shadow_ = false;
351 has_text_halo_ = false;
352 }
353
344 gfx::Size TextButtonBase::GetPreferredSize() { 354 gfx::Size TextButtonBase::GetPreferredSize() {
345 gfx::Insets insets = GetInsets(); 355 gfx::Insets insets = GetInsets();
346 356
347 // Use the max size to set the button boundaries. 357 // Use the max size to set the button boundaries.
348 gfx::Size prefsize(max_text_size_.width() + insets.width(), 358 gfx::Size prefsize(max_text_size_.width() + insets.width(),
349 max_text_size_.height() + insets.height()); 359 max_text_size_.height() + insets.height());
350 360
351 if (max_width_ > 0) 361 if (max_width_ > 0)
352 prefsize.set_width(std::min(max_width_, prefsize.width())); 362 prefsize.set_width(std::min(max_width_, prefsize.width()));
353 363
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 text_, font_, text_color, text_halo_color_, 479 text_, font_, text_color, text_halo_color_,
470 text_bounds.x(), text_bounds.y(), text_bounds.width(), 480 text_bounds.x(), text_bounds.y(), text_bounds.width(),
471 text_bounds.height(), draw_string_flags); 481 text_bounds.height(), draw_string_flags);
472 } else if (has_shadow_) { 482 } else if (has_shadow_) {
473 SkColor shadow_color = 483 SkColor shadow_color =
474 GetWidget()->IsActive() ? active_text_shadow_color_ : 484 GetWidget()->IsActive() ? active_text_shadow_color_ :
475 inactive_text_shadow_color_; 485 inactive_text_shadow_color_;
476 canvas->DrawStringInt(text_, 486 canvas->DrawStringInt(text_,
477 font_, 487 font_,
478 shadow_color, 488 shadow_color,
479 text_bounds.x() + 1, 489 text_bounds.x() + shadow_offset_.x(),
480 text_bounds.y() + 1, 490 text_bounds.y() + shadow_offset_.y(),
481 text_bounds.width(), 491 text_bounds.width(),
482 text_bounds.height(), 492 text_bounds.height(),
483 draw_string_flags); 493 draw_string_flags);
484 canvas->DrawStringInt(text_, 494 canvas->DrawStringInt(text_,
485 font_, 495 font_,
486 text_color, 496 text_color,
487 text_bounds.x(), 497 text_bounds.x(),
488 text_bounds.y(), 498 text_bounds.y(),
489 text_bounds.width(), 499 text_bounds.width(),
490 text_bounds.height(), 500 text_bounds.height(),
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
717 } 727 }
718 } 728 }
719 } 729 }
720 730
721 return bounds; 731 return bounds;
722 } 732 }
723 733
724 } // namespace views 734 } // namespace views
725 735
726 736
OLDNEW
« no previous file with comments | « views/controls/button/text_button.h ('k') | views/window/non_client_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698