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.
5 #ifndef CHROME_BROWSER_UI_LIBGTK2UI_CHROME_GTK_MENU_SUBCLASSES_H_
6 #define CHROME_BROWSER_UI_LIBGTK2UI_CHROME_GTK_MENU_SUBCLASSES_H_
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.
19 typedef struct _GtkCustomMenu GtkCustomMenu
;
20 typedef struct _GtkCustomMenuClass GtkCustomMenuClass
;
22 struct _GtkCustomMenu
{
26 struct _GtkCustomMenuClass
{
27 GtkMenuClass parent_class
;
30 GtkWidget
* gtk_custom_menu_new();
32 typedef struct _GtkCustomMenuItem GtkCustomMenuItem
;
33 typedef struct _GtkCustomMenuItemClass GtkCustomMenuItemClass
;
35 struct _GtkCustomMenuItem
{
36 GtkMenuItem menu_item
;
39 struct _GtkCustomMenuItemClass
{
40 GtkMenuItemClass parent_class
;
43 GtkWidget
* gtk_custom_menu_item_new();
47 #endif // CHROME_BROWSER_UI_LIBGTK2UI_CHROME_GTK_MENU_SUBCLASSES_H_