| OLD | NEW | 
|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "chrome/browser/ui/libgtk2ui/native_theme_gtk2.h" | 5 #include "chrome/browser/ui/libgtk2ui/native_theme_gtk2.h" | 
| 6 | 6 | 
| 7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> | 
| 8 | 8 | 
| 9 #include "chrome/browser/ui/libgtk2ui/chrome_gtk_menu_subclasses.h" | 9 #include "chrome/browser/ui/libgtk2ui/chrome_gtk_menu_subclasses.h" | 
| 10 #include "chrome/browser/ui/libgtk2ui/gtk2_ui.h" | 10 #include "chrome/browser/ui/libgtk2ui/gtk2_ui.h" | 
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 86 | 86 | 
| 87   // The luminance should match the luminance of the foreground text.  Again, | 87   // The luminance should match the luminance of the foreground text.  Again, | 
| 88   // we clamp so as to have at some amount of color (green) in the text. | 88   // we clamp so as to have at some amount of color (green) in the text. | 
| 89   double opposite_l = fg_hsl.l; | 89   double opposite_l = fg_hsl.l; | 
| 90   double l = std::max(0.1, std::min(0.9, opposite_l)); | 90   double l = std::max(0.1, std::min(0.9, opposite_l)); | 
| 91 | 91 | 
| 92   color_utils::HSL output = { hue_hsl.h, s, l }; | 92   color_utils::HSL output = { hue_hsl.h, s, l }; | 
| 93   return libgtk2ui::SkColorToGdkColor(color_utils::HSLToSkColor(output, 255)); | 93   return libgtk2ui::SkColorToGdkColor(color_utils::HSLToSkColor(output, 255)); | 
| 94 } | 94 } | 
| 95 | 95 | 
|  | 96 GdkColor GetReadableColor(const GdkColor& color, const GdkColor& background) { | 
|  | 97   return libgtk2ui::SkColorToGdkColor( | 
|  | 98       color_utils::GetReadableColor(libgtk2ui::GdkColorToSkColor(color), | 
|  | 99                                     libgtk2ui::GdkColorToSkColor(background))); | 
|  | 100 } | 
|  | 101 | 
| 96 }  // namespace | 102 }  // namespace | 
| 97 | 103 | 
| 98 | 104 | 
| 99 namespace libgtk2ui { | 105 namespace libgtk2ui { | 
| 100 | 106 | 
| 101 // static | 107 // static | 
| 102 NativeThemeGtk2* NativeThemeGtk2::instance() { | 108 NativeThemeGtk2* NativeThemeGtk2::instance() { | 
| 103   CR_DEFINE_STATIC_LOCAL(NativeThemeGtk2, s_native_theme, ()); | 109   CR_DEFINE_STATIC_LOCAL(NativeThemeGtk2, s_native_theme, ()); | 
| 104   return &s_native_theme; | 110   return &s_native_theme; | 
| 105 } | 111 } | 
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 201       paint.setColor(color); | 207       paint.setColor(color); | 
| 202       break; | 208       break; | 
| 203     default: | 209     default: | 
| 204       NOTREACHED() << "Invalid state " << state; | 210       NOTREACHED() << "Invalid state " << state; | 
| 205       break; | 211       break; | 
| 206   } | 212   } | 
| 207   canvas->drawRect(gfx::RectToSkRect(rect), paint); | 213   canvas->drawRect(gfx::RectToSkRect(rect), paint); | 
| 208 } | 214 } | 
| 209 | 215 | 
| 210 GdkColor NativeThemeGtk2::GetSystemGdkColor(ColorId color_id) const { | 216 GdkColor NativeThemeGtk2::GetSystemGdkColor(ColorId color_id) const { | 
|  | 217   const GdkColor kPositiveTextColor = GDK_COLOR_RGB(0x00, 0xff, 0x00); | 
|  | 218   const GdkColor kNegativeTextColor = GDK_COLOR_RGB(0xff, 0x00, 0x00); | 
| 211   switch (color_id) { | 219   switch (color_id) { | 
| 212     // Windows | 220     // Windows | 
| 213     case kColorId_WindowBackground: | 221     case kColorId_WindowBackground: | 
| 214       return GetWindowStyle()->bg[GTK_STATE_NORMAL]; | 222       return GetWindowStyle()->bg[GTK_STATE_NORMAL]; | 
| 215 | 223 | 
| 216     // Dialogs | 224     // Dialogs | 
| 217     case kColorId_DialogBackground: | 225     case kColorId_DialogBackground: | 
| 218       return GetWindowStyle()->bg[GTK_STATE_NORMAL]; | 226       return GetWindowStyle()->bg[GTK_STATE_NORMAL]; | 
| 219 | 227 | 
| 220     // FocusableBorder | 228     // FocusableBorder | 
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 366     case kColorId_ResultsTableHoveredDivider: { | 374     case kColorId_ResultsTableHoveredDivider: { | 
| 367       GtkStyle* win_style = GetWindowStyle(); | 375       GtkStyle* win_style = GetWindowStyle(); | 
| 368       return GdkAlphaBlend(win_style->text[GTK_STATE_PRELIGHT], | 376       return GdkAlphaBlend(win_style->text[GTK_STATE_PRELIGHT], | 
| 369                            win_style->bg[GTK_STATE_PRELIGHT], 0x34); | 377                            win_style->bg[GTK_STATE_PRELIGHT], 0x34); | 
| 370     } | 378     } | 
| 371     case kColorId_ResultsTableSelectedDivider: { | 379     case kColorId_ResultsTableSelectedDivider: { | 
| 372       GtkStyle* win_style = GetWindowStyle(); | 380       GtkStyle* win_style = GetWindowStyle(); | 
| 373       return GdkAlphaBlend(win_style->text[GTK_STATE_SELECTED], | 381       return GdkAlphaBlend(win_style->text[GTK_STATE_SELECTED], | 
| 374                            win_style->bg[GTK_STATE_SELECTED], 0x34); | 382                            win_style->bg[GTK_STATE_SELECTED], 0x34); | 
| 375     } | 383     } | 
|  | 384     case kColorId_ResultsTablePositiveText: { | 
|  | 385       return GetReadableColor(kPositiveTextColor, | 
|  | 386                               GetEntryStyle()->base[GTK_STATE_NORMAL]); | 
|  | 387     } | 
|  | 388     case kColorId_ResultsTablePositiveHoveredText: { | 
|  | 389       return GetReadableColor(kPositiveTextColor, | 
|  | 390                               GetEntryStyle()->base[GTK_STATE_PRELIGHT]); | 
|  | 391     } | 
|  | 392     case kColorId_ResultsTablePositiveSelectedText: { | 
|  | 393       return GetReadableColor(kPositiveTextColor, | 
|  | 394                               GetEntryStyle()->base[GTK_STATE_SELECTED]); | 
|  | 395     } | 
|  | 396     case kColorId_ResultsTableNegativeText: { | 
|  | 397       return GetReadableColor(kNegativeTextColor, | 
|  | 398                               GetEntryStyle()->base[GTK_STATE_NORMAL]); | 
|  | 399     } | 
|  | 400     case kColorId_ResultsTableNegativeHoveredText: { | 
|  | 401       return GetReadableColor(kNegativeTextColor, | 
|  | 402                               GetEntryStyle()->base[GTK_STATE_PRELIGHT]); | 
|  | 403     } | 
|  | 404     case kColorId_ResultsTableNegativeSelectedText: { | 
|  | 405       return GetReadableColor(kNegativeTextColor, | 
|  | 406                               GetEntryStyle()->base[GTK_STATE_SELECTED]); | 
|  | 407     } | 
| 376     case kColorId_NumColors: | 408     case kColorId_NumColors: | 
| 377       NOTREACHED(); | 409       NOTREACHED(); | 
| 378       break; | 410       break; | 
| 379   } | 411   } | 
| 380 | 412 | 
| 381   return SkColorToGdkColor(kInvalidColorIdColor); | 413   return SkColorToGdkColor(kInvalidColorIdColor); | 
| 382 } | 414 } | 
| 383 | 415 | 
| 384 GtkWidget* NativeThemeGtk2::GetRealizedWindow() const { | 416 GtkWidget* NativeThemeGtk2::GetRealizedWindow() const { | 
| 385   if (!fake_window_) { | 417   if (!fake_window_) { | 
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 486                                                0, 0, | 518                                                0, 0, | 
| 487                                                rect.width(), rect.height()); | 519                                                rect.width(), rect.height()); | 
| 488   SkBitmap arrow = GdkPixbufToImageSkia(pb); | 520   SkBitmap arrow = GdkPixbufToImageSkia(pb); | 
| 489   canvas->drawBitmap(arrow, rect.x(), rect.y()); | 521   canvas->drawBitmap(arrow, rect.x(), rect.y()); | 
| 490 | 522 | 
| 491   g_object_unref(pb); | 523   g_object_unref(pb); | 
| 492   g_object_unref(pm); | 524   g_object_unref(pm); | 
| 493 } | 525 } | 
| 494 | 526 | 
| 495 }  // namespace libgtk2ui | 527 }  // namespace libgtk2ui | 
| OLD | NEW | 
|---|