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

Side by Side Diff: chrome/browser/gtk/tabs/dragged_tab_gtk.h

Issue 155321: Improve performance of dragged tab renderering.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 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
« no previous file with comments | « no previous file | chrome/browser/gtk/tabs/dragged_tab_gtk.cc » ('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 #ifndef CHROME_BROWSER_GTK_TABS_DRAGGED_TAB_GTK_H_ 5 #ifndef CHROME_BROWSER_GTK_TABS_DRAGGED_TAB_GTK_H_
6 #define CHROME_BROWSER_GTK_TABS_DRAGGED_TAB_GTK_H_ 6 #define CHROME_BROWSER_GTK_TABS_DRAGGED_TAB_GTK_H_
7 7
8 #include <gtk/gtk.h> 8 #include <gtk/gtk.h>
9 9
10 #include "app/gfx/canvas.h" 10 #include "app/gfx/canvas.h"
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 // transparent. 79 // transparent.
80 void SetContainerColorMap(); 80 void SetContainerColorMap();
81 81
82 // Sets full transparency for the container window. This is used if 82 // Sets full transparency for the container window. This is used if
83 // compositing is available for the screen. 83 // compositing is available for the screen.
84 void SetContainerTransparency(); 84 void SetContainerTransparency();
85 85
86 // Sets the shape mask for the container window to emulate a transparent 86 // Sets the shape mask for the container window to emulate a transparent
87 // container window. This is used if compositing is not available for the 87 // container window. This is used if compositing is not available for the
88 // screen. 88 // screen.
89 void SetContainerShapeMask(const SkBitmap& dragged_contents); 89 // |pixbuf| is the pixbuf for the tab only (not the render view).
90 void SetContainerShapeMask(GdkPixbuf* pixbuf);
90 91
91 // Paints the tab when it's attached to a tabstrip. 92 // Paints the tab. The returned pixbuf belongs to the caller.
92 SkBitmap PaintAttachedTab(); 93 GdkPixbuf* PaintTab();
93
94 // Paints the tab when it's not attached to any tabstrip.
95 SkBitmap PaintDetachedView();
96
97 // Paints a screenshot of the dragged contents from the backing store into
98 // |canvas|.
99 void PaintScreenshotIntoCanvas(gfx::Canvas* canvas,
100 const gfx::Rect& target_bounds);
101 94
102 // expose-event handler that notifies when the tab needs to be redrawn. 95 // expose-event handler that notifies when the tab needs to be redrawn.
103 static gboolean OnExposeEvent(GtkWidget* widget, GdkEventExpose* event, 96 static gboolean OnExposeEvent(GtkWidget* widget, GdkEventExpose* event,
104 DraggedTabGtk* dragged_tab); 97 DraggedTabGtk* dragged_tab);
105 98
106 // The window that contains the dragged tab or tab contents. 99 // The window that contains the dragged tab or tab contents.
107 GtkWidget* container_; 100 GtkWidget* container_;
108 101
109 // The native view of the tab contents. 102 // The native view of the tab contents.
110 GtkWidget* contents_; 103 GtkWidget* contents_;
(...skipping 29 matching lines...) Expand all
140 scoped_ptr<Callback0::Type> animation_callback_; 133 scoped_ptr<Callback0::Type> animation_callback_;
141 134
142 // The start and end bounds of the animation sequence. 135 // The start and end bounds of the animation sequence.
143 gfx::Rect animation_start_bounds_; 136 gfx::Rect animation_start_bounds_;
144 gfx::Rect animation_end_bounds_; 137 gfx::Rect animation_end_bounds_;
145 138
146 DISALLOW_COPY_AND_ASSIGN(DraggedTabGtk); 139 DISALLOW_COPY_AND_ASSIGN(DraggedTabGtk);
147 }; 140 };
148 141
149 #endif // CHROME_BROWSER_GTK_TABS_DRAGGED_TAB_GTK_H_ 142 #endif // CHROME_BROWSER_GTK_TABS_DRAGGED_TAB_GTK_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/gtk/tabs/dragged_tab_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698