aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/style/ApplyBorderStyleInfo.hpp
blob: 5058b51f094a609009db705758030eda72672df2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once
#include <optional>
#include "../Base.hpp"

namespace cru::ui::style {
struct ApplyBorderStyleInfo {
  explicit ApplyBorderStyleInfo(
      std::optional<std::shared_ptr<platform::graphics::IBrush>> border_brush =
          std::nullopt,
      std::optional<Thickness> border_thickness = std::nullopt,
      std::optional<CornerRadius> border_radius = std::nullopt,
      std::optional<std::shared_ptr<platform::graphics::IBrush>>
          foreground_brush = std::nullopt,
      std::optional<std::shared_ptr<platform::graphics::IBrush>>
          background_brush = std::nullopt)
      : border_brush(std::move(border_brush)),
        border_thickness(std::move(border_thickness)),
        border_radius(std::move(border_radius)),
        foreground_brush(std::move(foreground_brush)),
        background_brush(std::move(background_brush)) {}

  std::optional<std::shared_ptr<platform::graphics::IBrush>> border_brush;
  std::optional<Thickness> border_thickness;
  std::optional<CornerRadius> border_radius;
  std::optional<std::shared_ptr<platform::graphics::IBrush>> foreground_brush;
  std::optional<std::shared_ptr<platform::graphics::IBrush>> background_brush;
};
}  // namespace cru::ui::style