#ifndef ASH_STYLE_ROUNDED_CONTAINER_H_
#define ASH_STYLE_ROUNDED_CONTAINER_H_
#include "ash/ash_export.h"
#include "ui/gfx/geometry/insets.h"
#include "ui/views/view.h"
namespace gfx {
class RoundedCornersF;
}
namespace ash {
class ASH_EXPORT RoundedContainer : public views::View {
METADATA_HEADER(RoundedContainer, views::View)
public:
static constexpr gfx::Insets kBorderInsets = gfx::Insets::VH(8, 0);
static constexpr int kNonRoundedSideRadius = 4;
static constexpr int kRoundedSideRadius = 16;
enum class Behavior { kNotRounded, kTopRounded, kBottomRounded, kAllRounded };
explicit RoundedContainer(Behavior corner_behavior = Behavior::kAllRounded,
int non_rounded_radius = kNonRoundedSideRadius,
int rounded_radius = kRoundedSideRadius);
RoundedContainer(const RoundedContainer& other) = delete;
RoundedContainer& operator=(const RoundedContainer& other) = delete;
~RoundedContainer() override;
void SetBehavior(Behavior behavior);
void SetBorderInsets(const gfx::Insets& insets);
private:
gfx::RoundedCornersF GetRoundedCorners();
Behavior corner_behavior_;
const float non_rounded_radius_;
const float rounded_radius_;
};
}
#endif