#include "chrome/browser/ui/views/tabs/tab_strip_scrolling_overflow_indicator_strategy.h"
#include "base/notreached.h"
#include "cc/paint/paint_shader.h"
#include "chrome/browser/ui/tabs/features.h"
#include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h"
#include "chrome/browser/ui/views/tabs/tab_style_views.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/canvas.h"
#include "ui/views/controls/scroll_view.h"
#include "ui/views/view_utils.h"
namespace {
enum OverflowFeatureFlag { … };
}
TabStripScrollingOverflowIndicatorStrategy::
TabStripScrollingOverflowIndicatorStrategy(
views::ScrollView* scroll_view,
base::RepeatingCallback<SkColor4f()> get_frame_color,
base::RepeatingCallback<SkColor4f()> get_shadow_color)
: … { … }
TabStripScrollingOverflowIndicatorStrategy::
~TabStripScrollingOverflowIndicatorStrategy() = default;
std::unique_ptr<TabStripScrollingOverflowIndicatorStrategy>
TabStripScrollingOverflowIndicatorStrategy::CreateFromFeatureFlag(
views::ScrollView* scroll_view,
base::RepeatingCallback<SkColor4f()> get_frame_color,
base::RepeatingCallback<SkColor4f()> get_shadow_color) { … }
GradientIndicatorView::GradientIndicatorView(
views::OverflowIndicatorAlignment side,
int opaque_width,
int shadow_opaque_width,
int shadow_blur_width)
: … { … }
GradientIndicatorView::GradientIndicatorView(
views::OverflowIndicatorAlignment side)
: … { … }
void GradientIndicatorView::OnPaint(gfx::Canvas* canvas) { … }
void GradientIndicatorView::SetShadowColor(SkColor4f new_shadow_color) { … }
void GradientIndicatorView::SetFrameColor(SkColor4f new_frame_color) { … }
BEGIN_METADATA(…)
GradientOverflowIndicatorStrategy::GradientOverflowIndicatorStrategy(
views::ScrollView* scroll_view,
base::RepeatingCallback<SkColor4f()> get_frame_color,
base::RepeatingCallback<SkColor4f()> get_shadow_color)
: … { … }
void GradientOverflowIndicatorStrategy::Init() { … }
ShadowOverflowIndicatorStrategy::ShadowOverflowIndicatorStrategy(
views::ScrollView* scroll_view,
base::RepeatingCallback<SkColor4f()> get_frame_color,
base::RepeatingCallback<SkColor4f()> get_shadow_color)
: … { … }
void ShadowOverflowIndicatorStrategy::FrameColorsChanged() { … }
FadeOverflowIndicatorStrategy::FadeOverflowIndicatorStrategy(
views::ScrollView* scroll_view,
base::RepeatingCallback<SkColor4f()> get_frame_color,
base::RepeatingCallback<SkColor4f()> get_shadow_color)
: … { … }
void FadeOverflowIndicatorStrategy::Init() { … }
void FadeOverflowIndicatorStrategy::FrameColorsChanged() { … }
DividerOverflowIndicatorStrategy::DividerOverflowIndicatorStrategy(
views::ScrollView* scroll_view,
base::RepeatingCallback<SkColor4f()> get_frame_color,
base::RepeatingCallback<SkColor4f()> get_shadow_color)
: … { … }
void DividerOverflowIndicatorStrategy::Init() { … }
void DividerOverflowIndicatorStrategy::FrameColorsChanged() { … }