5#include "../../forms_export.hpp" 
    6#include "../border_style.hpp" 
   22#include <xtd/web/css/css_reader> 
   23#include <xtd/event_handler> 
   24#include <xtd/iequatable> 
   31class __test_style_sheet__; 
 
   44    namespace style_sheets {
 
   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>;
 
  184        bool is_system_style_sheet() const noexcept;
 
  348        using 
object::equals;
 
  349        bool equals(const 
style_sheet& other) const noexcept override;
 
  422        friend class ::__test_style_sheet__; 
 
  427        xtd::drawing::color background_color_from_css(const 
xtd::
string& css_text, const 
xtd::drawing::color& default_value) const noexcept;
 
  433        xtd::drawing::color color_from_css(const 
xtd::
string& css_text, const 
xtd::drawing::color& default_value) const noexcept;
 
  434        length length_from_css(const 
xtd::
string& css_text, const 
length& default_value) const noexcept;
 
  435        margin margin_from_css(const 
xtd::
string& css_text, const 
margin& default_value) const noexcept;
 
  436        margin margin_bottom_from_css(const 
xtd::
string& css_text, const 
margin& default_value) const noexcept;
 
  437        margin margin_left_from_css(const 
xtd::
string& css_text, const 
margin& default_value) const noexcept;
 
  438        margin margin_right_from_css(const 
xtd::
string& css_text, const 
margin& default_value) const noexcept;
 
  439        margin margin_top_from_css(const 
xtd::
string& css_text, const 
margin& default_value) const noexcept;
 
  440        padding padding_from_css(const 
xtd::
string& css_text, const 
padding& default_value) const noexcept;
 
  441        padding padding_bottom_from_css(const 
xtd::
string& css_text, const 
padding& default_value) const noexcept;
 
  442        padding padding_left_from_css(const 
xtd::
string& css_text, const 
padding& default_value) const noexcept;
 
  443        padding padding_right_from_css(const 
xtd::
string& css_text, const 
padding& default_value) const noexcept;
 
  444        padding padding_top_from_css(const 
xtd::
string& css_text, const 
padding& default_value) const noexcept;
 
  445        string string_from_css(const 
xtd::
string& css_text, const 
xtd::
string& default_value) const noexcept;
 
  449        xtd::
uri uri_from_css(const 
xtd::
string& css_text, const 
xtd::
uri& default_value) const noexcept;
 
  452        template<typename type_t, typename collection_t>
 
  453        type_t get_state_control(const collection_t& collection, 
pseudo_state state) const noexcept {
 
  454          auto result = type_t();
 
  455          auto it = collection.find(pseudo_state::standard);
 
  456          if (it != collection.end()) result = it->second;
 
  457          it = collection.find(state);
 
  458          if (it != collection.end()) result = it->second;
 
  463        static void on_system_colors_changed(
const event_args& e);
 
  464        std::vector<xtd::string> split_values_from_text(
const xtd::string& text) 
const noexcept;
 
  492        static style_sheet system_style_sheet_unknown_dark() noexcept; 
 
  493        static 
style_sheet system_style_sheet_unknown_light() noexcept; 
 
  497        bool try_parse_color(const 
xtd::
string& text, 
xtd::drawing::color& result) const noexcept;
 
  498        bool try_parse_hex_color(const 
xtd::
string& text, 
xtd::drawing::color& result) const noexcept;
 
  499        bool try_parse_linear_gradient(const 
xtd::
string& text, 
background_image& result) const noexcept;
 
  500        bool try_parse_named_color(const 
xtd::
string& text, 
xtd::drawing::color& result) const noexcept;
 
  501        bool try_parse_rgb_color(const 
xtd::
string& text, 
xtd::drawing::color& result) const noexcept;
 
  502        bool try_parse_rgba_color(const 
xtd::
string& text, 
xtd::drawing::color& result) const noexcept;
 
  503        bool try_parse_hsv_color(const 
xtd::
string& text, 
xtd::drawing::color& result) const noexcept;
 
  504        bool try_parse_hsva_color(const 
xtd::
string& text, 
xtd::drawing::color& result) const noexcept;
 
  505        bool try_parse_hsl_color(const 
xtd::
string& text, 
xtd::drawing::color& result) const noexcept;
 
  506        bool try_parse_hsla_color(const 
xtd::
string& text, 
xtd::drawing::color& result) const noexcept;
 
  507        bool try_parse_system_color(const 
xtd::
string& text, 
xtd::drawing::color& result) const noexcept;
 
  508        bool try_parse_uri(const 
xtd::
string& text, 
xtd::
uri& result) const noexcept;
 
  512        void theme_name_(const 
xtd::
string& name);
 
  515        static style_sheets_t style_sheets_;
 
  516        static style_sheet_names_t style_sheet_names_;
 
Represents text as a sequence of character units.
Definition basic_string.hpp:79
 
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:21
 
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:22
 
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:42
 
Provides an object representation of a uniform resource identifier (URI) and easy access to the parts...
Definition uri.hpp:103
 
Definition css_reader.hpp:16
 
generic_event_handler<> event_handler
Represents the method that will handle an event that has no event data.
Definition event_handler.hpp:32
 
#define forms_export_
Define shared library export.
Definition forms_export.hpp:13
 
xtd::forms::style_sheets::control form
The form data allows you to specify the box of a form control.
Definition form.hpp:23
 
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
 
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
 
int32_t int32
Represents a 32-bit signed integer.
Definition int32.hpp:23
 
std::shared_ptr< type_t > sptr
The xtd::sptr object is a shared pointer.
Definition sptr.hpp:25
 
@ control
The left or right CTRL modifier key.
 
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10
 
Contains xtd::forms::style_sheets::pseudo_state enum class.
 
Contains xtd::forms::style_sheets::label class.
 
Contains xtd::forms::style_sheets::status_bar_panel alias.
 
Contains xtd::forms::style_sheets::theme class.