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

Side by Side Diff: chrome/browser/ui/gtk/menu_gtk.cc

Issue 10377122: Convert GdkPixbufFromSkBitmap and GdkPixbufToSkBitmap (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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
OLDNEW
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/menu_gtk.h" 5 #include "chrome/browser/ui/gtk/menu_gtk.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 GtkWidget* MenuGtk::BuildMenuItemWithImage(const std::string& label, 414 GtkWidget* MenuGtk::BuildMenuItemWithImage(const std::string& label,
415 GtkWidget* image) { 415 GtkWidget* image) {
416 GtkWidget* menu_item = 416 GtkWidget* menu_item =
417 gtk_image_menu_item_new_with_mnemonic(label.c_str()); 417 gtk_image_menu_item_new_with_mnemonic(label.c_str());
418 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), image); 418 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), image);
419 return menu_item; 419 return menu_item;
420 } 420 }
421 421
422 GtkWidget* MenuGtk::BuildMenuItemWithImage(const std::string& label, 422 GtkWidget* MenuGtk::BuildMenuItemWithImage(const std::string& label,
423 const SkBitmap& icon) { 423 const SkBitmap& icon) {
424 GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(&icon); 424 GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(icon);
425 GtkWidget* menu_item = BuildMenuItemWithImage(label, 425 GtkWidget* menu_item = BuildMenuItemWithImage(label,
426 gtk_image_new_from_pixbuf(pixbuf)); 426 gtk_image_new_from_pixbuf(pixbuf));
427 g_object_unref(pixbuf); 427 g_object_unref(pixbuf);
428 return menu_item; 428 return menu_item;
429 } 429 }
430 430
431 GtkWidget* MenuGtk::BuildMenuItemWithLabel(const std::string& label, 431 GtkWidget* MenuGtk::BuildMenuItemWithLabel(const std::string& label,
432 int command_id) { 432 int command_id) {
433 GtkWidget* img = 433 GtkWidget* img =
434 delegate_ ? delegate_->GetImageForCommandId(command_id) : 434 delegate_ ? delegate_->GetImageForCommandId(command_id) :
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
871 if (model->IsVisibleAt(id)) { 871 if (model->IsVisibleAt(id)) {
872 // Update the menu item label if it is dynamic. 872 // Update the menu item label if it is dynamic.
873 if (model->IsItemDynamicAt(id)) { 873 if (model->IsItemDynamicAt(id)) {
874 std::string label = ui::ConvertAcceleratorsFromWindowsStyle( 874 std::string label = ui::ConvertAcceleratorsFromWindowsStyle(
875 UTF16ToUTF8(model->GetLabelAt(id))); 875 UTF16ToUTF8(model->GetLabelAt(id)));
876 876
877 gtk_menu_item_set_label(GTK_MENU_ITEM(widget), label.c_str()); 877 gtk_menu_item_set_label(GTK_MENU_ITEM(widget), label.c_str());
878 if (GTK_IS_IMAGE_MENU_ITEM(widget)) { 878 if (GTK_IS_IMAGE_MENU_ITEM(widget)) {
879 SkBitmap icon; 879 SkBitmap icon;
880 if (model->GetIconAt(id, &icon)) { 880 if (model->GetIconAt(id, &icon)) {
881 GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(&icon); 881 GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(icon);
882 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), 882 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget),
883 gtk_image_new_from_pixbuf(pixbuf)); 883 gtk_image_new_from_pixbuf(pixbuf));
884 g_object_unref(pixbuf); 884 g_object_unref(pixbuf);
885 } else { 885 } else {
886 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), NULL); 886 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), NULL);
887 } 887 }
888 } 888 }
889 } 889 }
890 890
891 gtk_widget_show(widget); 891 gtk_widget_show(widget);
892 } else { 892 } else {
893 gtk_widget_hide(widget); 893 gtk_widget_hide(widget);
894 } 894 }
895 895
896 GtkWidget* submenu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget)); 896 GtkWidget* submenu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget));
897 if (submenu) { 897 if (submenu) {
898 gtk_container_foreach(GTK_CONTAINER(submenu), &SetMenuItemInfo, 898 gtk_container_foreach(GTK_CONTAINER(submenu), &SetMenuItemInfo,
899 userdata); 899 userdata);
900 } 900 }
901 } 901 }
902 } 902 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/location_bar_view_gtk.cc ('k') | chrome/browser/ui/gtk/omnibox/omnibox_popup_view_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698