#include "ui/gtk/native_theme_gtk.h"
#include "base/no_destructor.h"
#include "base/ranges/algorithm.h"
#include "base/strings/strcat.h"
#include "cc/paint/paint_canvas.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/color/color_id.h"
#include "ui/color/color_provider.h"
#include "ui/color/color_provider_manager.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/color_utils.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/skia_conversions.h"
#include "ui/gtk/gtk_color_mixers.h"
#include "ui/gtk/gtk_compat.h"
#include "ui/gtk/gtk_util.h"
#include "ui/native_theme/common_theme.h"
#include "ui/native_theme/native_theme_aura.h"
#include "ui/native_theme/native_theme_utils.h"
StrCat;
namespace gtk {
namespace {
enum BackgroundRenderMode { … };
SkBitmap GetWidgetBitmap(const gfx::Size& size,
GtkCssContext context,
BackgroundRenderMode bg_mode,
bool render_frame) { … }
void PaintWidget(cc::PaintCanvas* canvas,
const gfx::Rect& rect,
GtkCssContext context,
BackgroundRenderMode bg_mode,
bool render_frame) { … }
}
NativeThemeGtk* NativeThemeGtk::instance() { … }
NativeThemeGtk::NativeThemeGtk()
: … { … }
NativeThemeGtk::~NativeThemeGtk() { … }
void NativeThemeGtk::SetThemeCssOverride(ScopedCssProvider provider) { … }
void NativeThemeGtk::NotifyOnNativeThemeUpdated() { … }
void NativeThemeGtk::OnThemeChanged(GtkSettings* settings,
GtkParamSpec* param) { … }
void NativeThemeGtk::PaintMenuPopupBackground(
cc::PaintCanvas* canvas,
const ui::ColorProvider* color_provider,
const gfx::Size& size,
const MenuBackgroundExtraParams& menu_background,
ColorScheme color_scheme) const { … }
void NativeThemeGtk::PaintMenuItemBackground(
cc::PaintCanvas* canvas,
const ui::ColorProvider* color_provider,
State state,
const gfx::Rect& rect,
const MenuItemExtraParams& menu_item,
ColorScheme color_scheme) const { … }
void NativeThemeGtk::PaintMenuSeparator(
cc::PaintCanvas* canvas,
const ui::ColorProvider* color_provider,
State state,
const gfx::Rect& rect,
const MenuSeparatorExtraParams& menu_separator) const { … }
void NativeThemeGtk::PaintFrameTopArea(
cc::PaintCanvas* canvas,
State state,
const gfx::Rect& rect,
const FrameTopAreaExtraParams& frame_top_area,
ColorScheme color_scheme) const { … }
}