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

Side by Side Diff: chrome/browser/gtk/toolbar_star_toggle_gtk.cc

Issue 200071: Revert "Upload GdkPixbufs into cairo surfaces so they (hopefully) live on the X (Closed)
Patch Set: Created 11 years, 3 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
« no previous file with comments | « chrome/browser/gtk/gtk_theme_provider.cc ('k') | chrome/chrome.gyp » ('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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/gtk/toolbar_star_toggle_gtk.h" 5 #include "chrome/browser/gtk/toolbar_star_toggle_gtk.h"
6 6
7 #include "app/gtk_dnd_util.h" 7 #include "app/gtk_dnd_util.h"
8 #include "app/resource_bundle.h" 8 #include "app/resource_bundle.h"
9 #include "base/gfx/rect.h" 9 #include "base/gfx/rect.h"
10 #include "chrome/browser/browser.h" 10 #include "chrome/browser/browser.h"
11 #include "chrome/browser/gtk/bookmark_bubble_gtk.h" 11 #include "chrome/browser/gtk/bookmark_bubble_gtk.h"
12 #include "chrome/browser/gtk/browser_toolbar_gtk.h" 12 #include "chrome/browser/gtk/browser_toolbar_gtk.h"
13 #include "chrome/browser/gtk/gtk_chrome_button.h" 13 #include "chrome/browser/gtk/gtk_chrome_button.h"
14 #include "chrome/browser/gtk/gtk_theme_provider.h" 14 #include "chrome/browser/gtk/gtk_theme_provider.h"
15 #include "chrome/browser/profile.h" 15 #include "chrome/browser/profile.h"
16 #include "chrome/browser/tab_contents/tab_contents.h" 16 #include "chrome/browser/tab_contents/tab_contents.h"
17 #include "chrome/common/notification_service.h" 17 #include "chrome/common/notification_service.h"
18 #include "grit/theme_resources.h" 18 #include "grit/theme_resources.h"
19 19
20 ToolbarStarToggleGtk::ToolbarStarToggleGtk(BrowserToolbarGtk* host) 20 ToolbarStarToggleGtk::ToolbarStarToggleGtk(BrowserToolbarGtk* host)
21 : host_(host), 21 : host_(host),
22 widget_(gtk_chrome_button_new()), 22 widget_(gtk_chrome_button_new()),
23 is_starred_(false), 23 is_starred_(false),
24 theme_provider_(GtkThemeProvider::GetFrom(host->profile())), 24 theme_provider_(GtkThemeProvider::GetFrom(host->profile())),
25 unstarred_(theme_provider_, IDR_STAR, IDR_STAR_P, IDR_STAR_H, IDR_STAR_D), 25 unstarred_(theme_provider_, IDR_STAR, IDR_STAR_P, IDR_STAR_H, IDR_STAR_D),
26 starred_(theme_provider_, IDR_STARRED, IDR_STARRED_P, IDR_STARRED_H, 0) { 26 starred_(theme_provider_, IDR_STARRED, IDR_STARRED_P, IDR_STARRED_H, 0) {
27 gtk_widget_set_size_request(widget_.get(), unstarred_.Width(), 27 gtk_widget_set_size_request(widget_.get(),
28 unstarred_.Height()); 28 gdk_pixbuf_get_width(unstarred_.pixbufs(0)),
29 gdk_pixbuf_get_height(unstarred_.pixbufs(0)));
29 30
30 gtk_widget_set_app_paintable(widget_.get(), TRUE); 31 gtk_widget_set_app_paintable(widget_.get(), TRUE);
31 // We effectively double-buffer by virtue of having only one image... 32 // We effectively double-buffer by virtue of having only one image...
32 gtk_widget_set_double_buffered(widget_.get(), FALSE); 33 gtk_widget_set_double_buffered(widget_.get(), FALSE);
33 34
34 g_signal_connect(widget(), "expose-event", 35 g_signal_connect(widget(), "expose-event",
35 G_CALLBACK(OnExpose), this); 36 G_CALLBACK(OnExpose), this);
36 GTK_WIDGET_UNSET_FLAGS(widget_.get(), GTK_CAN_FOCUS); 37 GTK_WIDGET_UNSET_FLAGS(widget_.get(), GTK_CAN_FOCUS);
37 38
38 gtk_drag_source_set(widget(), GDK_BUTTON1_MASK, 39 gtk_drag_source_set(widget(), GDK_BUTTON1_MASK,
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 } 124 }
124 125
125 gtk_button_set_image( 126 gtk_button_set_image(
126 GTK_BUTTON(widget_.get()), 127 GTK_BUTTON(widget_.get()),
127 gtk_image_new_from_pixbuf(pixbuf)); 128 gtk_image_new_from_pixbuf(pixbuf));
128 129
129 gtk_widget_set_size_request(widget_.get(), -1, -1); 130 gtk_widget_set_size_request(widget_.get(), -1, -1);
130 gtk_widget_set_app_paintable(widget_.get(), FALSE); 131 gtk_widget_set_app_paintable(widget_.get(), FALSE);
131 gtk_widget_set_double_buffered(widget_.get(), TRUE); 132 gtk_widget_set_double_buffered(widget_.get(), TRUE);
132 } else { 133 } else {
133 gtk_widget_set_size_request(widget_.get(), unstarred_.Width(), 134 gtk_widget_set_size_request(widget_.get(),
134 unstarred_.Height()); 135 gdk_pixbuf_get_width(unstarred_.pixbufs(0)),
136 gdk_pixbuf_get_height(unstarred_.pixbufs(0)));
135 137
136 gtk_widget_set_app_paintable(widget_.get(), TRUE); 138 gtk_widget_set_app_paintable(widget_.get(), TRUE);
137 // We effectively double-buffer by virtue of having only one image... 139 // We effectively double-buffer by virtue of having only one image...
138 gtk_widget_set_double_buffered(widget_.get(), FALSE); 140 gtk_widget_set_double_buffered(widget_.get(), FALSE);
139 } 141 }
140 142
141 gtk_chrome_button_set_use_gtk_rendering( 143 gtk_chrome_button_set_use_gtk_rendering(
142 GTK_CHROME_BUTTON(widget_.get()), use_gtk); 144 GTK_CHROME_BUTTON(widget_.get()), use_gtk);
143 } 145 }
OLDNEW
« no previous file with comments | « chrome/browser/gtk/gtk_theme_provider.cc ('k') | chrome/chrome.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698