xtd 0.2.0
Loading...
Searching...
No Matches
ibox_model.h
Go to the documentation of this file.
1
4#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
23namespace 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::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.h:49
The image data allows you to specify the url or gradient mode.
Definition background_image.h:40
The xtd::forms::style_sheets::border_color is used to set the color of the borders.
Definition border_color.h:31
The radius is used to add rounded borders to an element.
Definition border_radius.h:31
The style specifies what kind of borders to display.
Definition border_style.h:31
The box model allows you to specify the margin, borders, padding, background color,...
Definition ibox_model.h:43
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.h:75
The length specifies the length of the borders.
Definition lengths.h:31
#define interface_
This keyword is use to represent an interface.
Definition interface.h:58
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.h:12
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h: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.