- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / gtk / tabstrip_origin_provider.h
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.
4
5 #ifndef CHROME_BROWSER_UI_GTK_TABSTRIP_ORIGIN_PROVIDER_H_
6 #define CHROME_BROWSER_UI_GTK_TABSTRIP_ORIGIN_PROVIDER_H_
7
8 namespace gfx{
9 class Point;
10 }
11
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 {
17  public:
18   virtual ~TabstripOriginProvider() { }
19
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
26   // allocated.
27   virtual gfx::Point GetTabStripOriginForWidget(GtkWidget* widget) = 0;
28 };
29
30 #endif  // CHROME_BROWSER_UI_GTK_TABSTRIP_ORIGIN_PROVIDER_H_