diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-27 22:29:33 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-27 22:29:33 +0000 |
commit | 7edd18668d67a2e433773b32a56eea57949b4a80 (patch) | |
tree | 3dcddc0e1b9245781de761e0345d31e28fd826f3 /chrome | |
parent | cdb2c4e3bdde509ca59d67824f8e1f1e16dd8793 (diff) | |
download | chromium_src-7edd18668d67a2e433773b32a56eea57949b4a80.zip chromium_src-7edd18668d67a2e433773b32a56eea57949b4a80.tar.gz chromium_src-7edd18668d67a2e433773b32a56eea57949b4a80.tar.bz2 |
gtk: Use CHROMEGTK_ macro for OnExpose event on DraggedTabGtk class.
BUG=None
TEST=None
R=evan@chromium.org
Review URL: http://codereview.chromium.org/6903085
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83230 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/ui/gtk/tabs/dragged_tab_gtk.cc | 33 | ||||
-rw-r--r-- | chrome/browser/ui/gtk/tabs/dragged_tab_gtk.h | 4 |
2 files changed, 15 insertions, 22 deletions
diff --git a/chrome/browser/ui/gtk/tabs/dragged_tab_gtk.cc b/chrome/browser/ui/gtk/tabs/dragged_tab_gtk.cc index 016b091..7f6294a 100644 --- a/chrome/browser/ui/gtk/tabs/dragged_tab_gtk.cc +++ b/chrome/browser/ui/gtk/tabs/dragged_tab_gtk.cc @@ -68,8 +68,7 @@ DraggedTabGtk::DraggedTabGtk(TabContents* datasource, container_ = gtk_window_new(GTK_WINDOW_POPUP); SetContainerColorMap(); gtk_widget_set_app_paintable(container_, TRUE); - g_signal_connect(container_, "expose-event", - G_CALLBACK(OnExposeEvent), this); + g_signal_connect(container_, "expose-event", G_CALLBACK(OnExposeThunk), this); gtk_widget_add_events(container_, GDK_STRUCTURE_MASK); // We contain the tab renderer in a GtkFixed in order to maintain the @@ -274,27 +273,21 @@ void DraggedTabGtk::SetContainerShapeMask(cairo_surface_t* surface) { g_object_unref(pixmap); } -// static -gboolean DraggedTabGtk::OnExposeEvent(GtkWidget* widget, - GdkEventExpose* event, - DraggedTabGtk* dragged_tab) { - cairo_surface_t* surface = dragged_tab->renderer_->PaintToSurface(); - if (gtk_util::IsScreenComposited()) { - dragged_tab->SetContainerTransparency(); - } else { - dragged_tab->SetContainerShapeMask(surface); - } +gboolean DraggedTabGtk::OnExpose(GtkWidget* widget, GdkEventExpose* event) { + cairo_surface_t* surface = renderer_->PaintToSurface(); + if (gtk_util::IsScreenComposited()) + SetContainerTransparency(); + else + SetContainerShapeMask(surface); // Only used when not attached. - int tab_width = static_cast<int>(kScalingFactor * - dragged_tab->renderer_->width()); - int tab_height = static_cast<int>(kScalingFactor * - dragged_tab->renderer_->height()); + int tab_width = static_cast<int>(kScalingFactor * renderer_->width()); + int tab_height = static_cast<int>(kScalingFactor * renderer_->height()); // Draw the render area. BackingStore* backing_store = - dragged_tab->data_source_->render_view_host()->GetBackingStore(false); - if (backing_store && !dragged_tab->attached_) { + data_source_->render_view_host()->GetBackingStore(false); + if (backing_store && !attached_) { // This leaves room for the border. static_cast<BackingStoreX*>(backing_store)->PaintToRect( gfx::Rect(kDragFrameBorderSize, tab_height, @@ -306,7 +299,7 @@ gboolean DraggedTabGtk::OnExposeEvent(GtkWidget* widget, cairo_t* cr = gdk_cairo_create(GDK_DRAWABLE(widget->window)); // Draw the border. - if (!dragged_tab->attached_) { + if (!attached_) { cairo_set_line_width(cr, kDragFrameBorderSize); cairo_set_source_rgb(cr, kDraggedTabBorderColor[0], kDraggedTabBorderColor[1], @@ -331,7 +324,7 @@ gboolean DraggedTabGtk::OnExposeEvent(GtkWidget* widget, } // Draw the tab. - if (!dragged_tab->attached_) + if (!attached_) cairo_scale(cr, kScalingFactor, kScalingFactor); cairo_set_source_surface(cr, surface, 0, 0); cairo_paint(cr); diff --git a/chrome/browser/ui/gtk/tabs/dragged_tab_gtk.h b/chrome/browser/ui/gtk/tabs/dragged_tab_gtk.h index 85b2700..6ff0e65 100644 --- a/chrome/browser/ui/gtk/tabs/dragged_tab_gtk.h +++ b/chrome/browser/ui/gtk/tabs/dragged_tab_gtk.h @@ -13,6 +13,7 @@ #include "base/task.h" #include "ui/base/animation/animation_delegate.h" #include "ui/base/animation/slide_animation.h" +#include "ui/base/gtk/gtk_signal.h" #include "ui/gfx/canvas.h" #include "ui/gfx/point.h" #include "ui/gfx/rect.h" @@ -98,8 +99,7 @@ class DraggedTabGtk : public ui::AnimationDelegate { void SetContainerShapeMask(cairo_surface_t* surface); // expose-event handler that notifies when the tab needs to be redrawn. - static gboolean OnExposeEvent(GtkWidget* widget, GdkEventExpose* event, - DraggedTabGtk* dragged_tab); + CHROMEGTK_CALLBACK_1(DraggedTabGtk, gboolean, OnExpose, GdkEventExpose*); // The tab contents that the dragged tab contains. TabContents* data_source_; |