Home | History | Annotate | Download | only in libgtk2ui
      1 // Copyright 2013 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_LIBGTK2UI_CHROME_GTK_MENU_SUBCLASSES_H_
      6 #define CHROME_BROWSER_UI_LIBGTK2UI_CHROME_GTK_MENU_SUBCLASSES_H_
      7 
      8 #include <gtk/gtk.h>
      9 
     10 // This file declares two subclasses of Gtk's menu classes. We do this because
     11 // when we were a GTK app proper, we had classes with the same names, and gtk
     12 // theme authors started writing themes and styling chrome's menus by targeting
     13 // these classes. We have to fetch our colors from these theme classes in
     14 // specific because several newer GTK+2 themes are pixmap based and they
     15 // specifically give real colors only to these classes.
     16 
     17 G_BEGIN_DECLS
     18 
     19 typedef struct _GtkCustomMenu GtkCustomMenu;
     20 typedef struct _GtkCustomMenuClass GtkCustomMenuClass;
     21 
     22 struct _GtkCustomMenu {
     23   GtkMenu menu;
     24 };
     25 
     26 struct _GtkCustomMenuClass {
     27   GtkMenuClass parent_class;
     28 };
     29 
     30 GtkWidget* gtk_custom_menu_new();
     31 
     32 typedef struct _GtkCustomMenuItem GtkCustomMenuItem;
     33 typedef struct _GtkCustomMenuItemClass GtkCustomMenuItemClass;
     34 
     35 struct _GtkCustomMenuItem {
     36   GtkMenuItem menu_item;
     37 };
     38 
     39 struct _GtkCustomMenuItemClass {
     40   GtkMenuItemClass parent_class;
     41 };
     42 
     43 GtkWidget* gtk_custom_menu_item_new();
     44 
     45 G_END_DECLS
     46 
     47 #endif  // CHROME_BROWSER_UI_LIBGTK2UI_CHROME_GTK_MENU_SUBCLASSES_H_
     48