xtd - Reference Guide 0.2.0
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
linear_gradient_brush.png
Examples
The following code example demonstrates 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({680, 340});
}
protected:
void on_paint(paint_event_args& e) override {
form::on_paint(e);
auto back_color = color::navy;
auto fore_color = color::white;
e.graphics().draw_rectangle(pen {fore_color, 4}, rectangle {10, 10, 150, 150});
e.graphics().fill_rectangle(solid_brush {back_color}, rectangle {180, 10, 150, 150});
e.graphics().draw_rectangle(pen {fore_color, 4}, rectangle {180, 10, 150, 150});
e.graphics().fill_rectangle(texture_brush {create_circle_texture(fore_color, back_color)}, rectangle {350, 10, 150, 150});
e.graphics().draw_rectangle(pen {fore_color, 4}, rectangle {350, 10, 150, 150});
e.graphics().draw_rectangle(pen {color::white, 4}, rectangle {520, 10, 150, 150});
e.graphics().fill_rectangle(conical_gradient_brush {point {85, 255}, back_color, fore_color, 0}, rectangle {10, 180, 150, 150});
e.graphics().draw_rectangle(pen {color::white, 4}, rectangle {10, 180, 150, 150});
e.graphics().fill_rectangle(linear_gradient_brush {rectangle {180, 180, 150, 150}, back_color, fore_color, 315}, rectangle {180, 180, 150, 150});
e.graphics().draw_rectangle(pen {color::white, 4}, rectangle {180, 180, 150, 150});
e.graphics().fill_rectangle(radial_gradient_brush {point {425, 255}, fore_color, back_color, 73}, rectangle {350, 180, 150, 150});
e.graphics().draw_rectangle(pen {color::white, 4}, rectangle {350, 180, 150, 150});
}
private:
image create_circle_texture(const color& fore_color, const color& back_color) {
auto texture = bitmap {16, 16};
auto graphics = texture.create_graphics();
graphics.fill_ellipse(solid_brush {back_color}, 1, 1, texture.width() - 2, texture.height() - 2);
graphics.draw_ellipse(pen {fore_color, 2}, 1, 1, texture.width() - 2, texture.height() - 2);
return texture;
}
};
}
int main() {
application::run(examples::form1 {});
}
Examples:
fill_rectangle.cpp.

Constructors

 linear_gradient_brush ()
 Initializes a new instance of the xtd::drawing::drawing2d::radial_gradient_brush class with default values. More...
 
 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 &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, float angle)
 Initializes a new instance of the linear_gradient_brush class with the specified rectangle, colors, and orientation angle. 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_f &rect, const xtd::drawing::color &color1, const xtd::drawing::color &color2, float angle)
 Initializes a new instance of the linear_gradient_brush class with the specified rectangle, colors, and orientation angle. 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_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::point &point1, const xtd::drawing::point &point2, const std::vector< xtd::drawing::color > &linear_colors)
 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 std::vector< xtd::drawing::color > &linear_colors)
 Initializes a new instance of the linear_gradient_brush class with the specified points and colors. More...
 
 linear_gradient_brush (const xtd::drawing::rectangle &rect, const std::vector< xtd::drawing::color > &linear_colors, 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 std::vector< xtd::drawing::color > &linear_colors, float angle)
 Initializes a new instance of the linear_gradient_brush class with the specified rectangle, colors, and orientation angle. More...
 
 linear_gradient_brush (const xtd::drawing::rectangle_f &rect, const std::vector< xtd::drawing::color > &linear_colors, 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_f &rect, const std::vector< xtd::drawing::color > &linear_colors, float angle)
 Initializes a new instance of the linear_gradient_brush class with the specified rectangle, colors, and orientation angle. More...
 
 linear_gradient_brush (const xtd::drawing::rectangle &rect, const std::vector< xtd::drawing::color > &linear_colors)
 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 std::vector< xtd::drawing::color > &linear_colors)
 Initializes a new instance of the linear_gradient_brush class with the specified rectangle and colors. More...
 

Properties

float angle () const noexcept
 Gets the angle of the gradient. More...
 
linear_gradient_brushangle (float value) noexcept
 Sets the angle of the gradient. More...
 
const xtd::drawing::drawing2d::gradient_stop_collectionlinear_colors () const noexcept
 Gets the starting and ending colors of the gradient. More...
 
xtd::drawing::drawing2d::linear_gradient_brushlinear_colors (const xtd::drawing::drawing2d::gradient_stop_collection &value)
 sets the starting and ending colors of the gradient. More...
 
const xtd::drawing::rectangle_frectangle () const noexcept
 Gets a rectangular region that defines the starting and ending points of the linear gradient. More...
 
linear_gradient_brushrectangle (const xtd::drawing::rectangle_f &value) noexcept
 Sets a rectangular region that defines the starting and ending points of the linear gradient. More...
 
linear_gradient_brushrectangle (const xtd::drawing::rectangle &value) noexcept
 Sets a rectangular region that defines the starting and ending points of the linear gradient. More...
 

Additional Inherited Members

- Public Member Functions inherited from xtd::drawing::brush
intptr_t handle () const
 Gets the handle of the brush. More...
 
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...
 
- 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/17]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( )

Initializes a new instance of the xtd::drawing::drawing2d::radial_gradient_brush class with default values.

Remarks
Rectanlge is set to {0, 0, 0, 0} and colors are set with two transparent colors.

◆ linear_gradient_brush() [2/17]

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 
)

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() [3/17]

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 
)

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() [4/17]

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 
)

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.

◆ linear_gradient_brush() [5/17]

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

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

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.
angleThe angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line.

◆ linear_gradient_brush() [6/17]

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 
)

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() [7/17]

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,
float  angle 
)

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

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.
angleThe angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line.

◆ linear_gradient_brush() [8/17]

xtd::drawing::drawing2d::linear_gradient_brush::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.

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() [9/17]

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 
)

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() [10/17]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::point point1,
const xtd::drawing::point point2,
const std::vector< xtd::drawing::color > &  linear_colors 
)

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() [11/17]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::point_f point1,
const xtd::drawing::point_f point2,
const std::vector< xtd::drawing::color > &  linear_colors 
)

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() [12/17]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::rectangle rect,
const std::vector< xtd::drawing::color > &  linear_colors,
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.

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.

◆ linear_gradient_brush() [13/17]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::rectangle rect,
const std::vector< xtd::drawing::color > &  linear_colors,
float  angle 
)

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

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.
angleThe angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line.

◆ linear_gradient_brush() [14/17]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::rectangle_f rect,
const std::vector< xtd::drawing::color > &  linear_colors,
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.

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() [15/17]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::rectangle_f rect,
const std::vector< xtd::drawing::color > &  linear_colors,
float  angle 
)

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

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.
angleThe angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line.

◆ linear_gradient_brush() [16/17]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::rectangle rect,
const std::vector< xtd::drawing::color > &  linear_colors 
)

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() [17/17]

xtd::drawing::drawing2d::linear_gradient_brush::linear_gradient_brush ( const xtd::drawing::rectangle_f rect,
const std::vector< xtd::drawing::color > &  linear_colors 
)

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.

Member Function Documentation

◆ angle() [1/2]

float xtd::drawing::drawing2d::linear_gradient_brush::angle ( ) const
noexcept

Gets the angle of the gradient.

Returns
A float that specifies the angle of the linear gradient.

◆ angle() [2/2]

linear_gradient_brush& xtd::drawing::drawing2d::linear_gradient_brush::angle ( float  value)
noexcept

Sets the angle of the gradient.

Parameters
valueA float that specifies the angle of the linear gradient.
Returns
Current linear_gradient_brush instance.

◆ linear_colors() [1/2]

const xtd::drawing::drawing2d::gradient_stop_collection& xtd::drawing::drawing2d::linear_gradient_brush::linear_colors ( ) const
noexcept

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 linear gradient.

◆ linear_colors() [2/2]

xtd::drawing::drawing2d::linear_gradient_brush& xtd::drawing::drawing2d::linear_gradient_brush::linear_colors ( const xtd::drawing::drawing2d::gradient_stop_collection value)

sets the starting and ending colors of the gradient.

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

◆ rectangle() [1/3]

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

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

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

◆ rectangle() [2/3]

linear_gradient_brush& xtd::drawing::drawing2d::linear_gradient_brush::rectangle ( const xtd::drawing::rectangle_f value)
noexcept

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

Parameters
valueA xtd::drawing::rectangle_f structure that specifies the starting and ending points of the linear gradient.
Returns
Current linear_gradient_brush instance.

◆ rectangle() [3/3]

linear_gradient_brush& xtd::drawing::drawing2d::linear_gradient_brush::rectangle ( const xtd::drawing::rectangle value)
noexcept

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

Parameters
valueA xtd::drawing::rectangle_f structure that specifies the starting and ending points of the linear gradient.
Returns
Current linear_gradient_brush instance.

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