#include "ui/views/controls/highlight_path_generator.h"
#include <algorithm>
#include <utility>
#include "third_party/skia/include/core/SkRect.h"
#include "ui/gfx/geometry/rounded_corners_f.h"
#include "ui/gfx/geometry/rrect_f.h"
#include "ui/gfx/geometry/skia_conversions.h"
#include "ui/views/view.h"
#include "ui/views/view_class_properties.h"
namespace views {
HighlightPathGenerator::HighlightPathGenerator()
: … { … }
HighlightPathGenerator::HighlightPathGenerator(const gfx::Insets& insets)
: … { … }
HighlightPathGenerator::~HighlightPathGenerator() = default;
void HighlightPathGenerator::Install(
View* host,
std::unique_ptr<HighlightPathGenerator> generator) { … }
std::optional<gfx::RRectF> HighlightPathGenerator::GetRoundRectForView(
const View* view) { … }
SkPath HighlightPathGenerator::GetHighlightPath(const View* view) { … }
std::optional<gfx::RRectF> HighlightPathGenerator::GetRoundRect(
const gfx::RectF& rect) { … }
std::optional<gfx::RRectF> HighlightPathGenerator::GetRoundRect(
const View* view) { … }
std::optional<gfx::RRectF> EmptyHighlightPathGenerator::GetRoundRect(
const gfx::RectF& rect) { … }
void InstallEmptyHighlightPathGenerator(View* view) { … }
std::optional<gfx::RRectF> RectHighlightPathGenerator::GetRoundRect(
const gfx::RectF& rect) { … }
void InstallRectHighlightPathGenerator(View* view) { … }
CircleHighlightPathGenerator::CircleHighlightPathGenerator(
const gfx::Insets& insets)
: … { … }
std::optional<gfx::RRectF> CircleHighlightPathGenerator::GetRoundRect(
const gfx::RectF& rect) { … }
void InstallCircleHighlightPathGenerator(View* view) { … }
void InstallCircleHighlightPathGenerator(View* view,
const gfx::Insets& insets) { … }
std::optional<gfx::RRectF> PillHighlightPathGenerator::GetRoundRect(
const gfx::RectF& rect) { … }
void InstallPillHighlightPathGenerator(View* view) { … }
FixedSizeCircleHighlightPathGenerator::FixedSizeCircleHighlightPathGenerator(
int radius)
: … { … }
std::optional<gfx::RRectF> FixedSizeCircleHighlightPathGenerator::GetRoundRect(
const gfx::RectF& rect) { … }
void InstallFixedSizeCircleHighlightPathGenerator(View* view, int radius) { … }
RoundRectHighlightPathGenerator::RoundRectHighlightPathGenerator(
const gfx::Insets& insets,
int corner_radius)
: … { … }
RoundRectHighlightPathGenerator::RoundRectHighlightPathGenerator(
const gfx::Insets& insets,
const gfx::RoundedCornersF& rounded_corners)
: … { … }
std::optional<gfx::RRectF> RoundRectHighlightPathGenerator::GetRoundRect(
const gfx::RectF& rect) { … }
void InstallRoundRectHighlightPathGenerator(View* view,
const gfx::Insets& insets,
int corner_radius) { … }
}