#include "third_party/blink/renderer/core/scroll/scrollbar_theme_fluent.h"
#include "base/numerics/safe_conversions.h"
#include "third_party/blink/public/common/css/forced_colors.h"
#include "third_party/blink/public/platform/web_theme_engine.h"
#include "third_party/blink/renderer/core/scroll/scrollable_area.h"
#include "third_party/blink/renderer/core/scroll/scrollbar.h"
#include "third_party/blink/renderer/platform/graphics/paint/drawing_recorder.h"
#include "third_party/blink/renderer/platform/theme/web_theme_engine_helper.h"
#include "third_party/blink/renderer/platform/web_test_support.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/rect_conversions.h"
namespace blink {
ScrollbarThemeFluent& ScrollbarThemeFluent::GetInstance() { … }
ScrollbarThemeFluent::ScrollbarThemeFluent() { … }
int ScrollbarThemeFluent::ScrollbarThickness(
float scale_from_dip,
EScrollbarWidth scrollbar_width) const { … }
gfx::Rect ScrollbarThemeFluent::ThumbRect(const Scrollbar& scrollbar) const { … }
gfx::Size ScrollbarThemeFluent::ButtonSize(const Scrollbar& scrollbar) const { … }
bool ScrollbarThemeFluent::UsesOverlayScrollbars() const { … }
bool ScrollbarThemeFluent::UsesFluentScrollbars() const { … }
bool ScrollbarThemeFluent::UsesFluentOverlayScrollbars() const { … }
base::TimeDelta ScrollbarThemeFluent::OverlayScrollbarFadeOutDelay() const { … }
base::TimeDelta ScrollbarThemeFluent::OverlayScrollbarFadeOutDuration() const { … }
ScrollbarPart ScrollbarThemeFluent::PartsToInvalidateOnThumbPositionChange(
const Scrollbar& scrollbar,
float old_position,
float new_position) const { … }
int ScrollbarThemeFluent::ThumbThickness(
const float scale_from_dip,
const EScrollbarWidth scrollbar_width) const { … }
void ScrollbarThemeFluent::PaintTrackBackground(GraphicsContext& context,
const Scrollbar& scrollbar,
const gfx::Rect& rect) { … }
void ScrollbarThemeFluent::PaintButton(GraphicsContext& context,
const Scrollbar& scrollbar,
const gfx::Rect& rect,
ScrollbarPart part) { … }
WebThemeEngine::ScrollbarThumbExtraParams
ScrollbarThemeFluent::BuildScrollbarThumbExtraParams(
const Scrollbar& scrollbar) const { … }
gfx::Rect ScrollbarThemeFluent::InsetTrackRect(const Scrollbar& scrollbar,
gfx::Rect rect) const { … }
gfx::Rect ScrollbarThemeFluent::InsetButtonRect(const Scrollbar& scrollbar,
gfx::Rect rect,
ScrollbarPart part) const { … }
int ScrollbarThemeFluent::ScrollbarTrackInsetPx(float scale) const { … }
gfx::Rect ScrollbarThemeFluent::ShrinkMainThreadedMinimalModeThumbRect(
const Scrollbar& scrollbar,
const gfx::Rect& rect) const { … }
bool ScrollbarThemeFluent::UsesNinePatchTrackAndButtonsResource() const { … }
}