1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_GTK_TABSTRIP_ORIGIN_PROVIDER_H_
6 #define CHROME_BROWSER_UI_GTK_TABSTRIP_ORIGIN_PROVIDER_H_
12 // Abstract interface that provides an offset of a widget. Many pieces of the
13 // UI don't need the full BrowserWindowGtk, but just need information about
14 // its position relative to the tabstrip to draw correctly. This interface
15 // exists to make it easier to test piece by piece.
16 class TabstripOriginProvider
{
18 virtual ~TabstripOriginProvider() { }
20 // Return the origin of the tab strip in coordinates relative to where we
21 // start drawing the background theme image. This is the x coordinate of
22 // the origin of the GdkWindow of widget(), but the y coordinate of the origin
23 // of widget() itself.
24 // Used to help other widgets draw their background relative to the tabstrip.
25 // Should only be called after both the tabstrip and |widget| have been
27 virtual gfx::Point
GetTabStripOriginForWidget(GtkWidget
* widget
) = 0;
30 #endif // CHROME_BROWSER_UI_GTK_TABSTRIP_ORIGIN_PROVIDER_H_