fix: get background color from GtkMenuBar#menubar (#14785)
* fix: get background color from GtkMenuBar#menubar * expose libgtkui::GetBgColor
This commit is contained in:
parent
18c2574350
commit
c9bc3471e7
2 changed files with 20 additions and 2 deletions
|
@ -5,6 +5,7 @@
|
|||
#include "atom/browser/ui/views/menu_bar.h"
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
#include "atom/browser/ui/views/menu_delegate.h"
|
||||
#include "atom/browser/ui/views/submenu_button.h"
|
||||
|
@ -12,6 +13,10 @@
|
|||
#include "ui/views/background.h"
|
||||
#include "ui/views/layout/box_layout.h"
|
||||
|
||||
#if defined(USE_X11)
|
||||
#include "chrome/browser/ui/libgtkui/gtk_util.h"
|
||||
#endif
|
||||
|
||||
#if defined(OS_WIN)
|
||||
#include "ui/gfx/color_utils.h"
|
||||
#endif
|
||||
|
@ -123,13 +128,17 @@ void MenuBar::RefreshColorCache(const ui::NativeTheme* theme) {
|
|||
if (!theme)
|
||||
theme = ui::NativeTheme::GetInstanceForNativeUi();
|
||||
if (theme) {
|
||||
background_color_ =
|
||||
theme->GetSystemColor(ui::NativeTheme::kColorId_MenuBackgroundColor);
|
||||
#if defined(USE_X11)
|
||||
const std::string menubar_selector = "GtkMenuBar#menubar";
|
||||
background_color_ = libgtkui::GetBgColor(menubar_selector);
|
||||
|
||||
enabled_color_ = theme->GetSystemColor(
|
||||
ui::NativeTheme::kColorId_EnabledMenuItemForegroundColor);
|
||||
disabled_color_ = theme->GetSystemColor(
|
||||
ui::NativeTheme::kColorId_DisabledMenuItemForegroundColor);
|
||||
#else
|
||||
background_color_ =
|
||||
theme->GetSystemColor(ui::NativeTheme::kColorId_MenuBackgroundColor);
|
||||
#endif
|
||||
}
|
||||
#if defined(OS_WIN)
|
||||
|
|
|
@ -74,6 +74,15 @@ index 665ec57..4ccb088 100644
|
|||
|
||||
// Gets the transient parent aura window for |dialog|.
|
||||
aura::Window* GetAuraTransientParent(GtkWidget* dialog);
|
||||
@@ -190,7 +190,7 @@ void RenderBackground(const gfx::Size& size,
|
||||
// Renders a background from the style context created by
|
||||
// GetStyleContextFromCss(|css_selector|) into a 24x24 bitmap and
|
||||
// returns the average color.
|
||||
-SkColor GetBgColor(const std::string& css_selector);
|
||||
+LIBGTKUI_EXPORT SkColor GetBgColor(const std::string& css_selector);
|
||||
|
||||
// Renders the border from the style context created by
|
||||
// GetStyleContextFromCss(|css_selector|) into a 24x24 bitmap and
|
||||
diff --git a/chrome/browser/ui/libgtkui/skia_utils_gtk.h b/chrome/browser/ui/libgtkui/skia_utils_gtk.h
|
||||
index e05fbe9..3afca9a 100644
|
||||
--- a/chrome/browser/ui/libgtkui/skia_utils_gtk.h
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue