xtd 0.2.0
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:46
The box model allows you to specify the margin, borders, padding, background color,...
Definition ibox_model.hpp:45
virtual xtd::forms::style_sheets::outline_offset outline_offset() const noexcept=0
Gets the ofset specifies the width of the outlines.
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 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::border_radius border_radius() const noexcept=0
Gets the radius is used to add rounded borders to an element.
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::forms::style_sheets::outline_style outline_style() const noexcept=0
Gets the style specifies what kind of outlines to display.
virtual const xtd::forms::style_sheets::margin & margin() const noexcept=0
Gets the area outside the border.
virtual xtd::forms::style_sheets::border_width border_width() const noexcept=0
Gets the width specifies the width of the borders.
virtual xtd::forms::style_sheets::outline_width outline_width() const noexcept=0
Gets the width specifies the width of the outlines.
virtual const xtd::forms::style_sheets::padding & padding() const noexcept=0
Gets the area area around the content.
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 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::forms::style_sheets::outline_radius outline_radius() const noexcept=0
Gets the radius is used to add rounded outline to an element.
virtual xtd::forms::style_sheets::border_style border_style() const noexcept=0
Gets the style specifies what kind of borders to display.
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
#define interface_
This keyword is use to represent an interface.
Definition interface.hpp:58
std::optional< type_t > optional
Represents the optional alias on std::optional.
Definition optional.hpp:25
Contains xtd::forms::style_sheets::margin alias.
The xtd::drawing namespace provides access to GDI+ basic graphics functionality. More advanced functi...
Definition actions_system_images.hpp:10
The xtd::forms::style_sheets namespace contains various properties, states, and subcontrols that make...
Definition background_image.hpp:21
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition texts.hpp:219
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
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::padding class.
Contains xtd::forms::style_sheets::border_style class.
Contains xtd::forms::style_sheets::padding alias.