xtd 0.2.0
Loading...
Searching...
No Matches
ibox_model.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "../padding.hpp"
6#include "border_color.hpp"
7#include "border_radius.hpp"
8#include "border_style.hpp"
9#include "border_width.hpp"
10#include "background_image.hpp"
11#include "margin.hpp"
12#include "outline_color.hpp"
13#include "outline_offset.hpp"
14#include "outline_radius.hpp"
15#include "outline_style.hpp"
16#include "outline_width.hpp"
17#include "padding.hpp"
18#include <xtd/iequatable>
19#include <xtd/interface>
20#include <array>
21
23namespace xtd {
25 namespace forms {
27 namespace style_sheets {
46 public:
48
53 virtual const xtd::drawing::color& background_color() const noexcept = 0;
54
58 virtual const xtd::forms::style_sheets::background_image& background_image() const noexcept = 0;
59
63 virtual const xtd::forms::style_sheets::border_color& border_color() const noexcept = 0;
64
68 virtual xtd::forms::style_sheets::border_radius border_radius() const noexcept = 0;
69
73 virtual xtd::forms::style_sheets::border_style border_style() const noexcept = 0;
74
78 virtual xtd::forms::style_sheets::border_width border_width() const noexcept = 0;
79
84 virtual std::optional<xtd::forms::style_sheets::length> height() const noexcept = 0;
85
91 virtual const xtd::forms::style_sheets::margin& margin() const noexcept = 0;
92
96 virtual const xtd::forms::style_sheets::outline_color& outline_color() const noexcept = 0;
97
101 virtual xtd::forms::style_sheets::outline_offset outline_offset() const noexcept = 0;
102
106 virtual xtd::forms::style_sheets::outline_radius outline_radius() const noexcept = 0;
107
111 virtual xtd::forms::style_sheets::outline_style outline_style() const noexcept = 0;
112
116 virtual xtd::forms::style_sheets::outline_width outline_width() const noexcept = 0;
117
122 virtual const xtd::forms::style_sheets::padding& padding() const noexcept = 0;
123
128 virtual std::optional<xtd::forms::style_sheets::length> width() const noexcept = 0;
130
132
138 virtual xtd::drawing::rectangle get_border_rectangle(const xtd::drawing::rectangle& bounds) const noexcept = 0;
139
145 virtual xtd::drawing::rectangle get_fill_rectangle(const xtd::drawing::rectangle& bounds) const noexcept = 0;
146
151 virtual xtd::drawing::rectangle get_outline_rectangle(const xtd::drawing::rectangle& bounds) const noexcept = 0;
152
158 virtual xtd::drawing::rectangle get_content_rectangle(const xtd::drawing::rectangle& bounds) const noexcept = 0;
160 };
161 }
162 }
163}
Contains xtd::forms::style_sheets::background_image class.
Contains xtd::forms::style_sheets::border_color class.
Contains xtd::forms::style_sheets::border_radius class.
Contains xtd::forms::style_sheets::border_width class.
Represents an ARGB (alpha, red, green, blue) color.
Definition color.hpp:49
The image data allows you to specify the url or gradient mode.
Definition background_image.hpp:42
The xtd::forms::style_sheets::border_color is used to set the color of the borders.
Definition border_color.hpp:33
The radius is used to add rounded borders to an element.
Definition border_radius.hpp:33
The style specifies what kind of borders to display.
Definition border_style.hpp:33
The box model allows you to specify the margin, borders, padding, background color,...
Definition ibox_model.hpp:45
virtual xtd::drawing::rectangle get_border_rectangle(const xtd::drawing::rectangle &bounds) const noexcept=0
Gets the computed boder rectangle from specified bounds.
virtual std::optional< xtd::forms::style_sheets::length > width() const noexcept=0
Gets the width of the box.
virtual xtd::drawing::rectangle get_fill_rectangle(const xtd::drawing::rectangle &bounds) const noexcept=0
Gets the computed fill rectangle from specified bounds.
virtual std::optional< xtd::forms::style_sheets::length > height() const noexcept=0
Gets the height of the box.
virtual const xtd::drawing::color & background_color() const noexcept=0
Gets the background color is used to add background effects to the box.
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::drawing::rectangle get_content_rectangle(const xtd::drawing::rectangle &bounds) const noexcept=0
Gets the computed content rectangle from specified bounds.
The xtd::forms::style_sheets::length specifies the legth and unit of many properties of the xtd::form...
Definition length.hpp:77
The length specifies the length of the borders.
Definition lengths.hpp:33
#define interface_
This keyword is use to represent an interface.
Definition interface.hpp:58
std::optional< type_t > optional
Represents the null_opt alias on std::nullopt_t.
Definition optional.hpp:181
Contains xtd::forms::style_sheets::margin alias.
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition xtd_about_box.hpp:12
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10
Contains xtd::forms::style_sheets::outline_color alias.
Contains xtd::forms::style_sheets::outline_offset class.
Contains xtd::forms::style_sheets::outline_radius alias.
Contains xtd::forms::style_sheets::outline_style alias.
Contains xtd::forms::style_sheets::outline_width alias.
Contains xtd::forms::style_sheets::border_style class.
Contains xtd::forms::style_sheets::padding alias.