| Index: chrome/browser/ui/libgtk2ui/gtk2_ui.h
|
| diff --git a/chrome/browser/ui/libgtk2ui/gtk2_ui.h b/chrome/browser/ui/libgtk2ui/gtk2_ui.h
|
| deleted file mode 100644
|
| index e883e658594795a1dd8a390ef7624b9160c9a5fb..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/libgtk2ui/gtk2_ui.h
|
| +++ /dev/null
|
| @@ -1,217 +0,0 @@
|
| -// Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CHROME_BROWSER_UI_LIBGTK2UI_GTK2_UI_H_
|
| -#define CHROME_BROWSER_UI_LIBGTK2UI_GTK2_UI_H_
|
| -
|
| -#include <map>
|
| -#include <memory>
|
| -#include <vector>
|
| -
|
| -#include "base/compiler_specific.h"
|
| -#include "base/macros.h"
|
| -#include "base/observer_list.h"
|
| -#include "chrome/browser/ui/libgtk2ui/gtk2_signal.h"
|
| -#include "chrome/browser/ui/libgtk2ui/libgtk2ui_export.h"
|
| -#include "ui/gfx/color_utils.h"
|
| -#include "ui/views/linux_ui/linux_ui.h"
|
| -#include "ui/views/window/frame_buttons.h"
|
| -
|
| -typedef struct _GtkStyle GtkStyle;
|
| -typedef struct _GtkWidget GtkWidget;
|
| -
|
| -class SkBitmap;
|
| -
|
| -namespace libgtk2ui {
|
| -class Gtk2KeyBindingsHandler;
|
| -class GConfListener;
|
| -
|
| -// Interface to GTK2 desktop features.
|
| -//
|
| -class Gtk2UI : public views::LinuxUI {
|
| - public:
|
| - Gtk2UI();
|
| - ~Gtk2UI() override;
|
| -
|
| - typedef base::Callback<ui::NativeTheme*(aura::Window* window)>
|
| - NativeThemeGetter;
|
| -
|
| - // Setters used by GConfListener:
|
| - void SetWindowButtonOrdering(
|
| - const std::vector<views::FrameButton>& leading_buttons,
|
| - const std::vector<views::FrameButton>& trailing_buttons);
|
| - void SetNonClientMiddleClickAction(NonClientMiddleClickAction action);
|
| -
|
| - // Called when gtk style changes
|
| - void ResetStyle();
|
| -
|
| - // ui::LinuxInputMethodContextFactory:
|
| - std::unique_ptr<ui::LinuxInputMethodContext> CreateInputMethodContext(
|
| - ui::LinuxInputMethodContextDelegate* delegate,
|
| - bool is_simple) const override;
|
| -
|
| - // gfx::LinuxFontDelegate:
|
| - gfx::FontRenderParams GetDefaultFontRenderParams() const override;
|
| - void GetDefaultFontDescription(
|
| - std::string* family_out,
|
| - int* size_pixels_out,
|
| - int* style_out,
|
| - gfx::Font::Weight* weight_out,
|
| - gfx::FontRenderParams* params_out) const override;
|
| -
|
| - // ui::ShellDialogLinux:
|
| - ui::SelectFileDialog* CreateSelectFileDialog(
|
| - ui::SelectFileDialog::Listener* listener,
|
| - ui::SelectFilePolicy* policy) const override;
|
| -
|
| - // ui::LinuxUI:
|
| - void Initialize() override;
|
| - bool GetTint(int id, color_utils::HSL* tint) const override;
|
| - bool GetColor(int id, SkColor* color) const override;
|
| - SkColor GetFocusRingColor() const override;
|
| - SkColor GetThumbActiveColor() const override;
|
| - SkColor GetThumbInactiveColor() const override;
|
| - SkColor GetTrackColor() const override;
|
| - SkColor GetActiveSelectionBgColor() const override;
|
| - SkColor GetActiveSelectionFgColor() const override;
|
| - SkColor GetInactiveSelectionBgColor() const override;
|
| - SkColor GetInactiveSelectionFgColor() const override;
|
| - double GetCursorBlinkInterval() const override;
|
| - ui::NativeTheme* GetNativeTheme(aura::Window* window) const override;
|
| - void SetNativeThemeOverride(const NativeThemeGetter& callback) override;
|
| - bool GetDefaultUsesSystemTheme() const override;
|
| - void SetDownloadCount(int count) const override;
|
| - void SetProgressFraction(float percentage) const override;
|
| - bool IsStatusIconSupported() const override;
|
| - std::unique_ptr<views::StatusIconLinux> CreateLinuxStatusIcon(
|
| - const gfx::ImageSkia& image,
|
| - const base::string16& tool_tip) const override;
|
| - gfx::Image GetIconForContentType(const std::string& content_type,
|
| - int size) const override;
|
| - std::unique_ptr<views::Border> CreateNativeBorder(
|
| - views::LabelButton* owning_button,
|
| - std::unique_ptr<views::LabelButtonBorder> border) override;
|
| - void AddWindowButtonOrderObserver(
|
| - views::WindowButtonOrderObserver* observer) override;
|
| - void RemoveWindowButtonOrderObserver(
|
| - views::WindowButtonOrderObserver* observer) override;
|
| - bool UnityIsRunning() override;
|
| - NonClientMiddleClickAction GetNonClientMiddleClickAction() override;
|
| - void NotifyWindowManagerStartupComplete() override;
|
| -
|
| - // ui::TextEditKeybindingDelegate:
|
| - bool MatchEvent(const ui::Event& event,
|
| - std::vector<ui::TextEditCommandAuraLinux>* commands) override;
|
| -
|
| - // ui::Views::LinuxUI:
|
| - void UpdateDeviceScaleFactor(float device_scale_factor) override;
|
| - float GetDeviceScaleFactor() const override;
|
| -
|
| - private:
|
| - typedef std::map<int, SkColor> ColorMap;
|
| - typedef std::map<int, color_utils::HSL> TintMap;
|
| -
|
| - // This method returns the colors webkit will use for the scrollbars. When no
|
| - // colors are specified by the GTK+ theme, this function averages of the
|
| - // thumb part and of the track colors.
|
| - void SetScrollbarColors();
|
| -
|
| - // Extracts colors and tints from the GTK theme, both for the
|
| - // ThemeService interface and the colors we send to webkit.
|
| - void LoadGtkValues();
|
| -
|
| - // Initialize the Xcursor theme and size with the GTK theme and size.
|
| - void LoadCursorTheme();
|
| -
|
| - // Reads in explicit theme frame colors from the ChromeGtkFrame style class
|
| - // or generates them per our fallback algorithm.
|
| - void BuildFrameColors();
|
| -
|
| - // Gets a tint which depends on the default for |id| as well as |color|.
|
| - color_utils::HSL ColorToTint(int id, SkColor color);
|
| -
|
| - // Returns the tint for buttons that contrasts with the normal window
|
| - // background color.
|
| - void GetNormalButtonTintHSL(color_utils::HSL* tint) const;
|
| -
|
| - // Returns a tint that's the color of the current normal text in an entry.
|
| - void GetNormalEntryForegroundHSL(color_utils::HSL* tint) const;
|
| -
|
| - // Returns a tint that's the color of the current highlighted text in an
|
| - // entry.
|
| - void GetSelectedEntryForegroundHSL(color_utils::HSL* tint) const;
|
| -
|
| - // Gets a color for the background of the prominent button.
|
| - SkColor GetProminentButtonBgColor(int gtk_state) const;
|
| -
|
| - // Updates |default_font_*|.
|
| - void UpdateDefaultFont();
|
| -
|
| - // Colors calculated by LoadGtkValues() that are given to the
|
| - // caller while |use_gtk_| is true.
|
| - ColorMap colors_;
|
| -
|
| - // Colors used to tint certain icons.
|
| - color_utils::HSL button_tint_;
|
| - color_utils::HSL entry_tint_;
|
| - color_utils::HSL selected_entry_tint_;
|
| -
|
| - // Colors that we pass to WebKit. These are generated each time the theme
|
| - // changes.
|
| - SkColor focus_ring_color_;
|
| - SkColor thumb_active_color_;
|
| - SkColor thumb_inactive_color_;
|
| - SkColor track_color_;
|
| - SkColor active_selection_bg_color_;
|
| - SkColor active_selection_fg_color_;
|
| - SkColor inactive_selection_bg_color_;
|
| - SkColor inactive_selection_fg_color_;
|
| -
|
| - // Details about the default UI font.
|
| - std::string default_font_family_;
|
| - int default_font_size_pixels_;
|
| - int default_font_style_; // Bitfield of gfx::Font::Style values.
|
| - gfx::Font::Weight default_font_weight_;
|
| - gfx::FontRenderParams default_font_render_params_;
|
| -
|
| -#if defined(USE_GCONF)
|
| - // Currently, the only source of window button configuration. This will
|
| - // change if we ever have to support XFCE's configuration system or KDE's.
|
| - std::unique_ptr<GConfListener> gconf_listener_;
|
| -#endif // defined(USE_GCONF)
|
| -
|
| - // If either of these vectors are non-empty, they represent the current
|
| - // window button configuration.
|
| - std::vector<views::FrameButton> leading_buttons_;
|
| - std::vector<views::FrameButton> trailing_buttons_;
|
| -
|
| - std::unique_ptr<Gtk2KeyBindingsHandler> key_bindings_handler_;
|
| -
|
| - // Objects to notify when the window frame button order changes.
|
| - base::ObserverList<views::WindowButtonOrderObserver> observer_list_;
|
| -
|
| - // Whether we should lower the window on a middle click to the non client
|
| - // area.
|
| - NonClientMiddleClickAction middle_click_action_;
|
| -
|
| - // Used to override the native theme for a window. If no override is provided
|
| - // or the callback returns NULL, Gtk2UI will default to a NativeThemeGtk2
|
| - // instance.
|
| - NativeThemeGetter native_theme_overrider_;
|
| -
|
| - float device_scale_factor_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(Gtk2UI);
|
| -};
|
| -
|
| -} // namespace libgtk2ui
|
| -
|
| -// Access point to the GTK2 desktop system. This should be the only symbol that
|
| -// is exported in the library; everything else should be used through the
|
| -// interface, because eventually this .so will be loaded through dlopen at
|
| -// runtime so our main binary can conditionally load GTK2 or GTK3 or EFL or
|
| -// QT or whatever.
|
| -LIBGTK2UI_EXPORT views::LinuxUI* BuildGtk2UI();
|
| -
|
| -#endif // CHROME_BROWSER_UI_LIBGTK2UI_GTK2_UI_H_
|
|
|