diff options
author | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-16 18:19:17 +0000 |
---|---|---|
committer | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-16 18:19:17 +0000 |
commit | 2b2d1697cd3cd6303b372949565bb8ac87741589 (patch) | |
tree | 2c4ca63f7e4854c1be423d74896ec71d4c80a858 /base/gfx/gtk_util.cc | |
parent | 54e1d52455272e0af32b4c6080f1914f6f2c4f95 (diff) | |
download | chromium_src-2b2d1697cd3cd6303b372949565bb8ac87741589.zip chromium_src-2b2d1697cd3cd6303b372949565bb8ac87741589.tar.gz chromium_src-2b2d1697cd3cd6303b372949565bb8ac87741589.tar.bz2 |
Recommit previous change with GYP files fixed.
Implement BookmarkContextMenuGtk and hook it up to most bookmark bar elements.
Also:
- Fixes window dispositions (shift-click works on bookmark bar items).
- Reorganizes gtk_utils
Original Review URL: http://codereview.chromium.org/76002
Review URL: http://codereview.chromium.org/67223
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13857 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/gfx/gtk_util.cc')
-rwxr-xr-x | base/gfx/gtk_util.cc | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/base/gfx/gtk_util.cc b/base/gfx/gtk_util.cc index c307976..e01a2bd 100755 --- a/base/gfx/gtk_util.cc +++ b/base/gfx/gtk_util.cc @@ -8,16 +8,6 @@ #include <gtk/gtk.h> #include "base/gfx/rect.h" -#include "skia/include/SkBitmap.h" - -namespace { - -// Callback used in RemoveAllChildren. -void RemoveWidget(GtkWidget* widget, gpointer container) { - gtk_container_remove(GTK_CONTAINER(container), widget); -} - -} // namespace namespace gfx { @@ -36,10 +26,6 @@ void SubtractRectanglesFromRegion(GdkRegion* region, } } -static void FreePixels(guchar* pixels, gpointer data) { - free(data); -} - uint8_t* BGRAToRGBA(const uint8_t* pixels, int width, int height, int stride) { if (stride == 0) stride = width * 4; @@ -60,43 +46,4 @@ uint8_t* BGRAToRGBA(const uint8_t* pixels, int width, int height, int stride) { return new_pixels; } -GdkPixbuf* GdkPixbufFromSkBitmap(const SkBitmap* bitmap) { - bitmap->lockPixels(); - int width = bitmap->width(); - int height = bitmap->height(); - int stride = bitmap->rowBytes(); - const guchar* orig_data = static_cast<guchar*>(bitmap->getPixels()); - guchar* data = BGRAToRGBA(orig_data, width, height, stride); - - // This pixbuf takes ownership of our malloc()ed data and will - // free it for us when it is destroyed. - GdkPixbuf* pixbuf = gdk_pixbuf_new_from_data( - data, - GDK_COLORSPACE_RGB, // The only colorspace gtk supports. - true, // There is an alpha channel. - 8, - width, height, stride, &FreePixels, data); - - bitmap->unlockPixels(); - return pixbuf; -} - -GtkWidget* CreateGtkBorderBin(GtkWidget* child, const GdkColor* color, - int top, int bottom, int left, int right) { - // Use a GtkEventBox to get the background painted. However, we can't just - // use a container border, since it won't paint there. Use an alignment - // inside to get the sizes exactly of how we want the border painted. - GtkWidget* ebox = gtk_event_box_new(); - gtk_widget_modify_bg(ebox, GTK_STATE_NORMAL, color); - GtkWidget* alignment = gtk_alignment_new(0.0, 0.0, 1.0, 1.0); - gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), top, bottom, left, right); - gtk_container_add(GTK_CONTAINER(alignment), child); - gtk_container_add(GTK_CONTAINER(ebox), alignment); - return ebox; -} - -void RemoveAllChildren(GtkWidget* container) { - gtk_container_foreach(GTK_CONTAINER(container), RemoveWidget, container); -} - } // namespace gfx |