xtd 0.2.0
ibox_model.h
Go to the documentation of this file.
1 #pragma once
5 #include "../padding.h"
6 #include "border_color.h"
7 #include "border_radius.h"
8 #include "border_style.h"
9 #include "border_width.h"
10 #include "background_image.h"
11 #include "margin.h"
12 #include "outline_color.h"
13 #include "outline_offset.h"
14 #include "outline_radius.h"
15 #include "outline_style.h"
16 #include "outline_width.h"
17 #include "padding.h"
18 #include <xtd/iequatable>
19 #include <xtd/interface>
20 #include <array>
21 
23 namespace xtd {
25  namespace forms {
27  namespace style_sheets {
44  public:
46 
51  virtual const xtd::drawing::color& background_color() const noexcept = 0;
52 
56  virtual const xtd::forms::style_sheets::background_image& background_image() const noexcept = 0;
57 
61  virtual const xtd::forms::style_sheets::border_color& border_color() const noexcept = 0;
62 
66  virtual xtd::forms::style_sheets::border_radius border_radius() const noexcept = 0;
67 
71  virtual xtd::forms::style_sheets::border_style border_style() const noexcept = 0;
72 
76  virtual xtd::forms::style_sheets::border_width border_width() const noexcept = 0;
77 
82  virtual std::optional<xtd::forms::style_sheets::length> height() const noexcept = 0;
83 
89  virtual const xtd::forms::style_sheets::margin& margin() const noexcept = 0;
90 
94  virtual const xtd::forms::style_sheets::outline_color& outline_color() const noexcept = 0;
95 
99  virtual xtd::forms::style_sheets::outline_offset outline_offset() const noexcept = 0;
100 
104  virtual xtd::forms::style_sheets::outline_radius outline_radius() const noexcept = 0;
105 
109  virtual xtd::forms::style_sheets::outline_style outline_style() const noexcept = 0;
110 
114  virtual xtd::forms::style_sheets::outline_width outline_width() const noexcept = 0;
115 
120  virtual const xtd::forms::style_sheets::padding& padding() const noexcept = 0;
121 
126  virtual std::optional<xtd::forms::style_sheets::length> width() const noexcept = 0;
128 
130 
136  virtual xtd::drawing::rectangle get_border_rectangle(const xtd::drawing::rectangle& bounds) const noexcept = 0;
137 
143  virtual xtd::drawing::rectangle get_fill_rectangle(const xtd::drawing::rectangle& bounds) const noexcept = 0;
144 
149  virtual xtd::drawing::rectangle get_outline_rectangle(const xtd::drawing::rectangle& bounds) const noexcept = 0;
150 
156  virtual xtd::drawing::rectangle get_content_rectangle(const xtd::drawing::rectangle& bounds) const noexcept = 0;
158  };
159  }
160  }
161 }
Contains xtd::forms::style_sheets::outline_radius alias.
Contains xtd::forms::style_sheets::background_image class.
virtual xtd::drawing::rectangle get_outline_rectangle(const xtd::drawing::rectangle &bounds) const noexcept=0
Gets the computed outline rectangle from specified bounds.
virtual xtd::forms::style_sheets::outline_offset outline_offset() const noexcept=0
Gets the ofset specifies the width of the outlines.
The xtd::forms::style_sheets::border_color is used to set the color of the borders.
Definition: border_color.h:31
virtual xtd::forms::style_sheets::border_width border_width() const noexcept=0
Gets the width specifies the width of the borders.
virtual const xtd::forms::style_sheets::margin & margin() const noexcept=0
Gets the area outside the border.
Contains xtd::forms::style_sheets::outline_style alias.
Contains xtd::forms::style_sheets::border_color class.
virtual const xtd::forms::style_sheets::outline_color & outline_color() const noexcept=0
Gets the color is used to set the color of the outlines.
virtual xtd::drawing::rectangle get_border_rectangle(const xtd::drawing::rectangle &bounds) const noexcept=0
Gets the computed boder rectangle from specified bounds.
Contains xtd::forms::style_sheets::outline_width alias.
The radius is used to add rounded borders to an element.
Definition: border_radius.h:31
virtual xtd::forms::style_sheets::outline_radius outline_radius() const noexcept=0
Gets the radius is used to add rounded outline to an element.
virtual const xtd::forms::style_sheets::padding & padding() const noexcept=0
Gets the area area around the content.
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Contains xtd::forms::style_sheets::outline_offset class.
The image data allows you to specify the url or gradient mode.
Definition: background_image.h:40
virtual const xtd::drawing::color & background_color() const noexcept=0
Gets the background color is used to add background effects to the box.
virtual const xtd::forms::style_sheets::background_image & background_image() const noexcept=0
Gets the background image is used to add background effects to the box.
virtual std::optional< xtd::forms::style_sheets::length > width() const noexcept=0
Gets the width of the box.
virtual xtd::drawing::rectangle get_content_rectangle(const xtd::drawing::rectangle &bounds) const noexcept=0
Gets the computed content rectangle from specified bounds.
Contains xtd::forms::padding class.
virtual std::optional< xtd::forms::style_sheets::length > height() const noexcept=0
Gets the height of the box.
Contains xtd::forms::style_sheets::border_width class.
Represents an ARGB (alpha, red, green, blue) color.
Definition: color.h:45
The box model allows you to specify the margin, borders, padding, background color, width and height of a box.
Definition: ibox_model.h:43
Contains xtd::forms::style_sheets::border_radius class.
The style specifies what kind of borders to display.
Definition: border_style.h:31
Contains xtd::forms::style_sheets::margin alias.
Stores a set of four integers that represent the location and size of a rectangle.
Definition: rectangle.h:44
virtual const xtd::forms::style_sheets::border_color & border_color() const noexcept=0
Gets the color is used to set the color of the borders.
virtual xtd::forms::style_sheets::outline_style outline_style() const noexcept=0
Gets the style specifies what kind of outlines to display.
#define interface_
This keyword is use to represent an interface.
Definition: interface.h:54
Contains xtd::forms::style_sheets::border_style class.
The length specifies the length of the borders.
Definition: lengths.h:31
Contains xtd::forms::style_sheets::outline_color alias.
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition: about_box.h:13
virtual xtd::forms::style_sheets::outline_width outline_width() const noexcept=0
Gets the width specifies the width of the outlines.
virtual xtd::forms::style_sheets::border_radius border_radius() const noexcept=0
Gets the radius is used to add rounded borders to an element.
virtual xtd::drawing::rectangle get_fill_rectangle(const xtd::drawing::rectangle &bounds) const noexcept=0
Gets the computed fill rectangle from specified bounds.
virtual xtd::forms::style_sheets::border_style border_style() const noexcept=0
Gets the style specifies what kind of borders to display.