OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/gtk/gtk_theme_service.h" | 5 #include "chrome/browser/ui/gtk/gtk_theme_service.h" |
6 | 6 |
7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 GtkWidget* scrollbar = gtk_hscrollbar_new(NULL); | 491 GtkWidget* scrollbar = gtk_hscrollbar_new(NULL); |
492 gtk_container_add(GTK_CONTAINER(window), fixed); | 492 gtk_container_add(GTK_CONTAINER(window), fixed); |
493 gtk_container_add(GTK_CONTAINER(fixed), scrollbar); | 493 gtk_container_add(GTK_CONTAINER(fixed), scrollbar); |
494 gtk_widget_realize(window); | 494 gtk_widget_realize(window); |
495 gtk_widget_realize(scrollbar); | 495 gtk_widget_realize(scrollbar); |
496 | 496 |
497 // Draw scrollbar thumb part and track into offscreen image | 497 // Draw scrollbar thumb part and track into offscreen image |
498 const int kWidth = 100; | 498 const int kWidth = 100; |
499 const int kHeight = 20; | 499 const int kHeight = 20; |
500 GtkStyle* style = gtk_rc_get_style(scrollbar); | 500 GtkStyle* style = gtk_rc_get_style(scrollbar); |
501 GdkPixmap* pm = gdk_pixmap_new(window->window, kWidth, kHeight, -1); | 501 GdkWindow* gdk_window = gtk_widget_get_window(window); |
| 502 GdkPixmap* pm = gdk_pixmap_new(gdk_window, kWidth, kHeight, -1); |
502 GdkRectangle rect = { 0, 0, kWidth, kHeight }; | 503 GdkRectangle rect = { 0, 0, kWidth, kHeight }; |
503 unsigned char data[3 * kWidth * kHeight]; | 504 unsigned char data[3 * kWidth * kHeight]; |
504 for (int i = 0; i < 3; ++i) { | 505 for (int i = 0; i < 3; ++i) { |
505 if (i < 2) { | 506 if (i < 2) { |
506 // Thumb part | 507 // Thumb part |
507 gtk_paint_slider(style, pm, | 508 gtk_paint_slider(style, pm, |
508 i == 0 ? GTK_STATE_PRELIGHT : GTK_STATE_NORMAL, | 509 i == 0 ? GTK_STATE_PRELIGHT : GTK_STATE_NORMAL, |
509 GTK_SHADOW_OUT, &rect, scrollbar, "slider", 0, 0, | 510 GTK_SHADOW_OUT, &rect, scrollbar, "slider", 0, 0, |
510 kWidth, kHeight, GTK_ORIENTATION_HORIZONTAL); | 511 kWidth, kHeight, GTK_ORIENTATION_HORIZONTAL); |
511 } else { | 512 } else { |
(...skipping 579 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1091 if (it != labels_.end()) | 1092 if (it != labels_.end()) |
1092 labels_.erase(it); | 1093 labels_.erase(it); |
1093 } | 1094 } |
1094 | 1095 |
1095 gboolean GtkThemeService::OnSeparatorExpose(GtkWidget* widget, | 1096 gboolean GtkThemeService::OnSeparatorExpose(GtkWidget* widget, |
1096 GdkEventExpose* event) { | 1097 GdkEventExpose* event) { |
1097 UNSHIPPED_TRACE_EVENT0("ui::gtk", "GtkThemeService::OnSeparatorExpose"); | 1098 UNSHIPPED_TRACE_EVENT0("ui::gtk", "GtkThemeService::OnSeparatorExpose"); |
1098 if (UsingNativeTheme()) | 1099 if (UsingNativeTheme()) |
1099 return FALSE; | 1100 return FALSE; |
1100 | 1101 |
1101 cairo_t* cr = gdk_cairo_create(GDK_DRAWABLE(widget->window)); | 1102 cairo_t* cr = gdk_cairo_create(gtk_widget_get_window(widget)); |
1102 gdk_cairo_rectangle(cr, &event->area); | 1103 gdk_cairo_rectangle(cr, &event->area); |
1103 cairo_clip(cr); | 1104 cairo_clip(cr); |
1104 | 1105 |
1105 GdkColor bottom_color = GetGdkColor(ThemeService::COLOR_TOOLBAR); | 1106 GdkColor bottom_color = GetGdkColor(ThemeService::COLOR_TOOLBAR); |
1106 double bottom_color_rgb[] = { | 1107 double bottom_color_rgb[] = { |
1107 static_cast<double>(bottom_color.red / 257) / 255.0, | 1108 static_cast<double>(bottom_color.red / 257) / 255.0, |
1108 static_cast<double>(bottom_color.green / 257) / 255.0, | 1109 static_cast<double>(bottom_color.green / 257) / 255.0, |
1109 static_cast<double>(bottom_color.blue / 257) / 255.0, }; | 1110 static_cast<double>(bottom_color.blue / 257) / 255.0, }; |
1110 | 1111 |
1111 GtkAllocation allocation; | 1112 GtkAllocation allocation; |
(...skipping 18 matching lines...) Expand all Loading... |
1130 cairo_new_path(cr); | 1131 cairo_new_path(cr); |
1131 cairo_set_line_width(cr, 1.0); | 1132 cairo_set_line_width(cr, 1.0); |
1132 cairo_move_to(cr, start_x, allocation.y); | 1133 cairo_move_to(cr, start_x, allocation.y); |
1133 cairo_line_to(cr, start_x, allocation.y + allocation.height); | 1134 cairo_line_to(cr, start_x, allocation.y + allocation.height); |
1134 cairo_stroke(cr); | 1135 cairo_stroke(cr); |
1135 cairo_destroy(cr); | 1136 cairo_destroy(cr); |
1136 cairo_pattern_destroy(pattern); | 1137 cairo_pattern_destroy(pattern); |
1137 | 1138 |
1138 return TRUE; | 1139 return TRUE; |
1139 } | 1140 } |
OLD | NEW |