Home | History | Annotate | Download | only in gtk
      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 #pragma once
      8 
      9 namespace gfx{
     10 class Point;
     11 }
     12 
     13 // Abstract interface that provides an offset of a widget. Many pieces of the
     14 // UI don't need the full BrowserWindowGtk, but just need information about
     15 // it's position relative to the tabstrip to draw correctly. This interface
     16 // exists to make it easier to test piece by piece.
     17 class TabstripOriginProvider {
     18  public:
     19   virtual ~TabstripOriginProvider() { }
     20 
     21   // Return the origin of the tab strip in coordinates relative to where we
     22   // start drawing the background theme image. This is the x coordinate of
     23   // the origin of the GdkWindow of widget(), but the y coordinate of the origin
     24   // of widget() itself.
     25   // Used to help other widgets draw their background relative to the tabstrip.
     26   // Should only be called after both the tabstrip and |widget| have been
     27   // allocated.
     28   virtual gfx::Point GetTabStripOriginForWidget(GtkWidget* widget) = 0;
     29 };
     30 
     31 #endif  // CHROME_BROWSER_UI_GTK_TABSTRIP_ORIGIN_PROVIDER_H_
     32