#ifndef ASH_STYLE_ROUNDED_LABEL_WIDGET_H_
#define ASH_STYLE_ROUNDED_LABEL_WIDGET_H_
#include <string>
#include <variant>
#include "base/memory/raw_ptr.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/views/widget/widget.h"
namespace ash {
class RoundedLabelWidget : public views::Widget {
public:
struct InitParams {
InitParams();
InitParams(InitParams&& other);
~InitParams();
std::string name;
int horizontal_padding;
int vertical_padding;
int rounding_dp;
int preferred_height;
std::variant<std::u16string, int> message;
raw_ptr<aura::Window> parent;
bool disable_default_visibility_animation = false;
};
RoundedLabelWidget();
RoundedLabelWidget(const RoundedLabelWidget&) = delete;
RoundedLabelWidget& operator=(const RoundedLabelWidget&) = delete;
~RoundedLabelWidget() override;
void Init(InitParams params);
gfx::Rect GetBoundsCenteredIn(const gfx::Rect& bounds);
void SetBoundsCenteredIn(const gfx::Rect& bounds_in_screen, bool animate);
};
}
#endif