| Index: ui/views/border.cc
|
| diff --git a/ui/views/border.cc b/ui/views/border.cc
|
| index 153411dc40d61413a70935104fa6856944d2b44a..b225a02f5251e75401afa6f5ed413863f27e0648 100644
|
| --- a/ui/views/border.cc
|
| +++ b/ui/views/border.cc
|
| @@ -137,6 +137,40 @@ gfx::Size EmptyBorder::GetMinimumSize() const {
|
| return gfx::Size();
|
| }
|
|
|
| +class ExtraInsetsBorder : public Border {
|
| + public:
|
| + ExtraInsetsBorder(std::unique_ptr<Border> border, const gfx::Insets& insets);
|
| +
|
| + // Overridden from Border:
|
| + void Paint(const View& view, gfx::Canvas* canvas) override;
|
| + gfx::Insets GetInsets() const override;
|
| + gfx::Size GetMinimumSize() const override;
|
| +
|
| + private:
|
| + std::unique_ptr<Border> border_;
|
| + const gfx::Insets extra_insets_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ExtraInsetsBorder);
|
| +};
|
| +
|
| +ExtraInsetsBorder::ExtraInsetsBorder(std::unique_ptr<Border> border,
|
| + const gfx::Insets& insets)
|
| + : border_(std::move(border)), extra_insets_(insets) {}
|
| +
|
| +void ExtraInsetsBorder::Paint(const View& view, gfx::Canvas* canvas) {
|
| + border_->Paint(view, canvas);
|
| +}
|
| +
|
| +gfx::Insets ExtraInsetsBorder::GetInsets() const {
|
| + return border_->GetInsets() + extra_insets_;
|
| +}
|
| +
|
| +gfx::Size ExtraInsetsBorder::GetMinimumSize() const {
|
| + gfx::Size size = border_->GetMinimumSize();
|
| + size.Enlarge(extra_insets_.width(), extra_insets_.height());
|
| + return size;
|
| +}
|
| +
|
| class BorderPainter : public Border {
|
| public:
|
| BorderPainter(std::unique_ptr<Painter> painter, const gfx::Insets& insets);
|
| @@ -221,6 +255,13 @@ std::unique_ptr<Border> Border::CreateSolidSidedBorder(int top,
|
| }
|
|
|
| // static
|
| +std::unique_ptr<Border> Border::AddInteriorPadding(
|
| + std::unique_ptr<Border> border,
|
| + const gfx::Insets& insets) {
|
| + return base::MakeUnique<ExtraInsetsBorder>(std::move(border), insets);
|
| +}
|
| +
|
| +// static
|
| std::unique_ptr<Border> Border::CreateBorderPainter(
|
| std::unique_ptr<Painter> painter,
|
| const gfx::Insets& insets) {
|
|
|