xtd 0.2.0
hatch_brush.h
Go to the documentation of this file.
1 #pragma once
5 #include "../../drawing_export.h"
6 #include "../brush.h"
7 #include "../color.h"
8 #include "../image.h"
9 #include "../point.h"
10 #include "../rectangle.h"
11 #include "drawing2d.h"
12 #include "hatch_style.h"
13 #include <xtd/iequatable>
14 #include <array>
15 
17 namespace xtd {
19  namespace drawing {
21  namespace drawing_2d {
33  class drawing_export_ hatch_brush final : public brush, public xtd::iequatable<hatch_brush> {
34  struct data;
35 
36  public:
38 
49  hatch_brush(xtd::drawing::drawing_2d::hatch_style hatch_style, const xtd::drawing::color& fore_color, const xtd::drawing::color& back_color);
51 
53  hatch_brush(const hatch_brush& value);
54  hatch_brush& operator =(const hatch_brush& value);
56 
58 
62  xtd::drawing::color background_color() const noexcept;
63 
66  xtd::drawing::color foreground_color() const noexcept;
67 
72 
74 
76  using brush::equals;
77  bool equals(const hatch_brush& value) const noexcept override;
79 
80  private:
81  hatch_brush();
82  void recreate_handle();
83 
84  std::shared_ptr<data> data_;
85  };
86  }
87  }
88 }
89 
Represent background color output manipulator class.
Definition: background_color.h:22
Represent foreground color output manipulator class.
Definition: foreground_color.h:20
Contains xtd::drawing::drawing_2d/::hatch_style enum class.
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Represents an ARGB (alpha, red, green, blue) color.
Definition: color.h:45
hatch_style
Specifies the different patterns available for xtd::drawing::drawing_2d/::hatch_brush objects...
Definition: hatch_style.h:20
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition: iequatable.h:18
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
Defines a rectangular xtd::drawing::brush with a hatch style, a foreground color, and a background co...
Definition: hatch_brush.h:33