#include "third_party/blink/renderer/core/scroll/scrollbar_theme_aura.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "cc/input/scrollbar.h"
#include "third_party/blink/public/common/input/web_mouse_event.h"
#include "third_party/blink/renderer/core/scroll/scrollbar.h"
#include "third_party/blink/renderer/core/scroll/scrollbar_theme_fluent.h"
#include "third_party/blink/renderer/core/scroll/scrollbar_theme_overlay.h"
#include "third_party/blink/renderer/core/style/computed_style_base_constants.h"
#include "third_party/blink/renderer/platform/graphics/graphics_context.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/point_conversions.h"
namespace blink {
namespace {
constexpr int kScrollbarThicknessForWebTests = …;
constexpr float kAutoProportion = …;
constexpr float kThinProportion = …;
struct PartPaintingParams { … };
bool operator==(const PartPaintingParams& a, const PartPaintingParams& b) { … }
bool operator!=(const PartPaintingParams& a, const PartPaintingParams& b) { … }
PartPaintingParams ButtonPartPaintingParams(const Scrollbar& scrollbar,
float position,
ScrollbarPart part) { … }
}
ScrollbarTheme& ScrollbarTheme::NativeTheme() { … }
bool ScrollbarThemeAura::SupportsDragSnapBack() const { … }
int ScrollbarThemeAura::ScrollbarThickness(
float scale_from_dip,
EScrollbarWidth scrollbar_width) const { … }
bool ScrollbarThemeAura::HasThumb(const Scrollbar& scrollbar) const { … }
gfx::Rect ScrollbarThemeAura::BackButtonRect(const Scrollbar& scrollbar) const { … }
gfx::Rect ScrollbarThemeAura::ForwardButtonRect(
const Scrollbar& scrollbar) const { … }
gfx::Rect ScrollbarThemeAura::TrackRect(const Scrollbar& scrollbar) const { … }
int ScrollbarThemeAura::MinimumThumbLength(const Scrollbar& scrollbar) const { … }
void ScrollbarThemeAura::PaintTrackBackgroundAndButtons(
GraphicsContext& context,
const Scrollbar& scrollbar,
const gfx::Rect& rect) { … }
void ScrollbarThemeAura::PaintTrackBackground(GraphicsContext& context,
const Scrollbar& scrollbar,
const gfx::Rect& rect) { … }
void ScrollbarThemeAura::PaintButton(GraphicsContext& gc,
const Scrollbar& scrollbar,
const gfx::Rect& rect,
ScrollbarPart part) { … }
void ScrollbarThemeAura::PaintThumb(GraphicsContext& gc,
const Scrollbar& scrollbar,
const gfx::Rect& rect) { … }
WebThemeEngine::ScrollbarThumbExtraParams
ScrollbarThemeAura::BuildScrollbarThumbExtraParams(
const Scrollbar& scrollbar) const { … }
bool ScrollbarThemeAura::ShouldRepaintAllPartsOnInvalidation() const { … }
ScrollbarPart ScrollbarThemeAura::PartsToInvalidateOnThumbPositionChange(
const Scrollbar& scrollbar,
float old_position,
float new_position) const { … }
bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scrollbar& scrollbar,
const WebMouseEvent& event) const { … }
bool ScrollbarThemeAura::ShouldSnapBackToDragOrigin(
const Scrollbar& scrollbar,
const WebMouseEvent& event) const { … }
float ScrollbarThemeAura::Proportion(EScrollbarWidth scrollbar_width) const { … }
bool ScrollbarThemeAura::HasScrollbarButtons(
ScrollbarOrientation orientation) const { … }
gfx::Size ScrollbarThemeAura::ButtonSize(const Scrollbar& scrollbar) const { … }
bool ScrollbarThemeAura::UsesSolidColorThumb() const { … }
gfx::Insets ScrollbarThemeAura::SolidColorThumbInsets(
const Scrollbar& scrollbar) const { … }
SkColor4f ScrollbarThemeAura::ThumbColor(const Scrollbar& scrollbar) const { … }
bool ScrollbarThemeAura::UsesNinePatchTrackAndButtonsResource() const { … }
gfx::Size ScrollbarThemeAura::NinePatchTrackAndButtonsCanvasSize(
const Scrollbar& scrollbar) const { … }
gfx::Rect ScrollbarThemeAura::NinePatchTrackAndButtonsAperture(
const Scrollbar& scrollbar) const { … }
}