xtd 0.2.0
conical_gradient_brush.h
Go to the documentation of this file.
1 #pragma once
5 #include "../../drawing_export.h"
6 #include "../brush.h"
7 #include "../point.h"
8 #include "../rectangle.h"
9 #include "drawing2d.h"
11 #include <xtd/iequatable>
12 #include <array>
13 #include <utility>
14 
16 namespace xtd {
18  namespace drawing {
20  namespace drawing_2d {
36  class drawing_export_ conical_gradient_brush final : public brush, public xtd::iequatable<conical_gradient_brush> {
37  struct data;
38 
39  public:
41 
55  conical_gradient_brush(const xtd::drawing::point_f& center, const xtd::drawing::color& color1, const xtd::drawing::color& color2);
61  conical_gradient_brush(const xtd::drawing::point& center, const xtd::drawing::color& color1, const xtd::drawing::color& color2, float angle);
67  conical_gradient_brush(const xtd::drawing::point_f& center, const xtd::drawing::color& color1, const xtd::drawing::color& color2, float angle);
72  conical_gradient_brush(const xtd::drawing::point& center, const std::vector<xtd::drawing::color>& conical_colors);
77  conical_gradient_brush(const xtd::drawing::point_f& center, const std::vector<xtd::drawing::color>& conical_colors);
83  conical_gradient_brush(const xtd::drawing::point& center, const std::vector<xtd::drawing::color>& conical_colors, float angle);
89  conical_gradient_brush(const xtd::drawing::point_f& center, const std::vector<xtd::drawing::color>& conical_colors, float angle);
91 
94  conical_gradient_brush& operator =(const conical_gradient_brush& value);
96 
98 
103  float angle() const noexcept;
108  conical_gradient_brush& angle(float value) noexcept;
109 
112  xtd::drawing::point_f center_point() const noexcept;
116  conical_gradient_brush& center_point(const xtd::drawing::point_f& value) noexcept;
120  conical_gradient_brush& center_point(const xtd::drawing::point& value) noexcept;
121 
124  const xtd::drawing::drawing_2d::gradient_stop_collection& conical_colors() const noexcept;
130 
132 
134  using brush::equals;
135  bool equals(const conical_gradient_brush& value) const noexcept override;
137 
138  private:
139  void recreate_handle();
140 
141  std::shared_ptr<data> data_;
142  };
143  }
144  }
145 }
146 
Represents an ordered pair of integer x- and y-coordinates that defines a point in a two-dimensional ...
Definition: point.h:54
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Represents an ordered pair of floating-point x- and y-coordinates that defines a point in a two-dimen...
Definition: point_f.h:35
Represents an ARGB (alpha, red, green, blue) color.
Definition: color.h:45
std::vector< xtd::drawing::drawing_2d::gradient_stop > gradient_stop_collection
Represents a collection of xtd::drawing::drawing_2d/gradient_stop objects that can be individually ac...
Definition: gradient_stop_collection.h:21
Contains xtd::drawing::drawing_2d/::gradient_stop alias.
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition: iequatable.h:18
Encapsulates a xtd::drawing::brush with a conical gradient. This class cannot be inherited.
Definition: conical_gradient_brush.h:36
Specifies that the xtd::drawing::pen object is centered over the theoretical line.
Contains xtd::drawing::drawing_2d/::matrix class.
Defines objects used to fill the interiors of graphical shapes such as rectangles, ellipses, pies, polygons, and paths.
Definition: brush.h:33