xtd - Reference Guide  0.2.0
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
Classes | Public Member Functions | List of all members
xtd::drawing::drawing2d::linear_gradient_brush Class Referencefinal

#include <linear_gradient_brush.h>

Definition

Encapsulates a xtd::drawing::brush with a linear gradient. This class cannot be inherited.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Examples
The following code example demonstrate the use of linear_gradient_brush class.
#include <xtd/xtd>
using namespace xtd;
using namespace xtd::drawing;
using namespace xtd::drawing::drawing2d;
using namespace xtd::forms;
namespace examples {
class form1 : public form {
public:
form1() {
text("Fill rectangle example");
client_size({340, 230});
}
protected:
void on_paint(paint_event_args& e) override {
e.graphics().fill_rectangle(brushes::transparent(), 10, 10, 100, 100);
e.graphics().fill_rectangle(solid_brush(color::red), 120, 10, 100, 100);
e.graphics().fill_rectangle(linear_gradient_brush(rectangle(230, 10, 100, 100), color::green, color::white, linear_gradient_mode::horizontal), 230, 10, 100, 100);
e.graphics().fill_rectangle(hatch_brush(hatch_style::diagonal_brick, color::blue, color::white), 10, 120, 100, 100);
e.graphics().fill_rectangle(texture_brush(create_circle_texture(color::yellow)), 120, 120, 100, 100);
form::on_paint(e);
}
private:
image create_circle_texture(const color& color) {
auto texture = bitmap(16, 16);
auto graphics = texture.create_graphics();
graphics.fill_ellipse(solid_brush(color), 0, 0, texture.width() - 1, texture.height() - 1);
graphics.draw_ellipse(pens::black(), 0, 0, texture.width() - 1, texture.height() - 1);
return texture;
}
};
}
int main() {
application::run(examples::form1());
}
Examples:
fill_rectangle.cpp.

Public Member Functions

 linear_gradient_brush (const xtd::drawing::point &point1, const xtd::drawing::point &point2, const xtd::drawing::color &color1, const xtd::drawing::color &color2)
 Initializes a new instance of the linear_gradient_brush class with the specified points and colors. More...
 
 linear_gradient_brush (const xtd::drawing::point_f &point1, const xtd::drawing::point_f &point2, const xtd::drawing::color &color1, const xtd::drawing::color &color2)
 Initializes a new instance of the linear_gradient_brush class with the specified points and colors. More...
 
 linear_gradient_brush (const xtd::drawing::rectangle_f &rect, const xtd::drawing::color &color1, const xtd::drawing::color &color2)
 Initializes a new instance of the linear_gradient_brush class with the specified rectangle and colors. More...
 
 linear_gradient_brush (const xtd::drawing::rectangle_f &rect, const xtd::drawing::color &color1, const xtd::drawing::color &color2, xtd::drawing::drawing2d::linear_gradient_mode linear_gradient_mode)
 Initializes a new instance of the linear_gradient_brush class with the specified rectangle, colors, and orientation. More...
 
 linear_gradient_brush (const xtd::drawing::rectangle &rect, const xtd::drawing::color &color1, const xtd::drawing::color &color2)
 Initializes a new instance of the linear_gradient_brush class with the specified rectangle and colors. More...
 
 linear_gradient_brush (const xtd::drawing::rectangle &rect, const xtd::drawing::color &color1, const xtd::drawing::color &color2, xtd::drawing::drawing2d::linear_gradient_mode linear_gradient_mode)
 Initializes a new instance of the linear_gradient_brush class with the specified rectangle, colors, and orientation. More...
 
const std::array< xtd::drawing::color, 2 > & linear_colors () const
 Gets the starting and ending colors of the gradient. More...
 
std::array< xtd::drawing::color, 2 > & linear_colors ()
 Gets the starting and ending colors of the gradient. More...
 
xtd::drawing::drawing2d::linear_gradient_brushlinear_colors (const std::array< xtd::drawing::color, 2 > &linear_colors)
 sets the starting and ending colors of the gradient. More...
 
xtd::drawing::rectangle_f rectangle () const
 Gets a rectangular region that defines the starting and ending points of the gradient. More...
 
- Public Member Functions inherited from xtd::drawing::brush
xtd::ustring to_string () const noexcept override
 Converts this brush object to a human-readable string. More...
 
- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object. More...
 
virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object. More...
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type. More...
 
template<typename object_t >
std::unique_ptr< object_t > memberwise_clone () const
 Gets the type of the current instance. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from xtd::object
static bool equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are considered equal. More...
 
static bool reference_equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are the same instance. More...
 
- Protected Member Functions inherited from xtd::drawing::brush
 brush ()
 Initialize a new instance of brush class. More...
 
void set_native_brush (intptr_t brush)
 In a derived class, sets a reference to a GDI+ brush object. More...
 

Constructor & Destructor Documentation

◆ linear_gradient_brush() [1/6]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::point point1,
const xtd::drawing::point point2,
const xtd::drawing::color color1,
const xtd::drawing::color color2 
)
inline

Initializes a new instance of the linear_gradient_brush class with the specified points and colors.

Parameters
point1A xtd::drawing::point structure that represents the starting point of the linear gradient.
point2A xtd::drawing::point structure that represents the endpoint of the linear gradient.
color1A xtd::drawing::color structure that represents the starting color of the linear gradient.
color2A xtd::drawing::color structure that represents the ending color of the linear gradient.

◆ linear_gradient_brush() [2/6]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::point_f point1,
const xtd::drawing::point_f point2,
const xtd::drawing::color color1,
const xtd::drawing::color color2 
)
inline

Initializes a new instance of the linear_gradient_brush class with the specified points and colors.

Parameters
point1A xtd::drawing::point_f structure that represents the starting point of the linear gradient.
point2A xtd::drawing::point_f structure that represents the endpoint of the linear gradient.
color1A xtd::drawing::color structure that represents the starting color of the linear gradient.
color2A xtd::drawing::color structure that represents the ending color of the linear gradient.

◆ linear_gradient_brush() [3/6]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::rectangle_f rect,
const xtd::drawing::color color1,
const xtd::drawing::color color2 
)
inline

Initializes a new instance of the linear_gradient_brush class with the specified rectangle and colors.

Parameters
rectA xtd::drawing::rectangle_f structure that specifies the bounds of the linear gradient.
color1A xtd::drawing::color structure that represents the starting color of the linear gradient.
color2A xtd::drawing::color structure that represents the ending color of the linear gradient.

◆ linear_gradient_brush() [4/6]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::rectangle_f rect,
const xtd::drawing::color color1,
const xtd::drawing::color color2,
xtd::drawing::drawing2d::linear_gradient_mode  linear_gradient_mode 
)
inline

Initializes a new instance of the linear_gradient_brush class with the specified rectangle, colors, and orientation.

Parameters
rectA xtd::drawing::rectangle_f structure that specifies the bounds of the linear gradient.
color1A xtd::drawing::color structure that represents the starting color of the linear gradient.
color2A xtd::drawing::color structure that represents the ending color of the linear gradient.
linear_gradient_modeA xtd::drawing::drawing2d::linear_gradient_mode enumeration element that specifies the orientation of the gradient. The orientation determines the starting and ending points of the gradient. For example, xtd::drawing::drawing2d::linear_gradient_mode::forward_diagonal specifies that the starting point is the upper-left corner of the rectangle and the ending point is the lower-right corner of the rectangle.

◆ linear_gradient_brush() [5/6]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::rectangle rect,
const xtd::drawing::color color1,
const xtd::drawing::color color2 
)
inline

Initializes a new instance of the linear_gradient_brush class with the specified rectangle and colors.

Parameters
rectA xtd::drawing::rectangle_f structure that specifies the bounds of the linear gradient.
color1A xtd::drawing::color structure that represents the starting color of the linear gradient.
color2A xtd::drawing::color structure that represents the ending color of the linear gradient.

◆ linear_gradient_brush() [6/6]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::rectangle rect,
const xtd::drawing::color color1,
const xtd::drawing::color color2,
xtd::drawing::drawing2d::linear_gradient_mode  linear_gradient_mode 
)
inline

Initializes a new instance of the linear_gradient_brush class with the specified rectangle, colors, and orientation.

Parameters
rectA xtd::drawing::rectangle structure that specifies the bounds of the linear gradient.
color1A xtd::drawing::color structure that represents the starting color of the linear gradient.
color2A xtd::drawing::color structure that represents the ending color of the linear gradient.
linear_gradient_modeA xtd::drawing::drawing2d::linear_gradient_mode enumeration element that specifies the orientation of the gradient. The orientation determines the starting and ending points of the gradient. For example, xtd::drawing::drawing2d::linear_gradient_mode::forward_diagonal specifies that the starting point is the upper-left corner of the rectangle and the ending point is the lower-right corner of the rectangle.

Member Function Documentation

◆ linear_colors() [1/3]

const std::array<xtd::drawing::color, 2>& xtd::drawing::drawing2d::linear_gradient_brush::linear_colors ( ) const
inline

Gets the starting and ending colors of the gradient.

Returns
An array of two xtd::drawing::color structures that represents the starting and ending colors of the gradient.

◆ linear_colors() [2/3]

std::array<xtd::drawing::color, 2>& xtd::drawing::drawing2d::linear_gradient_brush::linear_colors ( )
inline

Gets the starting and ending colors of the gradient.

Returns
An array of two xtd::drawing::color structures that represents the starting and ending colors of the gradient.

◆ linear_colors() [3/3]

xtd::drawing::drawing2d::linear_gradient_brush& xtd::drawing::drawing2d::linear_gradient_brush::linear_colors ( const std::array< xtd::drawing::color, 2 > &  linear_colors)

sets the starting and ending colors of the gradient.

Parameters
linear_colorsAn array of two xtd::drawing::color structures that represents the starting and ending colors of the gradient.
Returns
Current linear_gradient_brush instance.

◆ rectangle()

xtd::drawing::rectangle_f xtd::drawing::drawing2d::linear_gradient_brush::rectangle ( ) const

Gets a rectangular region that defines the starting and ending points of the gradient.

Returns
A xtd::drawing::rectangle_f structure that specifies the starting and ending points of the gradient.

The documentation for this class was generated from the following file: