5#include "../../drawing_export.hpp"
7#include "../point_f.hpp"
8#include "../rectangle.hpp"
9#include "../rectangle_f.hpp"
12#include <xtd/iequatable>
25 namespace drawing_2d {
88 matrix(
float m11,
float m12,
float m21,
float m22,
float dx,
float dy);
121 bool is_identity() const;
125 bool is_invertible() const;
129 float offset_x() const;
133 float offset_y() const;
142 bool equals(const
xtd::
object& obj) const noexcept override;
146 bool equals(const
xtd::drawing::drawing_2d::
matrix& value) const noexcept override;
150 xtd::
size get_hash_code() const noexcept override;
169 void rotate(
float angle);
188 void scale(
float scale_x,
float scale_y);
193 void scale(
float scale_x,
float scale_y,
xtd::drawing::drawing_2d::
matrix_order order);
199 void shear(
float scale_x,
float scale_y);
205 void shear(
float scale_x,
float scale_y,
xtd::drawing::drawing_2d::
matrix_order order);
224 void translate(
float offset_x,
float offset_y);
229 void translate(
float offset_x,
float offset_y,
xtd::drawing::drawing_2d::
matrix_order order);
235 xtd::
string to_string() const noexcept override;
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:61
Encapsulates a 3-by-3 affine matrix that represents a geometric transform. This class cannot be inher...
Definition matrix.hpp:72
matrix(float m11, float m12, float m21, float m22, float dx, float dy)
Initializes a new instance of the xtd::drawing::drawing_2d::matrix class with the specified elements.
intptr handle() const noexcept
Gets the handle of the matrix.
xtd::array< float > elements() const
Gets an array of floating-point values that represents the elements of this xtd::drawing::drawing_2d:...
matrix(const xtd::drawing::rectangle_f &rect, const xtd::array< xtd::drawing::point_f > &plgpts)
Initializes a new instance of the xtd::drawing::drawing_2d::matrix class to the geometric transform d...
matrix(const xtd::drawing::rectangle &rect, const xtd::array< xtd::drawing::point > &plgpts)
Initializes a new instance of the xtd::drawing::drawing_2d::matrix class to the geometric transform d...
matrix()
Initializes a new instance of the xtd::drawing::drawing_2d::matrix class as the identity matrix.
Defines an object used to draw lines and curves. This class cannot be inherited.
Definition graphics.hpp:67
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:22
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:43
The xtd::shared_ptr_object is a shared pointer as std::shared_ptr.
Definition shared_ptr_object.hpp:30
#define drawing_export_
Define shared library export.
Definition drawing_export.hpp:13
intmax_t intptr
Represent a pointer or a handle.
Definition intptr.hpp:23
matrix_order
Specifies the order for matrix transform operations.
Definition matrix_order.hpp:20
Contains xtd::drawing::drawing_2d::matrix_order enum class.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10
Represents an ordered pair of floating-point x- and y-coordinates that defines a point in a two-dimen...
Definition point_f.hpp:35
Represents an ordered pair of integer x- and y-coordinates that defines a point in a two-dimensional ...
Definition point.hpp:54
Stores a set of four floating-point numbers that represent the location and size of a rectangle....
Definition rectangle_f.hpp:34
Stores a set of four integers that represent the location and size of a rectangle.
Definition rectangle.hpp:44
Stores an ordered pair of integers, which specify a height and width.
Definition size.hpp:31