#ifndef UI_VIEWS_CONTROLS_HIGHLIGHT_PATH_GENERATOR_H_
#define UI_VIEWS_CONTROLS_HIGHLIGHT_PATH_GENERATOR_H_
#include <memory>
#include <optional>
#include "third_party/skia/include/core/SkPath.h"
#include "ui/gfx/geometry/insets.h"
#include "ui/gfx/geometry/rect_f.h"
#include "ui/gfx/geometry/rounded_corners_f.h"
#include "ui/views/views_export.h"
namespace gfx {
class RRectF;
}
namespace views {
class View;
class VIEWS_EXPORT HighlightPathGenerator { … };
class VIEWS_EXPORT EmptyHighlightPathGenerator : public HighlightPathGenerator { … };
void VIEWS_EXPORT InstallEmptyHighlightPathGenerator(View* view);
class VIEWS_EXPORT RectHighlightPathGenerator : public HighlightPathGenerator { … };
void VIEWS_EXPORT InstallRectHighlightPathGenerator(View* view);
class VIEWS_EXPORT CircleHighlightPathGenerator
: public HighlightPathGenerator { … };
void VIEWS_EXPORT InstallCircleHighlightPathGenerator(View* view);
void VIEWS_EXPORT
InstallCircleHighlightPathGenerator(View* view, const gfx::Insets& insets);
class VIEWS_EXPORT PillHighlightPathGenerator : public HighlightPathGenerator { … };
void VIEWS_EXPORT InstallPillHighlightPathGenerator(View* view);
class VIEWS_EXPORT FixedSizeCircleHighlightPathGenerator
: public HighlightPathGenerator { … };
void VIEWS_EXPORT InstallFixedSizeCircleHighlightPathGenerator(View* view,
int radius);
class VIEWS_EXPORT RoundRectHighlightPathGenerator
: public HighlightPathGenerator { … };
void VIEWS_EXPORT
InstallRoundRectHighlightPathGenerator(View* view,
const gfx::Insets& insets,
int corner_radius);
}
#endif