Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3562)

Unified Diff: chrome/browser/ui/libgtk2ui/gtk2_ui.h

Issue 2449243002: Gtk3 ui: Add libgtk3ui as a separate build component (Closed)
Patch Set: Add theme_properties dep to //chrome/browser/ui Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/libgtk2ui/gtk2_status_icon.cc ('k') | chrome/browser/ui/libgtk2ui/gtk2_ui.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_
« no previous file with comments | « chrome/browser/ui/libgtk2ui/gtk2_status_icon.cc ('k') | chrome/browser/ui/libgtk2ui/gtk2_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698