#include "third_party/blink/renderer/core/scroll/scrollbar_layer_delegate.h"
#include "cc/paint/paint_canvas.h"
#include "third_party/blink/renderer/core/scroll/scroll_types.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/core/scroll/scrollbar_theme.h"
#include "third_party/blink/renderer/platform/graphics/graphics_context.h"
#include "third_party/blink/renderer/platform/graphics/paint/paint_canvas.h"
#include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h"
#include "third_party/blink/renderer/platform/web_test_support.h"
#include "ui/gfx/geometry/skia_conversions.h"
namespace blink {
namespace {
class ScopedScrollbarPainter { … };
}
ScrollbarLayerDelegate::ScrollbarLayerDelegate(blink::Scrollbar& scrollbar)
: … { … }
ScrollbarLayerDelegate::~ScrollbarLayerDelegate() = default;
bool ScrollbarLayerDelegate::IsSame(const cc::Scrollbar& other) const { … }
cc::ScrollbarOrientation ScrollbarLayerDelegate::Orientation() const { … }
bool ScrollbarLayerDelegate::IsLeftSideVerticalScrollbar() const { … }
bool ScrollbarLayerDelegate::HasThumb() const { … }
bool ScrollbarLayerDelegate::IsSolidColor() const { … }
bool ScrollbarLayerDelegate::IsOverlay() const { … }
bool ScrollbarLayerDelegate::IsRunningWebTest() const { … }
bool ScrollbarLayerDelegate::IsFluentOverlayScrollbarMinimalMode() const { … }
gfx::Rect ScrollbarLayerDelegate::ShrinkMainThreadedMinimalModeThumbRect(
gfx::Rect& rect) const { … }
gfx::Rect ScrollbarLayerDelegate::ThumbRect() const { … }
gfx::Rect ScrollbarLayerDelegate::TrackRect() const { … }
bool ScrollbarLayerDelegate::SupportsDragSnapBack() const { … }
bool ScrollbarLayerDelegate::JumpOnTrackClick() const { … }
bool ScrollbarLayerDelegate::IsOpaque() const { … }
gfx::Rect ScrollbarLayerDelegate::BackButtonRect() const { … }
gfx::Rect ScrollbarLayerDelegate::ForwardButtonRect() const { … }
float ScrollbarLayerDelegate::Opacity() const { … }
bool ScrollbarLayerDelegate::ThumbNeedsRepaint() const { … }
void ScrollbarLayerDelegate::ClearThumbNeedsRepaint() { … }
bool ScrollbarLayerDelegate::TrackAndButtonsNeedRepaint() const { … }
bool ScrollbarLayerDelegate::NeedsUpdateDisplay() const { … }
void ScrollbarLayerDelegate::ClearNeedsUpdateDisplay() { … }
bool ScrollbarLayerDelegate::UsesNinePatchThumbResource() const { … }
gfx::Size ScrollbarLayerDelegate::NinePatchThumbCanvasSize() const { … }
gfx::Rect ScrollbarLayerDelegate::NinePatchThumbAperture() const { … }
bool ScrollbarLayerDelegate::UsesSolidColorThumb() const { … }
gfx::Insets ScrollbarLayerDelegate::SolidColorThumbInsets() const { … }
bool ScrollbarLayerDelegate::UsesNinePatchTrackAndButtonsResource() const { … }
gfx::Size ScrollbarLayerDelegate::NinePatchTrackAndButtonsCanvasSize() const { … }
gfx::Rect ScrollbarLayerDelegate::NinePatchTrackAndButtonsAperture() const { … }
bool ScrollbarLayerDelegate::ShouldPaint() const { … }
bool ScrollbarLayerDelegate::HasTickmarks() const { … }
void ScrollbarLayerDelegate::PaintThumb(cc::PaintCanvas& canvas,
const gfx::Rect& rect) { … }
void ScrollbarLayerDelegate::PaintTrackAndButtons(cc::PaintCanvas& canvas,
const gfx::Rect& rect) { … }
SkColor4f ScrollbarLayerDelegate::ThumbColor() const { … }
}