22#include <xtd/collections/generic/list>
23#include <xtd/web/css/css_reader>
24#include <xtd/event_handler>
25#include <xtd/iequatable>
31class __test_style_sheet__;
72 using buttons_t = std::map<xtd::forms::style_sheets::pseudo_state, xtd::forms::style_sheets::button>;
74 using controls_t = std::map<xtd::forms::style_sheets::pseudo_state, xtd::forms::style_sheets::control>;
76 using forms_t = std::map<xtd::forms::style_sheets::pseudo_state, xtd::forms::style_sheets::form>;
78 using labels_t = std::map<xtd::forms::style_sheets::pseudo_state, xtd::forms::style_sheets::label>;
80 using link_labels_t = std::map<xtd::forms::style_sheets::pseudo_state, xtd::forms::style_sheets::link_label>;
82 using panels_t = std::map<xtd::forms::style_sheets::pseudo_state, xtd::forms::style_sheets::panel>;
88 using status_bars_t = std::map<xtd::forms::style_sheets::pseudo_state, xtd::forms::style_sheets::status_bar>;
90 using status_bar_panels_t = std::map<xtd::forms::style_sheets::pseudo_state, xtd::forms::style_sheets::status_bar_panel>;
92 using toggle_buttons_t = std::map<xtd::forms::style_sheets::pseudo_state, xtd::forms::style_sheets::toggle_button>;
94 using tool_bars_t = std::map<xtd::forms::style_sheets::pseudo_state, xtd::forms::style_sheets::tool_bar>;
96 using tool_bar_buttons_t = std::map<xtd::forms::style_sheets::pseudo_state, xtd::forms::style_sheets::tool_bar_button>;
98 using user_controls_t = std::map<xtd::forms::style_sheets::pseudo_state, xtd::forms::style_sheets::user_control>;
352 [[nodiscard]] auto
equals(const
xtd::
object& obj) const noexcept ->
bool override;
433 friend class ::__test_style_sheet__;
438 [[nodiscard]] auto background_color_from_css(const
xtd::
string& css_text, const
xtd::
drawing::color& default_value) const noexcept ->
xtd::
drawing::color;
440 [[nodiscard]] auto border_color_from_css(const
xtd::
string& css_text, const
border_color& default_value) const noexcept ->
border_color;
443 [[nodiscard]] auto border_width_from_css(const
xtd::
string& css_text, const
border_width& default_value) const noexcept ->
border_width;
444 [[nodiscard]] auto color_from_css(const
xtd::
string& css_text, const
xtd::
drawing::color& default_value) const noexcept ->
xtd::
drawing::color;
445 [[nodiscard]] auto length_from_css(const
xtd::
string& css_text, const
length& default_value) const noexcept ->
length;
446 [[nodiscard]] auto margin_from_css(const
xtd::
string& css_text, const
margin& default_value) const noexcept ->
margin;
447 [[nodiscard]] auto margin_bottom_from_css(const
xtd::
string& css_text, const
margin& default_value) const noexcept ->
margin;
448 [[nodiscard]] auto margin_left_from_css(const
xtd::
string& css_text, const
margin& default_value) const noexcept ->
margin;
449 [[nodiscard]] auto margin_right_from_css(const
xtd::
string& css_text, const
margin& default_value) const noexcept ->
margin;
450 [[nodiscard]] auto margin_top_from_css(const
xtd::
string& css_text, const
margin& default_value) const noexcept ->
margin;
451 [[nodiscard]] auto padding_from_css(const
xtd::
string& css_text, const
padding& default_value) const noexcept ->
padding;
452 [[nodiscard]] auto padding_bottom_from_css(const
xtd::
string& css_text, const
padding& default_value) const noexcept ->
padding;
453 [[nodiscard]] auto padding_left_from_css(const
xtd::
string& css_text, const
padding& default_value) const noexcept ->
padding;
454 [[nodiscard]] auto padding_right_from_css(const
xtd::
string& css_text, const
padding& default_value) const noexcept ->
padding;
455 [[nodiscard]] auto padding_top_from_css(const
xtd::
string& css_text, const
padding& default_value) const noexcept ->
padding;
456 [[nodiscard]] auto string_from_css(const
xtd::
string& css_text, const
xtd::
string& default_value) const noexcept ->
xtd::
string;
460 [[nodiscard]] auto uri_from_css(const
xtd::
string& css_text, const
xtd::
uri& default_value) const noexcept ->
xtd::
uri;
463 template<typename type_t, typename collection_t>
464 [[nodiscard]] auto get_state_control(const collection_t& collection,
pseudo_state state) const noexcept -> type_t {
465 auto result = type_t();
467 if (it != collection.end()) result = it->second;
468 it = collection.find(state);
469 if (it != collection.end()) result = it->second;
474 static auto on_system_colors_changed(
const event_args& e) -> void;
503 [[nodiscard]]
static auto system_style_sheet_unknown_dark() noexcept ->
style_sheet;
504 [[nodiscard]] static auto system_style_sheet_unknown_light() noexcept ->
style_sheet;
508 auto try_parse_color(const
xtd::
string&
text,
xtd::
drawing::color& result) const noexcept ->
bool;
510 auto try_parse_hex_color(const
xtd::
string&
text,
xtd::
drawing::color& result) const noexcept ->
bool;
512 auto try_parse_named_color(const
xtd::
string&
text,
xtd::
drawing::color& result) const noexcept ->
bool;
514 auto try_parse_rgb_color(const
xtd::
string&
text,
xtd::
drawing::color& result) const noexcept ->
bool;
515 auto try_parse_rgba_color(const
xtd::
string&
text,
xtd::
drawing::color& result) const noexcept ->
bool;
516 auto try_parse_hsv_color(const
xtd::
string&
text,
xtd::
drawing::color& result) const noexcept ->
bool;
517 auto try_parse_hsva_color(const
xtd::
string&
text,
xtd::
drawing::color& result) const noexcept ->
bool;
518 auto try_parse_hsl_color(const
xtd::
string&
text,
xtd::
drawing::color& result) const noexcept ->
bool;
519 auto try_parse_hsla_color(const
xtd::
string&
text,
xtd::
drawing::color& result) const noexcept ->
bool;
520 auto try_parse_system_color(const
xtd::
string&
text,
xtd::
drawing::color& result) const noexcept ->
bool;
521 auto try_parse_uri(const
xtd::
string&
text,
xtd::
uri& result) const noexcept ->
bool;
525 auto theme_name_(const
xtd::
string& name) ->
void;
528 static style_sheets_t style_sheets_;
529 static style_sheet_names_t style_sheet_names_;
Contains xtd::forms::border_style enum class.
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:64
Represents a strongly typed list of objects that can be accessed by index. Provides methods to search...
Definition list.hpp:80
Represents the base class for classes that contain event data, and provides a value to use for events...
Definition event_args.hpp:18
Represents an event.
Definition event.hpp:23
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:23
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:45
Provides an object representation of a uniform resource identifier (URI) and easy access to the parts...
Definition uri.hpp:103
Definition css_reader.hpp:14
generic_event_handler< const xtd::event_args & > event_handler
Represents the method that will handle an event that has no event data.
Definition event_handler.hpp:24
#define forms_export_
Define shared library export.
Definition forms_export.hpp:13
xtd::basic_string< char > string
Represents text as a sequence of UTF-8 code units.
Definition __string_definitions.hpp:43
xtd::forms::style_sheets::lengths padding
Padding is used to create space around an element's content, inside of any defined borders.
Definition padding.hpp:26
text_decoration
The xtd::forms::style_sheets::text_decoration enum class is used to set or remove decorations from te...
Definition text_decoration.hpp:25
white_space
The white_space enum class specifies how white-space inside an element is handled.
Definition white_space.hpp:23
xtd::forms::style_sheets::lengths margin
Margins are used to create space around elements, outside of any defined borders.
Definition margin.hpp:26
xtd::forms::style_sheets::lengths border_width
The width specifies the width of the borders.
Definition border_width.hpp:26
pseudo_state
The pseudo_state enum class flag specifies the pseudo state of an element.
Definition pseudo_state.hpp:23
text_transformation
The xtd::forms::style_sheets::text_transformation enum class is used to specify uppercase and lowerca...
Definition text_transformation.hpp:24
border_type
The border_type enum class specifies what kind of border to display.
Definition border_type.hpp:23
@ standard
The item is in standard state.
Definition pseudo_state.hpp:25
xtd::shared_ptr_object< type_t > sptr
The xtd::sptr object is a shared pointer.
Definition sptr.hpp:25
std::int32_t int32
Represents a 32-bit signed integer.
Definition int32.hpp:25
std::size_t usize
Represents an unsigned size of any object in bytes.
Definition usize.hpp:22
The xtd::drawing namespace provides access to GDI+ basic graphics functionality. More advanced functi...
Definition actions_system_images.hpp:10
Contains classes that represent ASCII and Unicode character encodings; abstract base classes for conv...
Definition basic_string_builder.hpp:13
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
constexpr auto data() const noexcept -> const_pointer
Gets direct access to the underlying contiguous storage.
Definition read_only_span.hpp:197
Contains xtd::forms::style_sheets::pseudo_state enum class.
Contains xtd::forms::style_sheets::control class.
Contains xtd::forms::style_sheets::label class.
Contains xtd::forms::style_sheets::label class.
Contains xtd::forms::style_sheets::panel class.
Contains xtd::forms::style_sheets::status_bar class.
Contains xtd::forms::style_sheets::status_bar_panel alias.
Contains xtd::forms::style_sheets::user_control class.
Contains xtd::forms::style_sheets::theme class.