xtd 1.0.0
Loading...
Searching...
No Matches
xtd::drawing::rectangle Struct Reference
Inheritance diagram for xtd::drawing::rectangle:
xtd::object xtd::iequatable< rectangle > xtd::interface xtd::extensions::equality_operators< rectangle, iequatable< rectangle > >

Definition

Stores a set of four integers that represent the location and size of a rectangle.

Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:45
#define drawing_export_
Define shared library export.
Definition drawing_export.hpp:13
rectangle() noexcept=default
Initializes a new instance of the xtd::drawing::rectangle class.
Inheritance
xtd::objectxtd::drawing::rectangle
Namespace
xtd::drawing
Library
xtd.drawing
Examples
The following example draws a rectangle with its upper-left corner at (10, 10). The rectangle has a width of 100 and a height of 50. The second argument passed to the Pen constructor indicates that the pen width is 5 pixels.

When the rectangle is drawn, the pen is centered on the rectangle's boundary. Because the pen width is 5, the sides of the rectangle are drawn 5 pixels wide, such that 1 pixel is drawn on the boundary itself, 2 pixels are drawn on the inside, and 2 pixels are drawn on the outside. For more details on pen alignment, see How to: Set Pen Width and Alignment.

The following illustration shows the resulting rectangle. The dotted lines show where the rectangle would have been drawn if the pen width had been one pixel. The enlarged view of the upper-left corner of the rectangle shows that the thick black lines are centered on those dotted lines.


The example is designed for use with xtd.forms, and it requires xtd::forms::paint_event_args e, which is a parameter of the xtd::forms::control::paint event handler.

pen black_pen(color::from_argb(255, 0, 0, 0), 5);
e.graphics().draw_rectangle(black_pen, 10, 10, 100, 50);
static auto from_argb(uint32 argb) noexcept -> xtd::drawing::color
Creates a xtd::drawing::color class from a 32-bit ARGB value.
Defines an object used to draw lines and curves. This class cannot be inherited.
Definition pen.hpp:32
@ e
The E key.
Definition console_key.hpp:96
Remarks
A rectangle is defined by its xtd::drawing::rectangle::width, xtd::drawing::rectangle::height, and upper-left corner represented by the xtd::drawing::rectangle::location property.
To draw rectangles, you need a xtd::drawing::graphics object and a xtd::drawing::pen object. The xtd::drawing::graphics object provides the xtd::drawing::graphics::draw_rectangle method, and the xtd::drawing::pen object stores features of the line, such as color and width. The units the rectangle is drawn in is determined by the xtd::drawing::graphics::page_unit and xtd::drawing::graphics::page_scale properties of the graphics object used for drawing. The default unit is pixels.
To draw a xtd::drawing::rectangle filled with color, you need a xtd::drawing::graphics object and an object derived from xtd::drawing::brush such as xtd::drawing::solid_brush or xtd::drawing::texture_brush or xtd::drawing::drawing_2d::conical_gradient_brush or xtd::drawing::drawing_2d::hatch_gradient_brush or xtd::drawing::drawing_2d::linear_gradient_brush or xtd::drawing::drawing_2d::radial_gradient_brush. The xtd::drawing::graphics object provides the xtd::drawing::graphics::fill_rectangle method and the xtd::drawing::brush object provides the color and fill information.
For more advanced shapes, use a xtd::drawing::region object.
Examples
form_paint.cpp, graphics.cpp, image_effects.cpp, and screen.cpp.

Public Fields

static const rectangle empty
 Represents a xtd::drawing::rectangle that has xtd::drawing::rectagle::x, xtd::drawing::rectangle::y, xtd::drawing::rectangle::width and xtd::drawing::rectangle::height values set to zero.

Public Properties

xtd::int32 x
 Gets or sets the x-coordinate of the upper-left corner of this xtd::drawing::rectangle structure. @para mx The x-coordinate of the upper-left corner of this xtd::drawing::rectangle structure. The default is 0.
xtd::int32 y
 Gets or sets the y-coordinate of the upper-left corner of this xtd::drawing::rectangle structure.
xtd::int32 width
 Gets or sets the width of this xtd::drawing::rectangle structure.
xtd::int32 height
 Gets or sets the height of this xtd::drawing::rectangle structure.
auto bottom () const noexcept -> xtd::int32
 Gets the y-coordinate that is the sum of the xtd::drawing::rectangle::y and xtd::drawing::rectangle::height property values of this xtd::drawing::rectangle structure.
auto center () const noexcept -> xtd::drawing::point
 Gets the center property values of this xtd::drawing::rectangle structure.
bool is_empty () const noexcept
 Tests whether all numeric properties of this xtd::drawing::rectangle have values of zero.
auto left () const noexcept -> xtd::int32
 Gets the x-coordinate of the left edge of this xtd::drawing::rectangle structure.
auto location () const noexcept -> xtd::drawing::point
 Gets the coordinates of the upper-left corner of this xtd::drawing::rectangle structure.
auto location (const xtd::drawing::point &value) noexcept -> void
 Sets the coordinates of the upper-left corner of this xtd::drawing::rectangle structure.
auto right () const noexcept -> xtd::int32
 Gets the x-coordinate that is the sum of xtd::drawing::rectangle::x and xtd::drawing::rectangle::width property values of this xtd::drawing::rectangle structure.
auto size () const noexcept -> xtd::drawing::size
 Gets the size of this xtd::drawing::rectangle.
auto size (const xtd::drawing::size &value) noexcept -> void
 Sets the size of this xtd::drawing::rectangle.
auto top () const noexcept -> xtd::int32
 Gets the y-coordinate of the top edge of this xtd::drawing::rectangle structure.

Public Constructors

 rectangle () noexcept=default
 Initializes a new instance of the xtd::drawing::rectangle class.
 rectangle (xtd::int32 x, xtd::int32 y, xtd::int32 width, xtd::int32 height) noexcept
 Initializes a new instance of the xtd::drawing::rectangle class with the specified location and size.
 rectangle (const xtd::drawing::point &location, const xtd::drawing::size &size) noexcept
 Initializes a new instance of the xtd::drawing::rectangle class with the specified location and size.

Public Methods

auto add (const xtd::drawing::size &sz) noexcept -> void
 Adds this xtd::drawing::rectangle by the specified amount.
auto add (xtd::int32 width, xtd::int32 height) noexcept -> void
 Adds this xtd::drawing::rectangle by the specified amount.
auto contains (const xtd::drawing::point &pt) const noexcept -> bool
 Determines if the specified point is contained within this xtd::drawing::rectangle structure.
auto contains (const xtd::drawing::rectangle &rect) const noexcept -> bool
 Determines if the rectangular region represented by rect is entirely contained within this xtd::drawing::rectangle structure.
auto contains (xtd::int32 x, xtd::int32 y) const noexcept -> bool
 Determines if the specified point is contained within this xtd::drawing::rectangle structure.
auto equals (const xtd::object &obj) const noexcept -> bool override
 Determines whether the specified object is equal to the current object.
auto equals (const rectangle &other) const noexcept -> bool override
 Determines whether the specified object is equal to the current object.
auto get_hash_code () const noexcept -> xtd::usize override
 Serves as a hash function for a particular type.
auto inflate (const xtd::drawing::size &sz) noexcept -> void
 Enlarges this xtd::drawing::rectangle by the specified amount.
auto inflate (xtd::int32 width, xtd::int32 height) noexcept -> void
 Enlarges this xtd::drawing::rectangle by the specified amount.
auto intersects_with (const rectangle &rect) const noexcept -> bool
 Determines if this rectangle intersects with rect.
auto make_intersect (const rectangle &rect) noexcept -> void
 Replaces this xtd::drawing::rectangle with the intersection of itself and the specified xtd::drawing::rectangle.
auto make_union (const rectangle &rect) noexcept -> void
 Replaces this xtd::drawing::rectangle with the union of itself and the specified xtd::drawing::rectangle.
auto offset (const xtd::drawing::point &pos) noexcept -> void
 Adjusts the location of this rectangle by the specified amount.
auto offset (xtd::int32 dx, xtd::int32 dy) noexcept -> void
 Adjusts the location of this rectangle by the specified amount.
auto to_string () const noexcept -> xtd::string override
 Converts the attributes of this xtd::drawing::rectangle to a human-readable string.

Public Static Methods

static auto add (const rectangle &rect, xtd::int32 x, xtd::int32 y) noexcept -> rectangle
 Creates and returns an added copy of the specified xtd::drawing::rectangle structure. The copy is added by the specified amount. The original xtd::drawing::rectangle structure remains unmodified.
static auto add (const rectangle &rect, const xtd::drawing::size &sz) noexcept -> rectangle
 Creates and returns an added copy of the specified xtd::drawing::rectangle structure. The copy is added by the specified amount. The original xtd::drawing::rectangle structure remains unmodified.
static auto ceiling (const xtd::drawing::rectangle_f &rect) noexcept -> rectangle
 Converts the specified xtd::drawing::rectangle_f structure to a xtd::drawing::rectangle structure by rounding the xtd::drawing::rectangle_f values to the next higher integer values.
static auto from_ltrb (xtd::int32 left, xtd::int32 top, xtd::int32 right, xtd::int32 bottom) noexcept -> rectangle
 Creates a xtd::drawing::rectangle structure with the specified edge locations.
static auto inflate (const rectangle &rect, xtd::int32 x, xtd::int32 y) noexcept -> rectangle
 Creates and returns an enlarged copy of the specified xtd::drawing::rectangle structure. The copy is enlarged by the specified amount. The original xtd::drawing::rectangle structure remains unmodified.
static auto inflate (const rectangle &rect, const xtd::drawing::size &sz) noexcept -> rectangle
 Creates and returns an enlarged copy of the specified xtd::drawing::rectangle structure. The copy is enlarged by the specified amount. The original xtd::drawing::rectangle structure remains unmodified.
static auto make_intersect (const rectangle &a, const rectangle &b) noexcept -> rectangle
 Returns a third xtd::drawing::rectangle structure that represents the intersection of two other xtd::drawing::rectangle structures. If there is no intersection, an empty xtd::drawing::rectangle is returned.
static auto make_union (const rectangle &a, const rectangle &b) noexcept -> rectangle
 Gets a xtd::drawing::rectangle structure that contains the union of two xtd::drawing::rectangle structures.
static auto offset (const rectangle &rect, const xtd::drawing::point &pos) noexcept -> rectangle
 Creates and returns an offsetted copy of the specified xtd::drawing::rectangle structure. The copy is offsetted by the specified amount. The original xtd::drawing::rectangle structure remains unmodified.
static auto offset (const rectangle &rect, xtd::int32 x, xtd::int32 y) noexcept -> rectangle
 Creates and returns an offsetted copy of the specified xtd::drawing::rectangle structure. The copy is offsetted by the specified amount. The original xtd::drawing::rectangle structure remains unmodified.
static auto round (const rectangle_f &rect) noexcept -> rectangle
 Converts the specified xtd::drawing::rectangle_f to a xtd::drawing::rectangle by rounding the xtd::drawing::rectangle_f values to the nearest integer values.
static auto truncate (const xtd::drawing::rectangle_f &rect) noexcept -> rectangle
 Converts the specified xtd::drawing::rectangle_f to a xtd::drawing::rectangle by truncating the xtd::drawing::rectangle_f values.

Additional Inherited Members

 object ()=default
 Create a new instance of the ultimate base class object.
virtual auto get_type () const noexcept -> type_object
 Gets the type of the current instance.
template<typename object_t>
auto memberwise_clone () const -> xtd::unique_ptr_object< object_t >
 Creates a shallow copy of the current object.
virtual auto equals (const rectangle &) const noexcept -> bool=0
 Indicates whether the current object is equal to another object of the same type.
template<typename object_a_t, typename object_b_t>
static auto equals (const object_a_t &object_a, const object_b_t &object_b) noexcept -> bool
 Determines whether the specified object instances are considered equal.
template<typename object_a_t, typename object_b_t>
static auto reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept -> bool
 Determines whether the specified object instances are the same instance.

Constructor & Destructor Documentation

◆ rectangle() [1/3]

xtd::drawing::rectangle::rectangle ( )
defaultnoexcept

Initializes a new instance of the xtd::drawing::rectangle class.

Remarks
xtd::drawing::rectagle::x, xtd::drawing::rectangle::y, xtd::drawing::rectangle::width and xtd::drawing::rectangle::height values are set to zero.

◆ rectangle() [2/3]

xtd::drawing::rectangle::rectangle ( xtd::int32 x,
xtd::int32 y,
xtd::int32 width,
xtd::int32 height )
noexcept

Initializes a new instance of the xtd::drawing::rectangle class with the specified location and size.

Parameters
xThe x-coordinate of the upper-left corner of the rectangle.
yThe y-coordinate of the upper-left corner of the rectangle.
widthThe width of the rectangle.
heightThe height of the rectangle.

◆ rectangle() [3/3]

xtd::drawing::rectangle::rectangle ( const xtd::drawing::point & location,
const xtd::drawing::size & size )
noexcept

Initializes a new instance of the xtd::drawing::rectangle class with the specified location and size.

Parameters
locationA xtd::drawing::point that represents the upper-left corner of the rectangular region.
sizeA xtd::drawing::size that represents the width and height of the rectangular region.

Member Function Documentation

◆ bottom()

auto xtd::drawing::rectangle::bottom ( ) const -> xtd::int32
nodiscardnoexcept

Gets the y-coordinate that is the sum of the xtd::drawing::rectangle::y and xtd::drawing::rectangle::height property values of this xtd::drawing::rectangle structure.

Returns
The y-coordinate that is the sum of xtd::drawing::rectangle::y and xtd::drawing::rectangle::height of this xtd::drawing::rectangle.
Remarks
The value of the xtd::drawing::rectangle::bottom property represents the y-coordinate of the first point at the bottom edge of the xtd::drawing::rectangle that is not contained in the xtd::drawing::rectangle.

◆ center()

auto xtd::drawing::rectangle::center ( ) const -> xtd::drawing::point
nodiscardnoexcept

Gets the center property values of this xtd::drawing::rectangle structure.

Returns
The center of this xtd::drawing::rectangle.

◆ is_empty()

bool xtd::drawing::rectangle::is_empty ( ) const
nodiscardnoexcept

Tests whether all numeric properties of this xtd::drawing::rectangle have values of zero.

Returns
This property returns true if the xtd::drawing::rectangle::width, xtd::drawing::rectangle::height, xtd::drawing::rectangle::x, and xtd::drawing::rectangle::y properties of this xtd::drawing::rectangle all have values of zero; otherwise, false.

◆ left()

auto xtd::drawing::rectangle::left ( ) const -> xtd::int32
nodiscardnoexcept

Gets the x-coordinate of the left edge of this xtd::drawing::rectangle structure.

Returns
The x-coordinate of the left edge of this xtd::drawing::rectangle structure.

◆ location() [1/2]

auto xtd::drawing::rectangle::location ( ) const -> xtd::drawing::point
nodiscardnoexcept

Gets the coordinates of the upper-left corner of this xtd::drawing::rectangle structure.

Returns
A xtd::drawing::point that represents the upper-left corner of this xtd::drawing::rectangle structure.
Examples
screen.cpp.

◆ location() [2/2]

auto xtd::drawing::rectangle::location ( const xtd::drawing::point & value) -> void
noexcept

Sets the coordinates of the upper-left corner of this xtd::drawing::rectangle structure.

Parameters
valueA xtd::drawing::point that represents the upper-left corner of this xtd::drawing::rectangle structure.

◆ right()

auto xtd::drawing::rectangle::right ( ) const -> xtd::int32
nodiscardnoexcept

Gets the x-coordinate that is the sum of xtd::drawing::rectangle::x and xtd::drawing::rectangle::width property values of this xtd::drawing::rectangle structure.

Returns
The x-coordinate that is the sum of xtd::drawing::rectangle::x and xtd::drawing::rectangle::width of this xtd::drawing::rectangle.

◆ size() [1/2]

auto xtd::drawing::rectangle::size ( ) const -> xtd::drawing::size
noexcept

Gets the size of this xtd::drawing::rectangle.

Returns
A xtd::drawing::size that represents the width and height of this xtd::drawing::rectangle structure.
Examples
screen.cpp.

◆ size() [2/2]

auto xtd::drawing::rectangle::size ( const xtd::drawing::size & value) -> void
noexcept

Sets the size of this xtd::drawing::rectangle.

Parameters
valueA xtd::drawing::size that represents the width and height of this xtd::drawing::rectangle structure.

◆ top()

auto xtd::drawing::rectangle::top ( ) const -> xtd::int32
nodiscardnoexcept

Gets the y-coordinate of the top edge of this xtd::drawing::rectangle structure.

Returns
The y-coordinate of the top edge of this xtd::drawing::rectangle structure.

◆ add() [1/4]

auto xtd::drawing::rectangle::add ( const xtd::drawing::size & sz) -> void
noexcept

Adds this xtd::drawing::rectangle by the specified amount.

Parameters
szThe amount to add this rectangle.
Remarks
This method adds this rectangle, not a copy of it.

◆ add() [2/4]

auto xtd::drawing::rectangle::add ( xtd::int32 width,
xtd::int32 height ) -> void
noexcept

Adds this xtd::drawing::rectangle by the specified amount.

Parameters
widthThe amount to add this xtd::drawing::rectangle horizontally.
heightThe amount to add this xtd::drawing::rectangle verticaly.
Remarks
This method adds this rectangle, not a copy of it.

◆ contains() [1/3]

auto xtd::drawing::rectangle::contains ( const xtd::drawing::point & pt) const -> bool
nodiscardnoexcept

Determines if the specified point is contained within this xtd::drawing::rectangle structure.

Parameters
ptThe xtd::drawing::point to test.
Returns
This method returns true if the point represented by pt is contained within this xtd::drawing::rectangle structure; otherwise false.
Remarks
The containing rectangle must be normalized for this method to return accurate results.

◆ contains() [2/3]

auto xtd::drawing::rectangle::contains ( const xtd::drawing::rectangle & rect) const -> bool
nodiscardnoexcept

Determines if the rectangular region represented by rect is entirely contained within this xtd::drawing::rectangle structure.

Parameters
rectThe xtd::drawing::rectangle to test.
Returns
This method returns true if the rectangular region represented by rect is entirely contained within this xtd::drawing::rectangle structure; otherwise false.
Remarks
The containing rectangle must be normalized for this method to return accurate results.

◆ contains() [3/3]

auto xtd::drawing::rectangle::contains ( xtd::int32 x,
xtd::int32 y ) const -> bool
nodiscardnoexcept

Determines if the specified point is contained within this xtd::drawing::rectangle structure.

Parameters
xThe x-coordinate of the point to test.
yThe y-coordinate of the point to test.
Returns
This method returns true if the point defined by x and y is contained within this xtd::drawing::rectangle structure; otherwise false.
Remarks
The containing rectangle must be normalized for this method to return accurate results.

◆ equals() [1/2]

auto xtd::drawing::rectangle::equals ( const xtd::object & obj) const -> bool
nodiscardoverridevirtualnoexcept

Determines whether the specified object is equal to the current object.

Parameters
objThe object to compare with the current object.
Returns
true if the specified object is equal to the current object. otherwise, false.

Reimplemented from xtd::object.

◆ equals() [2/2]

auto xtd::drawing::rectangle::equals ( const rectangle & other) const -> bool
nodiscardoverridenoexcept

Determines whether the specified object is equal to the current object.

Parameters
otherThe object to compare with the current object.
Returns
true if the specified object is equal to the current object. otherwise, false.

◆ get_hash_code()

auto xtd::drawing::rectangle::get_hash_code ( ) const -> xtd::usize
nodiscardoverridevirtualnoexcept

Serves as a hash function for a particular type.

Returns
A hash code for the current object.

Reimplemented from xtd::object.

◆ inflate() [1/4]

auto xtd::drawing::rectangle::inflate ( const xtd::drawing::size & sz) -> void
noexcept

Enlarges this xtd::drawing::rectangle by the specified amount.

Parameters
szThe amount to inflate this rectangle.
Remarks
This method enlarges this rectangle, not a copy of it. The rectangle is enlarged in both directions along an axis. For example, if a 50 by 50 rectangle is enlarged by 50 in the x-axis, the resultant rectangle will be 150 units long (the original 50, the 50 in the minus direction, and the 50 in the plus direction) maintaining the rectangle's geometric center.
Examples
hello_world_png.cpp.

◆ inflate() [2/4]

auto xtd::drawing::rectangle::inflate ( xtd::int32 width,
xtd::int32 height ) -> void
noexcept

Enlarges this xtd::drawing::rectangle by the specified amount.

Parameters
widthThe amount to inflate this xtd::drawing::rectangle horizontally.
heightThe amount to inflate this xtd::drawing::rectangle verticaly.
Remarks
This method enlarges this rectangle, not a copy of it. The rectangle is enlarged in both directions along an axis. For example, if a 50 by 50 rectangle is enlarged by 50 in the x-axis, the resultant rectangle will be 150 units long (the original 50, the 50 in the minus direction, and the 50 in the plus direction) maintaining the rectangle's geometric center.
If either x or y is negative, the xtd::drawing::rectangle structure is deflated in the corresponding direction.

◆ intersects_with()

auto xtd::drawing::rectangle::intersects_with ( const rectangle & rect) const -> bool
nodiscardnoexcept

Determines if this rectangle intersects with rect.

Parameters
rectThe rectangle to test.
Returns
This method returns true if there is any intersection, otherwise false.

◆ make_intersect() [1/2]

auto xtd::drawing::rectangle::make_intersect ( const rectangle & rect) -> void
noexcept

Replaces this xtd::drawing::rectangle with the intersection of itself and the specified xtd::drawing::rectangle.

Parameters
rectThe xtd::drawing::rectangle with which to intersect.

◆ make_union() [1/2]

auto xtd::drawing::rectangle::make_union ( const rectangle & rect) -> void
noexcept

Replaces this xtd::drawing::rectangle with the union of itself and the specified xtd::drawing::rectangle.

Parameters
rectThe xtd::drawing::rectangle with which to union.

◆ offset() [1/4]

auto xtd::drawing::rectangle::offset ( const xtd::drawing::point & pos) -> void
noexcept

Adjusts the location of this rectangle by the specified amount.

Parameters
posAmount to offset the location.
Remarks
This method adjusts the location of the upper-left corner horizontally by the x-coordinate of the specified point, and vertically by the y-coordinate of the specified point.
Examples
hello_world_png.cpp.

◆ offset() [2/4]

auto xtd::drawing::rectangle::offset ( xtd::int32 dx,
xtd::int32 dy ) -> void
noexcept

Adjusts the location of this rectangle by the specified amount.

Parameters
dxThe horizontal offset.
dyThe vertical offset.

◆ to_string()

auto xtd::drawing::rectangle::to_string ( ) const -> xtd::string
nodiscardoverridevirtualnoexcept

Converts the attributes of this xtd::drawing::rectangle to a human-readable string.

Returns
A string that contains the position, width, and height of this Rectangle structure ¾ for example, {x=20, y=20, width=100, height=50}.

Reimplemented from xtd::object.

◆ add() [3/4]

auto xtd::drawing::rectangle::add ( const rectangle & rect,
xtd::int32 x,
xtd::int32 y ) -> rectangle
staticnodiscardnoexcept

Creates and returns an added copy of the specified xtd::drawing::rectangle structure. The copy is added by the specified amount. The original xtd::drawing::rectangle structure remains unmodified.

Parameters
rectThe xtd::drawing::rectangle with which to start. This rectangle is not modified.
xThe amount to add the specified rectangle horizontally.
yThe amount to add the specified rectangle vertically.
Returns
The added xtd::drawing::rectangle.
Remarks
This method makes a copy of rect, adds the copy, and then returns the added copy.

◆ add() [4/4]

auto xtd::drawing::rectangle::add ( const rectangle & rect,
const xtd::drawing::size & sz ) -> rectangle
staticnodiscardnoexcept

Creates and returns an added copy of the specified xtd::drawing::rectangle structure. The copy is added by the specified amount. The original xtd::drawing::rectangle structure remains unmodified.

Parameters
rectThe xtd::drawing::rectangle with which to start. This rectangle is not modified.
szThe amount to add the specified rectangle.
Returns
The added xtd::drawing::rectangle.
Remarks
This method makes a copy of rect, adds the copy, and then returns the added copy.

◆ ceiling()

auto xtd::drawing::rectangle::ceiling ( const xtd::drawing::rectangle_f & rect) -> rectangle
staticnodiscardnoexcept

Converts the specified xtd::drawing::rectangle_f structure to a xtd::drawing::rectangle structure by rounding the xtd::drawing::rectangle_f values to the next higher integer values.

Parameters
rectThe xtd::drawing::rectangle_f structure to be converted.
Returns
Returns a xtd::drawing::rectangle.

◆ from_ltrb()

auto xtd::drawing::rectangle::from_ltrb ( xtd::int32 left,
xtd::int32 top,
xtd::int32 right,
xtd::int32 bottom ) -> rectangle
staticnodiscardnoexcept

Creates a xtd::drawing::rectangle structure with the specified edge locations.

Parameters
leftThe x-coordinate of the upper-left corner of this xtd::drawing::rectangle structure.
topThe y-coordinate of the upper-left corner of this xtd::drawing::rectangle structure.
rightThe x-coordinate of the lower-right corner of this xtd::drawing::rectangle structure.
bottomThe y-coordinate of the lower-right corner of this xtd::drawing::rectangle structure.
Returns
The new xtd::drawing::rectangle that this method creates.
Remarks
This method creates a xtd::drawing::rectangle with the specified upper-left and lower-right corners.

◆ inflate() [3/4]

auto xtd::drawing::rectangle::inflate ( const rectangle & rect,
xtd::int32 x,
xtd::int32 y ) -> rectangle
staticnodiscardnoexcept

Creates and returns an enlarged copy of the specified xtd::drawing::rectangle structure. The copy is enlarged by the specified amount. The original xtd::drawing::rectangle structure remains unmodified.

Parameters
rectThe xtd::drawing::rectangle with which to start. This rectangle is not modified.
xThe amount to inflate the specified rectangle horizontally.
yThe amount to inflate the specified rectangle vertically.
Returns
The enlarged xtd::drawing::rectangle.
Remarks
This method makes a copy of rect, enlarges the copy, and then returns the enlarged copy. The rectangle is enlarged in both directions along an axis. For example, if a 50 by 50 rectangle is enlarged by 50 in the x-axis, the resultant rectangle will be 150 units long (the original 50, the 50 in the minus direction, and the 50 in the plus direction) maintaining the rectangle's geometric center.

◆ inflate() [4/4]

auto xtd::drawing::rectangle::inflate ( const rectangle & rect,
const xtd::drawing::size & sz ) -> rectangle
staticnodiscardnoexcept

Creates and returns an enlarged copy of the specified xtd::drawing::rectangle structure. The copy is enlarged by the specified amount. The original xtd::drawing::rectangle structure remains unmodified.

Parameters
rectThe xtd::drawing::rectangle with which to start. This rectangle is not modified.
szThe amount to inflate the specified rectangle.
Returns
The enlarged xtd::drawing::rectangle.
Remarks
This method makes a copy of rect, enlarges the copy, and then returns the enlarged copy. The rectangle is enlarged in both directions along an axis. For example, if a 50 by 50 rectangle is enlarged by 50 in the x-axis, the resultant rectangle will be 150 units long (the original 50, the 50 in the minus direction, and the 50 in the plus direction) maintaining the rectangle's geometric center.

◆ make_intersect() [2/2]

auto xtd::drawing::rectangle::make_intersect ( const rectangle & a,
const rectangle & b ) -> rectangle
staticnodiscardnoexcept

Returns a third xtd::drawing::rectangle structure that represents the intersection of two other xtd::drawing::rectangle structures. If there is no intersection, an empty xtd::drawing::rectangle is returned.

Parameters
aA rectangle to intersect.
bA rectangle to intersect.
Returns
A xtd::drawing::rectangle that represents the intersection of a and b.

◆ make_union() [2/2]

auto xtd::drawing::rectangle::make_union ( const rectangle & a,
const rectangle & b ) -> rectangle
staticnodiscardnoexcept

Gets a xtd::drawing::rectangle structure that contains the union of two xtd::drawing::rectangle structures.

Parameters
aA rectangle to union.
bA rectangle to union.
Returns
A xtd::drawing::rectangle structure that bounds the union of the two xtd::drawing::rectangle structures.

◆ offset() [3/4]

auto xtd::drawing::rectangle::offset ( const rectangle & rect,
const xtd::drawing::point & pos ) -> rectangle
staticnodiscardnoexcept

Creates and returns an offsetted copy of the specified xtd::drawing::rectangle structure. The copy is offsetted by the specified amount. The original xtd::drawing::rectangle structure remains unmodified.

Parameters
rectThe xtd::drawing::rectangle with which to start. This rectangle is not modified.
posThe amount to offset the specified rectangle.
Returns
The offsetted xtd::drawing::rectangle.
Remarks
This method makes a copy of rect, offsets the copy, and then returns the offsetted copy.

◆ offset() [4/4]

auto xtd::drawing::rectangle::offset ( const rectangle & rect,
xtd::int32 x,
xtd::int32 y ) -> rectangle
staticnodiscardnoexcept

Creates and returns an offsetted copy of the specified xtd::drawing::rectangle structure. The copy is offsetted by the specified amount. The original xtd::drawing::rectangle structure remains unmodified.

Parameters
rectThe xtd::drawing::rectangle with which to start. This rectangle is not modified.
xThe amount to offset the specified rectangle horizontally.
yThe amount to offset the specified rectangle vertically.
Returns
The offsetted xtd::drawing::rectangle.
Remarks
This method makes a copy of rect, offsets the copy, and then returns the offsetted copy.

◆ round()

auto xtd::drawing::rectangle::round ( const rectangle_f & rect) -> rectangle
staticnodiscardnoexcept

Converts the specified xtd::drawing::rectangle_f to a xtd::drawing::rectangle by rounding the xtd::drawing::rectangle_f values to the nearest integer values.

Parameters
rectThe xtd::drawing::rectangle_f to be converted.
Returns
The rounded integer value of the xtd::drawing::rectangle.

◆ truncate()

auto xtd::drawing::rectangle::truncate ( const xtd::drawing::rectangle_f & rect) -> rectangle
staticnodiscardnoexcept

Converts the specified xtd::drawing::rectangle_f to a xtd::drawing::rectangle by truncating the xtd::drawing::rectangle_f values.

Parameters
rectThe xtd::drawing::rectangle_f to be converted.
Returns
The truncated value of the xtd::drawing::rectangle.

Member Data Documentation

◆ empty

const rectangle xtd::drawing::rectangle::empty
static

Represents a xtd::drawing::rectangle that has xtd::drawing::rectagle::x, xtd::drawing::rectangle::y, xtd::drawing::rectangle::width and xtd::drawing::rectangle::height values set to zero.

◆ x

xtd::int32 xtd::drawing::rectangle::x

Gets or sets the x-coordinate of the upper-left corner of this xtd::drawing::rectangle structure. @para mx The x-coordinate of the upper-left corner of this xtd::drawing::rectangle structure. The default is 0.

Remarks
Changing the xtd::drawing::rectangle::x property will also cause a change in the xtd::drawing::rectangle::right property of the xtd::drawing::rectangle.

◆ y

xtd::int32 xtd::drawing::rectangle::y

Gets or sets the y-coordinate of the upper-left corner of this xtd::drawing::rectangle structure.

Parameters
yThe y-coordinate of the upper-left corner of this xtd::drawing::rectangle structure. The default is 0.
Remarks
Changing the xtd::drawing::rectangle::y property will also cause a change in the xtd::drawing::rectangle::bottom property of the xtd::drawing::rectangle.

◆ width

xtd::int32 xtd::drawing::rectangle::width

Gets or sets the width of this xtd::drawing::rectangle structure.

Parameters
widthThe width of this xtd::drawing::rectangle structure. The default is 0.
Remarks
Changing the xtd::drawing::rectangle::width property will also cause a change in the xtd::drawing::rectangle::bottom property of the xtd::drawing::rectangle. The units the rectangle is drawn in is determined by the xtd::drawing::graphics::page_unit and xtd::drawing::graphics::page_scale properties of the graphics object used for drawing. The default unit is pixels.

◆ height

xtd::int32 xtd::drawing::rectangle::height

Gets or sets the height of this xtd::drawing::rectangle structure.

Parameters
heightThe height of this Rectangle structure. The default is 0.
Remarks
Changing the xtd::drawing::rectangle::height property will also cause a change in the xtd::drawing::rectangle::bottom property of the xtd::drawing::rectangle. The units the rectangle is drawn in is determined by the xtd::drawing::graphics::page_unit and xtd::drawing::graphics::page_scale properties of the graphics object used for drawing. The default unit is pixels.

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