Home | History | Annotate | Download | only in libgtk2ui
      1 // Copyright (c) 2012 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_GTK2_UTIL_H_
      6 #define CHROME_BROWSER_UI_LIBGTK2UI_GTK2_UTIL_H_
      7 
      8 #include <gtk/gtk.h>
      9 #include <string>
     10 
     11 #include "ui/native_theme/native_theme.h"
     12 
     13 class SkBitmap;
     14 
     15 namespace aura {
     16 class Window;
     17 }
     18 
     19 namespace base {
     20 class CommandLine;
     21 class Environment;
     22 }
     23 
     24 namespace ui {
     25 class Accelerator;
     26 }
     27 
     28 namespace libgtk2ui {
     29 
     30 void GtkInitFromCommandLine(const base::CommandLine& command_line);
     31 
     32 // Returns the name of the ".desktop" file associated with our running process.
     33 std::string GetDesktopName(base::Environment* env);
     34 
     35 // Show the image for the given menu item, even if the user's default is to not
     36 // show images. Only to be used for favicons or other menus where the image is
     37 // crucial to its functionality.
     38 void SetAlwaysShowImage(GtkWidget* image_menu_item);
     39 
     40 guint GetGdkKeyCodeForAccelerator(const ui::Accelerator& accelerator);
     41 
     42 GdkModifierType GetGdkModifierForAccelerator(
     43     const ui::Accelerator& accelerator);
     44 
     45 // Translates event flags into plaform independent event flags.
     46 int EventFlagsFromGdkState(guint state);
     47 
     48 // Sets |dialog| as transient for |parent|, which will keep it on top and center
     49 // it above |parent|. Do nothing if |parent| is NULL.
     50 void SetGtkTransientForAura(GtkWidget* dialog, aura::Window* parent);
     51 
     52 // Gets the transient parent aura window for |dialog|.
     53 aura::Window* GetAuraTransientParent(GtkWidget* dialog);
     54 
     55 // Clears the transient parent for |dialog|.
     56 void ClearAuraTransientParent(GtkWidget* dialog);
     57 
     58 // Converts a NativeTheme state to a GtkStateType.
     59 GtkStateType GetGtkState(ui::NativeTheme::State state);
     60 
     61 }  // namespace libgtk2ui
     62 
     63 #endif  // CHROME_BROWSER_UI_LIBGTK2UI_GTK2_UTIL_H_
     64