xtd 0.2.0
graphics.h
Go to the documentation of this file.
1 #pragma once
5 #include "../drawing_export.h"
12 #include "drawing_2d/matrix.h"
17 #include "brush.h"
18 #include "copy_pixel_operation.h"
19 #include "solid_brush.h"
20 #include "color.h"
21 #include "font.h"
22 #include "graphics_unit.h"
23 #include "pen.h"
24 #include "point.h"
25 #include "point_f.h"
26 #include "rectangle.h"
27 #include "rectangle_f.h"
28 #include "region.h"
29 #include "size.h"
30 #include "string_format.h"
31 #include "size_f.h"
32 #include <xtd/object>
33 #include <xtd/ustring>
34 #include <cstdint>
35 #include <limits>
36 #include <ostream>
37 
38 
40 namespace xtd {
41  namespace forms {
42  class control;
43  class control_paint;
44  class paint_event_args;
45  class region;
46  class screen;
47  }
48 }
50 
52 namespace xtd {
54  namespace drawing {
56  class icon;
57  class image;
70  class drawing_export_ graphics : public xtd::object {
71  struct data;
72 
73  public:
75  graphics(const graphics& value);
76  graphics& operator =(const graphics& value);
77  ~graphics();
79 
81 
86  xtd::drawing::region clip() const noexcept;
91  graphics& clip(const xtd::drawing::region value);
92 
97  xtd::drawing::rectangle_f clip_bounds() const noexcept;
98 
110 
120 
123  float dpi_x() const noexcept;
124 
127  float dpi_y() const noexcept;
128 
131  intptr handle() const noexcept;
132 
142 
145  float page_scale() const noexcept;
149  graphics& page_scale(float value) noexcept;
150 
154  xtd::drawing::graphics_unit page_unit() const noexcept;
160  graphics& page_unit(xtd::drawing::graphics_unit value);
161 
171 
181 
185  int32 text_contrast() const noexcept;
190  graphics& text_contrast(int32 value) noexcept;
191 
203 
208  xtd::drawing::drawing_2d::matrix transform() const noexcept;
214  graphics& transform(const xtd::drawing::drawing_2d::matrix& value) noexcept;
215 
220  xtd::drawing::rectangle_f visible_clip_bounds() const noexcept;
222 
224 
228  void clear(const color& color);
229 
236  void copy_from_graphics(const graphics& source, const xtd::drawing::point& upper_left_source, const xtd::drawing::point& upper_left_destination, const xtd::drawing::size& block_region_size);
244  void copy_from_graphics(const graphics& source, const xtd::drawing::point& upper_left_source, const xtd::drawing::point& upper_left_destination, const xtd::drawing::size& block_region_size, xtd::drawing::copy_pixel_operation copy_pixel_operation);
253  void copy_from_graphics(const graphics& source, int32 source_x, int32 source_y, int32 destination_x, int32 destination_y, const xtd::drawing::size& block_region_size);
263  void copy_from_graphics(const graphics& source, int32 source_x, int32 source_y, int32 destination_x, int32 destination_y, const xtd::drawing::size& block_region_size, xtd::drawing::copy_pixel_operation copy_pixel_operation);
264 
270  void copy_from_screen(const xtd::drawing::point& upper_left_source, const xtd::drawing::point& upper_left_destination, const xtd::drawing::size& block_region_size);
277  void copy_from_screen(const xtd::drawing::point& upper_left_source, const xtd::drawing::point& upper_left_destination, const xtd::drawing::size& block_region_size, xtd::drawing::copy_pixel_operation copy_pixel_operation);
285  void copy_from_screen(int32 source_x, int32 source_y, int32 destination_x, int32 destination_y, const xtd::drawing::size& block_region_size);
294  void copy_from_screen(int32 source_x, int32 source_y, int32 destination_x, int32 destination_y, const xtd::drawing::size& block_region_size, xtd::drawing::copy_pixel_operation copy_pixel_operation);
295 
302  void draw_arc(const xtd::drawing::pen& pen, const xtd::drawing::rectangle& rect, float start_angle, float sweep_angle);
309  void draw_arc(const xtd::drawing::pen& pen, const xtd::drawing::rectangle_f& rect, float start_angle, float sweep_angle);
319  void draw_arc(const xtd::drawing::pen& pen, int32 x, int32 y, int32 width, int32 height, int32 start_angle, int32 sweep_angle);
329  void draw_arc(const xtd::drawing::pen& pen, float x, float y, float width, float height, float start_angle, float sweep_angle);
330 
338  void draw_bezier(const xtd::drawing::pen& pen, const xtd::drawing::point& pt1, const xtd::drawing::point& pt2, const xtd::drawing::point& pt3, const xtd::drawing::point& pt4);
346  void draw_bezier(const xtd::drawing::pen& pen, const xtd::drawing::point_f& pt1, const xtd::drawing::point_f& pt2, const xtd::drawing::point_f& pt3, const xtd::drawing::point_f& pt4);
358  void draw_bezier(const pen& pen, int32 x1, int32 y1, int32 x2, int32 y2, int32 x3, int32 y3, int32 x4, int32 y4);
370  void draw_bezier(const pen& pen, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4);
371 
376  void draw_beziers(const pen& pen, const std::vector<xtd::drawing::point>& points);
381  void draw_beziers(const pen& pen, const std::vector<xtd::drawing::point_f>& points);
382 
389  void draw_closed_curve(const pen& pen, const std::vector<xtd::drawing::point>& points);
396  void draw_closed_curve(const pen& pen, const std::vector<xtd::drawing::point_f>& points);
404  void draw_closed_curve(const pen& pen, const std::vector<xtd::drawing::point>& points, float tension);
412  void draw_closed_curve(const pen& pen, const std::vector<xtd::drawing::point_f>& points, float tension);
413 
420  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point>& points);
427  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point_f>& points);
435  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point>& points, float tension);
443  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point_f>& points, float tension);
455  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point>& points, size_t offset, size_t number_of_segments);
467  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point_f>& points, size_t offset, size_t number_of_segments);
479  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point>& points, size_t offset, size_t number_of_segments, float tension);
491  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point_f>& points, size_t offset, size_t number_of_segments, float tension);
492 
497  void draw_ellipse(const xtd::drawing::pen& pen, const xtd::drawing::rectangle& rect);
502  void draw_ellipse(const xtd::drawing::pen& pen, const xtd::drawing::rectangle_f& rect);
510  void draw_ellipse(const xtd::drawing::pen& pen, int32 x, int32 y, int32 width, int32 height);
518  void draw_ellipse(const xtd::drawing::pen& pen, float x, float y, float width, float height);
519 
524  void draw_icon(const xtd::drawing::icon& icon, int32 x, int32 y);
528  void draw_icon(const xtd::drawing::icon& icon, const xtd::drawing::rectangle& rect);
529 
533  void draw_icon_unstretched(const xtd::drawing::icon& icon, const xtd::drawing::rectangle& rect);
534 
539  void draw_image(const xtd::drawing::image& image, const xtd::drawing::rectangle& rect);
544  void draw_image(const xtd::drawing::image& image, const xtd::drawing::rectangle_f& rect);
550  void draw_image(const xtd::drawing::image& image, const xtd::drawing::point& point);
556  void draw_image(const xtd::drawing::image& image, const xtd::drawing::point_f& point);
564  void draw_image(const xtd::drawing::image& image, int32 x, int32 y, int32 width, int32 height);
572  void draw_image(const xtd::drawing::image& image, float x, float y, float width, float height);
579  void draw_image(const xtd::drawing::image& image, int32 x, int32 y);
586  void draw_image(const xtd::drawing::image& image, float x, float y);
587 
593  void draw_image_unscaled(const xtd::drawing::image& image, const xtd::drawing::point& point);
600  void draw_image_unscaled(const xtd::drawing::image& image, int32 x, int32 y);
606  void draw_image_unscaled(const xtd::drawing::image& image, const xtd::drawing::rectangle& rect);
615  void draw_image_unscaled(const xtd::drawing::image& image, int32 x, int32 y, int32 width, int32 height);
616 
620  void draw_image_unscaled_and_clipped(const xtd::drawing::image& image, const xtd::drawing::rectangle& rect);
621 
626  void draw_line(const xtd::drawing::pen& pen, const xtd::drawing::point& pt1, const point& pt2);
631  void draw_line(const xtd::drawing::pen& pen, const xtd::drawing::point_f& pt1, const point_f& pt2);
639  void draw_line(const xtd::drawing::pen& pen, int32 x1, int32 y1, int32 x2, int32 y2);
647  void draw_line(const xtd::drawing::pen& pen, float x1, float y1, float x2, float y2);
648 
653  void draw_lines(const xtd::drawing::pen& pen, const std::vector<xtd::drawing::point>& points);
658  void draw_lines(const xtd::drawing::pen& pen, const std::vector<xtd::drawing::point_f>& points);
659 
664  void draw_path(const xtd::drawing::pen& pen, const xtd::drawing::drawing_2d::graphics_path& path);
665 
673  void draw_pie(const xtd::drawing::pen& pen, const xtd::drawing::rectangle& rect, float start_angle, float sweep_angle);
681  void draw_pie(const xtd::drawing::pen& pen, const xtd::drawing::rectangle_f& rect, float start_angle, float sweep_angle);
692  void draw_pie(const xtd::drawing::pen& pen, int32 x, int32 y, int32 width, int32 height, int32 start_angle, int32 sweep_angle);
703  void draw_pie(const xtd::drawing::pen& pen, float x, float y, float width, float height, float start_angle, float sweep_angle);
704 
709  void draw_polygon(const xtd::drawing::pen& pen, const std::vector<xtd::drawing::point>& points);
714  void draw_polygon(const xtd::drawing::pen& pen, const std::vector<xtd::drawing::point_f>& points);
715 
719  void draw_point(const xtd::drawing::pen& pen, const xtd::drawing::point& point);
723  void draw_point(const xtd::drawing::pen& pen, const xtd::drawing::point_f& point);
728  void draw_point(const xtd::drawing::pen& pen, int32 x, int32 y);
733  void draw_point(const xtd::drawing::pen& pen, float x, float y);
734 
738  void draw_rectangle(const xtd::drawing::pen& pen, const xtd::drawing::rectangle& rect);
742  void draw_rectangle(const xtd::drawing::pen& pen, const xtd::drawing::rectangle_f& rect);
749  void draw_rectangle(const xtd::drawing::pen& pen, int32 x, int32 y, int32 width, int32 height);
756  void draw_rectangle(const xtd::drawing::pen& pen, float x, float y, float width, float height);
757 
761  void draw_rectangles(const xtd::drawing::pen& pen, const std::vector<xtd::drawing::rectangle>& rects);
765  void draw_rectangles(const xtd::drawing::pen& pen, const std::vector<xtd::drawing::rectangle_f>& rects);
766 
773  void draw_rotated_string(const xtd::ustring& s, const xtd::drawing::font& font, const xtd::drawing::brush& brush, const xtd::drawing::point_f& point, float angle);
781  void draw_rotated_string(const xtd::ustring& s, const xtd::drawing::font& font, const xtd::drawing::brush& brush, float x, float y, float angle);
782 
787  void draw_rounded_rectangle(const xtd::drawing::pen& pen, const xtd::drawing::rectangle& rect, int32 radius);
792  void draw_rounded_rectangle(const xtd::drawing::pen& pen, const xtd::drawing::rectangle_f& rect, float radius);
800  void draw_rounded_rectangle(const xtd::drawing::pen& pen, int32 x, int32 y, int32 width, int32 height, int32 radius);
808  void draw_rounded_rectangle(const xtd::drawing::pen& pen, float x, float y, float width, float height, float radius);
809 
816  void draw_string(const xtd::ustring& s, const xtd::drawing::font& font, const xtd::drawing::brush& brush, const xtd::drawing::rectangle_f& layout_rectangle);
824  void draw_string(const xtd::ustring& s, const xtd::drawing::font& font, const xtd::drawing::brush& brush, const xtd::drawing::rectangle_f& layout_rectangle, const xtd::drawing::string_format& format);
830  void draw_string(const xtd::ustring& s, const xtd::drawing::font& font, const xtd::drawing::brush& brush, const xtd::drawing::point_f& point);
837  void draw_string(const xtd::ustring& s, const xtd::drawing::font& font, const xtd::drawing::brush& brush, const xtd::drawing::point_f& point, const xtd::drawing::string_format& format);
844  void draw_string(const xtd::ustring& s, const xtd::drawing::font& font, const xtd::drawing::brush& brush, float x, float y);
852  void draw_string(const xtd::ustring& s, const xtd::drawing::font& font, const xtd::drawing::brush& brush, float x, float y, const xtd::drawing::string_format& format);
853 
857  void exclude_clip(const xtd::drawing::region& region);
861  void exclude_clip(const xtd::drawing::rectangle& rect);
865  void exclude_clip(const xtd::drawing::rectangle_f& rect);
866 
873  void fill_closed_curve(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point>& points);
880  void fill_closed_curve(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point_f>& points);
888  void fill_closed_curve(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point>& points, xtd::drawing::drawing_2d::fill_mode fill_mode);
896  void fill_closed_curve(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point_f>& points, xtd::drawing::drawing_2d::fill_mode fill_mode);
905  void fill_closed_curve(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point>& points, xtd::drawing::drawing_2d::fill_mode fill_mode, float tension);
914  void fill_closed_curve(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point_f>& points, xtd::drawing::drawing_2d::fill_mode fill_mode, float tension);
915 
920  void fill_ellipse(const xtd::drawing::brush& brush, const xtd::drawing::rectangle& rect);
925  void fill_ellipse(const xtd::drawing::brush& brush, const xtd::drawing::rectangle_f& rect);
933  void fill_ellipse(const xtd::drawing::brush& brush, int32 x, int32 y, int32 width, int32 height);
941  void fill_ellipse(const xtd::drawing::brush& brush, float x, float y, float width, float height);
942 
947  void fill_path(const xtd::drawing::brush& brush, const xtd::drawing::drawing_2d::graphics_path& path);
948 
956  void fill_pie(const xtd::drawing::brush& brush, const xtd::drawing::rectangle& rect, float start_angle, float sweep_angle);
964  void fill_pie(const xtd::drawing::brush& brush, const xtd::drawing::rectangle_f& rect, float start_angle, float sweep_angle);
975  void fill_pie(const xtd::drawing::brush& brush, int32 x, int32 y, int32 width, int32 height, int32 start_angle, int32 sweep_angle);
986  void fill_pie(const xtd::drawing::brush& brush, float x, float y, float width, float height, float start_angle, float sweep_angle);
987 
992  void fill_polygon(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point>& points);
997  void fill_polygon(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point_f>& points);
1003  void fill_polygon(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point>& points, xtd::drawing::drawing_2d::fill_mode fill_mode);
1009  void fill_polygon(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point_f>& points, xtd::drawing::drawing_2d::fill_mode fill_mode);
1010 
1015  void fill_rectangle(const xtd::drawing::brush& brush, const xtd::drawing::rectangle& rect);
1020  void fill_rectangle(const xtd::drawing::brush& brush, const xtd::drawing::rectangle_f& rect);
1028  void fill_rectangle(const xtd::drawing::brush& brush, int32 x, int32 y, int32 width, int32 height);
1036  void fill_rectangle(const xtd::drawing::brush& brush, float x, float y, float width, float height);
1037 
1041  void fill_rectangles(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::rectangle>& rects);
1045  void fill_rectangles(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::rectangle_f>& rects);
1046 
1051  void fill_region(const xtd::drawing::brush& brush, const xtd::drawing::region& region);
1052 
1058  void fill_rounded_rectangle(const xtd::drawing::brush& brush, const xtd::drawing::rectangle& rect, int32 radius);
1064  void fill_rounded_rectangle(const xtd::drawing::brush& brush, const xtd::drawing::rectangle_f& rect, float radius);
1073  void fill_rounded_rectangle(const xtd::drawing::brush& brush, int32 x, int32 y, int32 width, int32 height, int32 radius);
1082  void fill_rounded_rectangle(const xtd::drawing::brush& brush, float x, float y, float width, float height, float radius);
1083 
1086  void flush();
1090  void flush(xtd::drawing::drawing_2d::flush_intention intention);
1091 
1097  static graphics from_hdc(intptr hdc);
1104  static graphics from_hdc(intptr hdc, intptr hdevice);
1105 
1109  static graphics from_hwnd(intptr hwnd);
1110 
1124  static graphics from_image(const xtd::drawing::image& image);
1125 
1130  intptr get_hdc() const;
1131 
1135  xtd::drawing::color get_nearest_color(const xtd::drawing::color& color) const;
1136 
1140  void intersect_clip(const xtd::drawing::region& region);
1144  void intersect_clip(const xtd::drawing::rectangle& rect);
1148  void intersect_clip(const xtd::drawing::rectangle_f& rect);
1149 
1153  bool is_visible(const xtd::drawing::rectangle& rect);
1157  bool is_visible(const xtd::drawing::rectangle_f& rect);
1164  bool is_visible(int32 x, int32 y, int32 width, int32 height);
1171  bool is_visible(float x, float y, float width, float height);
1175  bool is_visible(const xtd::drawing::point& point);
1179  bool is_visible(const xtd::drawing::point_f& point);
1184  bool is_visible(int32 x, int32 y);
1189  bool is_visible(float x, float y);
1190 
1195  size_f measure_string(const xtd::ustring& text, const xtd::drawing::font& font);
1201  size_f measure_string(const xtd::ustring& text, const xtd::drawing::font& font, const xtd::drawing::size_f& layout_area);
1207  size_f measure_string(const xtd::ustring& text, const xtd::drawing::font& font, int32 width);
1214  size_f measure_string(const xtd::ustring& text, const xtd::drawing::font& font, const xtd::drawing::point_f& origin, const xtd::drawing::string_format& format);
1221  size_f measure_string(const xtd::ustring& text, const xtd::drawing::font& font, const xtd::drawing::size_f& layout_area, const xtd::drawing::string_format& format);
1228  size_f measure_string(const xtd::ustring& text, const xtd::drawing::font& font, int32 width, const xtd::drawing::string_format& format);
1237  size_f measure_string(const xtd::ustring& text, const xtd::drawing::font& font, const xtd::drawing::size_f& layout_area, const xtd::drawing::string_format& format, size_t characters_fitted, size_t lines_filled);
1238 
1242  void multiply_transform(const xtd::drawing::drawing_2d::matrix& matrix);
1247  void multiply_transform(const xtd::drawing::drawing_2d::matrix& matrix, xtd::drawing::drawing_2d::matrix_order order);
1248 
1253  void release_hdc(intptr hdc);
1254 
1257  void reset_clip();
1258 
1261  void reset_transform();
1262 
1267  void restore(const xtd::drawing::drawing_2d::graphics_state& gstate);
1268 
1272  void rotate_transform(float angle);
1277  void rotate_transform(float angle, xtd::drawing::drawing_2d::matrix_order order);
1278 
1284 
1289  void scale_transform(float sx, float sy);
1295  void scale_transform(float sx, float sy, xtd::drawing::drawing_2d::matrix_order order);
1296 
1300  void translate_clip(int32 dx, int32 dy);
1304  void translate_clip(float dx, float dy);
1305 
1310  void translate_transform(float dx, float dy);
1316  void translate_transform(float dx, float dy, xtd::drawing::drawing_2d::matrix_order order);
1317 
1323  xtd::ustring trim_string(const xtd::ustring& text, const xtd::drawing::font& font, float width, xtd::drawing::string_trimming trimming);
1324 
1325  xtd::ustring to_string() const noexcept override {return get_type().full_name();}
1327 
1328  private:
1329  friend xtd::drawing::image;
1330  friend xtd::drawing::region;
1331  float to_page_unit(float value) const;
1332  static float to_page_unit(float value, xtd::drawing::graphics_unit page_unit, float page_scale, float dpi);
1333  int32 to_pixels(int32 value) const;
1334  float to_pixels(float value) const;
1335  static float to_pixels(float value, xtd::drawing::graphics_unit page_unit, float page_scale, float dpi);
1336  friend xtd::forms::control;
1339  friend xtd::forms::screen;
1340 
1341  explicit graphics(intptr handle);
1342  graphics(intptr handle, const drawing::region& region);
1343  void draw_image_disabled(const xtd::drawing::image& image, float x, float y, float brightness);
1344 
1345  std::shared_ptr<data> data_;
1346  };
1347  }
1348 }
copy_pixel_operation
Determines how the source color in a copy pixel operation is combined with the destination color to r...
Definition: copy_pixel_operation.h:18
Contains xtd::drawing::string_format class.
Represents a display device or multiple display devices on a single system.
Definition: screen.h:30
Defines a particular format for text, including font face, size, and style attributes. This class cannot be inherited.
Definition: font.h:45
Encapsulates a 3-by-3 affine matrix that represents a geometric transform. This class cannot be inher...
Definition: matrix.h:74
smoothing_mode
Specifies whether smoothing (antialiasing) is applied to lines and curves and the edges of filled are...
Definition: smoothing_mode.h:24
Contains xtd::drawing::drawing_2d/::interpolation_mode enum class.
intmax_t intptr
Represent a pointer or a handle.
Definition: types.h:151
string_trimming
Specifies how to trim characters from a string that does not completely fit into a layout shape...
Definition: string_trimming.h:17
compositing_mode
Specifies how the source colors are combined with the background colors.
Definition: compositing_mode.h:20
text_rendering_hint
Specifies the quality of text rendering.
Definition: text_rendering_hint.h:20
Provides methods used to paint common Windows controls and their elements. This class cannot be inher...
Definition: control_paint.h:37
Represents an ordered pair of integer x- and y-coordinates that defines a point in a two-dimensional ...
Definition: point.h:54
Contains xtd::drawing::drawing_2d/::graphics_path class.
Contains xtd::drawing::point class.
Stores an ordered pair of integers, which specify a height and width.
Definition: size.h:31
Specifies that the top edge of the control is defined.
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Contains xtd::drawing::drawing_2d/::matrix_order enum class.
Contains xtd::drawing::text::text_rendering_hint enum class.
Stores a set of four floating-point numbers that represent the location and size of a rectangle...
Definition: rectangle_f.h:34
matrix_order
Specifies the order for matrix transform operations.
Definition: matrix_order.h:21
Contains xtd::drawing::solid_brush class.
Contains xtd::drawing::brush class.
Contains xtd::drawing::point_f class.
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:46
Specifies that the left edge of the control is defined.
Describes the interior of a graphics shape composed of rectangles and paths. This class cannot be inh...
Definition: region.h:32
Contains xtd::drawing::drawing_2d/::flush_intention enum class.
fill_mode
Specifies how the interior of a closed path is filled.
Definition: fill_mode.h:24
Represents an ordered pair of floating-point x- and y-coordinates that defines a point in a two-dimen...
Definition: point_f.h:35
Stores an ordered pair of floating-point, which specify a height and width.
Definition: size_f.h:31
compositing_quality
Specifies the quality level to use during compositing.
Definition: compositing_quality.h:21
Contains xtd::drawing::rectangle_f class.
Specifies that the height of the control is defined.
Contains xtd::drawing::rectangle class.
Represents an ARGB (alpha, red, green, blue) color.
Definition: color.h:45
Represents the state of a xtd::drawing::graphics object. This object is returned by a call to the xtd...
Definition: graphics_state.h:31
Provides data for the xtd::forms::control::paint event.
Definition: paint_event_args.h:28
Defines an object used to draw lines and curves. This class cannot be inherited.
Definition: pen.h:35
flush_intention
Specifies whether commands in the graphics stack are terminated (flushed) immediately or executed as ...
Definition: flush_intention.h:20
interpolation_mode
The xtd::drawing::drawing_2d/interpolation_mode enumeration specifies the algorithm that is used when...
Definition: interpolation_mode.h:20
Contains xtd::drawing::pen class.
Contains xtd::drawing::drawing_2d/::matrix class.
The xtd::uri::local_path data.
Contains xtd::drawing::drawing_2d/::compositing_mode enum class.
Specifies that the width of the control is defined.
Stores a set of four integers that represent the location and size of a rectangle.
Definition: rectangle.h:44
Contains xtd::drawing::drawing_2d/::pixel_offset_mode enum class.
Contains xtd::drawing::color class.
An abstract base class that provides functionality for the bitmap and metafile descended classes...
Definition: image.h:48
Defines the base class for controls, which are components with visual representation.
Definition: control.h:78
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes...
Definition: object.h:32
Contains xtd::drawing::size_f class.
Contains xtd::drawing::drawing_2d/::compositing_quality enum class.
xtd::ustring to_string() const noexcept override
Returns a sxd::ustring that represents the current object.
Definition: graphics.h:1325
Contains xtd::drawing::region class.
int_least32_t int32
Represents a 32-bit signed integer.
Definition: types.h:129
Contains xtd::drawing::drawing_2d/::smoothing_mode enum class.
Contains xtd::drawing::graphics_unit enum class.
graphics_unit
Specifies the unit of measure for the given data. This enumeration has a flags attribute that allows ...
Definition: graphics_unit.h:17
Contains xtd::drawing::size class.
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition: about_box.h:13
Draw line splitter style.
Defines objects used to fill the interiors of graphical shapes such as rectangles, ellipses, pies, polygons, and paths.
Definition: brush.h:33
Defines an object used to draw lines and curves. This class cannot be inherited.
Definition: graphics.h:70
Defines an object used to draw lines and curves. This class cannot be inherited.
Definition: graphics_path.h:36
pixel_offset_mode
Specifies how pixels are offset during rendering.
Definition: pixel_offset_mode.h:21
Contains xtd::drawing::drawing_2d/::graphics_state class.
The xtd::forms::status_bar_panel displays text in the standard font.
Contains xtd::drawing::font class.
Represents a Windows icon, which is a small bitmap image that is used to represent an object...
Definition: icon.h:28
Contains xtd::drawing::copy_pixel_operation enum class.
Encapsulates text layout information (such as alignment, orientation and tab stops) display manipulat...
Definition: string_format.h:30
The left or right CTRL modifier key.