| OLD | NEW |
| 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 "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 if (text_width > 0) { | 336 if (text_width > 0) { |
| 337 // Because the text button can (at times) draw multiple elements on the | 337 // Because the text button can (at times) draw multiple elements on the |
| 338 // canvas, we can not mirror the button by simply flipping the canvas as | 338 // canvas, we can not mirror the button by simply flipping the canvas as |
| 339 // doing this will mirror the text itself. Flipping the canvas will also | 339 // doing this will mirror the text itself. Flipping the canvas will also |
| 340 // make the icons look wrong because icons are almost always represented as | 340 // make the icons look wrong because icons are almost always represented as |
| 341 // direction insentisive bitmaps and such bitmaps should never be flipped | 341 // direction insentisive bitmaps and such bitmaps should never be flipped |
| 342 // horizontally. | 342 // horizontally. |
| 343 // | 343 // |
| 344 // Due to the above, we must perform the flipping manually for RTL UIs. | 344 // Due to the above, we must perform the flipping manually for RTL UIs. |
| 345 gfx::Rect text_bounds(text_x, text_y, text_width, text_size_.height()); | 345 gfx::Rect text_bounds(text_x, text_y, text_width, text_size_.height()); |
| 346 text_bounds.set_x(MirroredLeftPointForRect(text_bounds)); | 346 text_bounds.set_x(GetMirroredXForRect(text_bounds)); |
| 347 | 347 |
| 348 SkColor text_color = (show_multiple_icon_states_ && | 348 SkColor text_color = (show_multiple_icon_states_ && |
| 349 (state() == BS_HOT || state() == BS_PUSHED)) ? color_hover_ : color_; | 349 (state() == BS_HOT || state() == BS_PUSHED)) ? color_hover_ : color_; |
| 350 | 350 |
| 351 int draw_string_flags = gfx::CanvasSkia::DefaultCanvasTextAlignment() | | 351 int draw_string_flags = gfx::CanvasSkia::DefaultCanvasTextAlignment() | |
| 352 PrefixTypeToCanvasType(prefix_type_); | 352 PrefixTypeToCanvasType(prefix_type_); |
| 353 | 353 |
| 354 if (for_drag) { | 354 if (for_drag) { |
| 355 #if defined(OS_WIN) | 355 #if defined(OS_WIN) |
| 356 // TODO(erg): Either port DrawStringWithHalo to linux or find an | 356 // TODO(erg): Either port DrawStringWithHalo to linux or find an |
| (...skipping 27 matching lines...) Expand all Loading... |
| 384 text_bounds.height(), | 384 text_bounds.height(), |
| 385 draw_string_flags); | 385 draw_string_flags); |
| 386 } | 386 } |
| 387 } | 387 } |
| 388 | 388 |
| 389 if (icon.width() > 0) { | 389 if (icon.width() > 0) { |
| 390 int icon_y = (available_height - icon.height()) / 2 + insets.top(); | 390 int icon_y = (available_height - icon.height()) / 2 + insets.top(); |
| 391 | 391 |
| 392 // Mirroring the icon position if necessary. | 392 // Mirroring the icon position if necessary. |
| 393 gfx::Rect icon_bounds(icon_x, icon_y, icon.width(), icon.height()); | 393 gfx::Rect icon_bounds(icon_x, icon_y, icon.width(), icon.height()); |
| 394 icon_bounds.set_x(MirroredLeftPointForRect(icon_bounds)); | 394 icon_bounds.set_x(GetMirroredXForRect(icon_bounds)); |
| 395 canvas->DrawBitmapInt(icon, icon_bounds.x(), icon_bounds.y()); | 395 canvas->DrawBitmapInt(icon, icon_bounds.x(), icon_bounds.y()); |
| 396 } | 396 } |
| 397 } | 397 } |
| 398 | 398 |
| 399 void TextButton::UpdateColor() { | 399 void TextButton::UpdateColor() { |
| 400 color_ = IsEnabled() ? color_enabled_ : color_disabled_; | 400 color_ = IsEnabled() ? color_enabled_ : color_disabled_; |
| 401 } | 401 } |
| 402 | 402 |
| 403 void TextButton::UpdateTextSize() { | 403 void TextButton::UpdateTextSize() { |
| 404 int width = 0, height = 0; | 404 int width = 0, height = 0; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 455 | 455 |
| 456 std::string TextButton::GetClassName() const { | 456 std::string TextButton::GetClassName() const { |
| 457 return kViewClassName; | 457 return kViewClassName; |
| 458 } | 458 } |
| 459 | 459 |
| 460 void TextButton::Paint(gfx::Canvas* canvas) { | 460 void TextButton::Paint(gfx::Canvas* canvas) { |
| 461 Paint(canvas, false); | 461 Paint(canvas, false); |
| 462 } | 462 } |
| 463 | 463 |
| 464 } // namespace views | 464 } // namespace views |
| OLD | NEW |