xtd - Reference Guide 0.2.0
graphics.h
Go to the documentation of this file.
1 #pragma once
5 #include <cstdint>
6 #include <limits>
7 #include <ostream>
8 #include <xtd/object.h>
9 #include <xtd/ustring.h>
10 #include "../drawing_export.h"
11 #include "brush.h"
12 #include "copy_pixel_operation.h"
13 #include "solid_brush.h"
14 #include "color.h"
15 #include "font.h"
16 #include "graphics_unit.h"
17 #include "pen.h"
18 #include "point.h"
19 #include "point_f.h"
20 #include "rectangle.h"
21 #include "rectangle_f.h"
22 #include "region.h"
23 #include "size.h"
24 #include "string_format.h"
25 #include "size_f.h"
32 #include "drawing2d/matrix.h"
33 #include "drawing2d/matrix_order.h"
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  public:
73  graphics(const graphics& value);
74  graphics& operator =(const graphics& value);
75  ~graphics();
77 
79 
84  xtd::drawing::region clip() const;
89  graphics& clip(const xtd::drawing::region value);
90 
95  xtd::drawing::rectangle_f clip_bounds() const;
96 
108 
118 
121  float dpi_x() const;
122 
125  float dpi_y() const;
126 
129  intptr_t handle() const;
130 
140 
143  float page_scale() const;
147  graphics& page_scale(float value);
148 
152  xtd::drawing::graphics_unit page_unit() const;
158  graphics& page_unit(xtd::drawing::graphics_unit value);
159 
169 
179 
183  int text_contrast() const;
188  graphics& text_contrast(int value);
189 
201 
206  xtd::drawing::drawing2d::matrix transform() const;
212  graphics& transform(const xtd::drawing::drawing2d::matrix& value);
213 
218  xtd::drawing::rectangle_f visible_clip_bounds() const noexcept;
220 
222 
226  void clear(const color& color);
227 
233  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);
240  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);
248  void copy_from_screen(int32_t source_x, int32_t source_y, int32_t destination_x, int32_t destination_y, const xtd::drawing::size& block_region_size);
257  void copy_from_screen(int32_t source_x, int32_t source_y, int32_t destination_x, int32_t destination_y, const xtd::drawing::size& block_region_size, xtd::drawing::copy_pixel_operation copy_pixel_operation);
258 
265  void draw_arc(const xtd::drawing::pen& pen, const xtd::drawing::rectangle& rect, float start_angle, float sweep_angle);
272  void draw_arc(const xtd::drawing::pen& pen, const xtd::drawing::rectangle_f& rect, float start_angle, float sweep_angle);
282  void draw_arc(const xtd::drawing::pen& pen, int32_t x, int32_t y, int32_t width, int32_t height, int32_t start_angle, int32_t sweep_angle);
292  void draw_arc(const xtd::drawing::pen& pen, float x, float y, float width, float height, float start_angle, float sweep_angle);
293 
301  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);
309  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);
321  void draw_bezier(const pen& pen, int32_t x1, int32_t y1, int32_t x2, int32_t y2, int32_t x3, int32_t y3, int32_t x4, int32_t y4);
333  void draw_bezier(const pen& pen, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4);
334 
339  void draw_beziers(const pen& pen, const std::vector<xtd::drawing::point>& points);
344  void draw_beziers(const pen& pen, const std::vector<xtd::drawing::point_f>& points);
345 
352  void draw_closed_curve(const pen& pen, const std::vector<xtd::drawing::point>& points);
359  void draw_closed_curve(const pen& pen, const std::vector<xtd::drawing::point_f>& points);
367  void draw_closed_curve(const pen& pen, const std::vector<xtd::drawing::point>& points, float tension);
375  void draw_closed_curve(const pen& pen, const std::vector<xtd::drawing::point_f>& points, float tension);
376 
383  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point>& points);
390  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point_f>& points);
398  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point>& points, float tension);
406  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point_f>& points, float tension);
418  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point>& points, size_t offset, size_t number_of_segments);
430  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point_f>& points, size_t offset, size_t number_of_segments);
442  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point>& points, size_t offset, size_t number_of_segments, float tension);
454  void draw_curve(const pen& pen, const std::vector<xtd::drawing::point_f>& points, size_t offset, size_t number_of_segments, float tension);
455 
460  void draw_ellipse(const xtd::drawing::pen& pen, const xtd::drawing::rectangle& rect);
465  void draw_ellipse(const xtd::drawing::pen& pen, const xtd::drawing::rectangle_f& rect);
473  void draw_ellipse(const xtd::drawing::pen& pen, int32_t x, int32_t y, int32_t width, int32_t height);
481  void draw_ellipse(const xtd::drawing::pen& pen, float x, float y, float width, float height);
482 
487  void draw_icon(const xtd::drawing::icon& icon, int32_t x, int32_t y);
491  void draw_icon(const xtd::drawing::icon& icon, const xtd::drawing::rectangle& rect);
492 
496  void draw_icon_unstretched(const xtd::drawing::icon& icon, const xtd::drawing::rectangle& rect);
497 
502  void draw_image(const xtd::drawing::image& image, const xtd::drawing::rectangle& rect);
507  void draw_image(const xtd::drawing::image& image, const xtd::drawing::rectangle_f& rect);
513  void draw_image(const xtd::drawing::image& image, const xtd::drawing::point& point);
519  void draw_image(const xtd::drawing::image& image, const xtd::drawing::point_f& point);
527  void draw_image(const xtd::drawing::image& image, int32_t x, int32_t y, int32_t width, int32_t height);
535  void draw_image(const xtd::drawing::image& image, float x, float y, float width, float height);
542  void draw_image(const xtd::drawing::image& image, int32_t x, int32_t y);
549  void draw_image(const xtd::drawing::image& image, float x, float y);
550 
556  void draw_image_unscaled(const xtd::drawing::image& image, const xtd::drawing::point& point);
563  void draw_image_unscaled(const xtd::drawing::image& image, int32_t x, int32_t y);
569  void draw_image_unscaled(const xtd::drawing::image& image, const xtd::drawing::rectangle& rect);
578  void draw_image_unscaled(const xtd::drawing::image& image, int32_t x, int32_t y, int32_t width, int32_t height);
579 
583  void draw_image_unscaled_and_clipped(const xtd::drawing::image& image, const xtd::drawing::rectangle& rect);
584 
589  void draw_line(const xtd::drawing::pen& pen, const xtd::drawing::point& pt1, const point& pt2);
594  void draw_line(const xtd::drawing::pen& pen, const xtd::drawing::point_f& pt1, const point_f& pt2);
602  void draw_line(const xtd::drawing::pen& pen, int32_t x1, int32_t y1, int32_t x2, int32_t y2);
610  void draw_line(const xtd::drawing::pen& pen, float x1, float y1, float x2, float y2);
611 
616  void draw_lines(const xtd::drawing::pen& pen, const std::vector<xtd::drawing::point>& points);
621  void draw_lines(const xtd::drawing::pen& pen, const std::vector<xtd::drawing::point_f>& points);
622 
627  void draw_path(const xtd::drawing::pen& pen, const xtd::drawing::drawing2d::graphics_path& path);
628 
636  void draw_pie(const xtd::drawing::pen& pen, const xtd::drawing::rectangle& rect, float start_angle, float sweep_angle);
644  void draw_pie(const xtd::drawing::pen& pen, const xtd::drawing::rectangle_f& rect, float start_angle, float sweep_angle);
655  void draw_pie(const xtd::drawing::pen& pen, int32_t x, int32_t y, int32_t width, int32_t height, int32_t start_angle, int32_t sweep_angle);
666  void draw_pie(const xtd::drawing::pen& pen, float x, float y, float width, float height, float start_angle, float sweep_angle);
667 
672  void draw_polygon(const xtd::drawing::pen& pen, const std::vector<xtd::drawing::point>& points);
677  void draw_polygon(const xtd::drawing::pen& pen, const std::vector<xtd::drawing::point_f>& points);
678 
682  void draw_point(const xtd::drawing::pen& pen, const xtd::drawing::point& point);
686  void draw_point(const xtd::drawing::pen& pen, const xtd::drawing::point_f& point);
691  void draw_point(const xtd::drawing::pen& pen, int32_t x, int32_t y);
696  void draw_point(const xtd::drawing::pen& pen, float x, float y);
697 
701  void draw_rectangle(const xtd::drawing::pen& pen, const xtd::drawing::rectangle& rect);
705  void draw_rectangle(const xtd::drawing::pen& pen, const xtd::drawing::rectangle_f& rect);
712  void draw_rectangle(const xtd::drawing::pen& pen, int32_t x, int32_t y, int32_t width, int32_t height);
719  void draw_rectangle(const xtd::drawing::pen& pen, float x, float y, float width, float height);
720 
724  void draw_rectangles(const xtd::drawing::pen& pen, const std::vector<xtd::drawing::rectangle>& rects);
728  void draw_rectangles(const xtd::drawing::pen& pen, const std::vector<xtd::drawing::rectangle_f>& rects);
729 
736  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);
744  void draw_rotated_string(const xtd::ustring& s, const xtd::drawing::font& font, const xtd::drawing::brush& brush, float x, float y, float angle);
745 
750  void draw_rounded_rectangle(const xtd::drawing::pen& pen, const xtd::drawing::rectangle& rect, int32_t radius);
755  void draw_rounded_rectangle(const xtd::drawing::pen& pen, const xtd::drawing::rectangle_f& rect, float radius);
763  void draw_rounded_rectangle(const xtd::drawing::pen& pen, int32_t x, int32_t y, int32_t width, int32_t height, int32_t radius);
771  void draw_rounded_rectangle(const xtd::drawing::pen& pen, float x, float y, float width, float height, float radius);
772 
779  void draw_string(const xtd::ustring& s, const xtd::drawing::font& font, const xtd::drawing::brush& brush, const xtd::drawing::rectangle_f& layout_rectangle);
787  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);
793  void draw_string(const xtd::ustring& s, const xtd::drawing::font& font, const xtd::drawing::brush& brush, const xtd::drawing::point_f& point);
800  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);
807  void draw_string(const xtd::ustring& s, const xtd::drawing::font& font, const xtd::drawing::brush& brush, float x, float y);
815  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);
816 
820  void exclude_clip(const xtd::drawing::region& region);
824  void exclude_clip(const xtd::drawing::rectangle& rect);
828  void exclude_clip(const xtd::drawing::rectangle_f& rect);
829 
836  void fill_closed_curve(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point>& points);
843  void fill_closed_curve(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point_f>& points);
851  void fill_closed_curve(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point>& points, xtd::drawing::drawing2d::fill_mode fill_mode);
859  void fill_closed_curve(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point_f>& points, xtd::drawing::drawing2d::fill_mode fill_mode);
868  void fill_closed_curve(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point>& points, xtd::drawing::drawing2d::fill_mode fill_mode, float tension);
877  void fill_closed_curve(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point_f>& points, xtd::drawing::drawing2d::fill_mode fill_mode, float tension);
878 
883  void fill_ellipse(const xtd::drawing::brush& brush, const xtd::drawing::rectangle& rect);
888  void fill_ellipse(const xtd::drawing::brush& brush, const xtd::drawing::rectangle_f& rect);
896  void fill_ellipse(const xtd::drawing::brush& brush, int32_t x, int32_t y, int32_t width, int32_t height);
904  void fill_ellipse(const xtd::drawing::brush& brush, float x, float y, float width, float height);
905 
910  void fill_path(const xtd::drawing::brush& brush, const xtd::drawing::drawing2d::graphics_path& path);
911 
919  void fill_pie(const xtd::drawing::brush& brush, const xtd::drawing::rectangle& rect, float start_angle, float sweep_angle);
927  void fill_pie(const xtd::drawing::brush& brush, const xtd::drawing::rectangle_f& rect, float start_angle, float sweep_angle);
938  void fill_pie(const xtd::drawing::brush& brush, int32_t x, int32_t y, int32_t width, int32_t height, int32_t start_angle, int32_t sweep_angle);
949  void fill_pie(const xtd::drawing::brush& brush, float x, float y, float width, float height, float start_angle, float sweep_angle);
950 
955  void fill_polygon(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point>& points);
960  void fill_polygon(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point_f>& points);
966  void fill_polygon(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point>& points, xtd::drawing::drawing2d::fill_mode fill_mode);
972  void fill_polygon(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::point_f>& points, xtd::drawing::drawing2d::fill_mode fill_mode);
973 
978  void fill_rectangle(const xtd::drawing::brush& brush, const xtd::drawing::rectangle& rect);
983  void fill_rectangle(const xtd::drawing::brush& brush, const xtd::drawing::rectangle_f& rect);
991  void fill_rectangle(const xtd::drawing::brush& brush, int32_t x, int32_t y, int32_t width, int32_t height);
999  void fill_rectangle(const xtd::drawing::brush& brush, float x, float y, float width, float height);
1000 
1004  void fill_rectangles(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::rectangle>& rects);
1008  void fill_rectangles(const xtd::drawing::brush& brush, const std::vector<xtd::drawing::rectangle_f>& rects);
1009 
1014  void fill_region(const xtd::drawing::brush& brush, const xtd::drawing::region& region);
1015 
1021  void fill_rounded_rectangle(const xtd::drawing::brush& brush, const xtd::drawing::rectangle& rect, int32_t radius);
1027  void fill_rounded_rectangle(const xtd::drawing::brush& brush, const xtd::drawing::rectangle_f& rect, float radius);
1036  void fill_rounded_rectangle(const xtd::drawing::brush& brush, int32_t x, int32_t y, int32_t width, int32_t height, int32_t radius);
1045  void fill_rounded_rectangle(const xtd::drawing::brush& brush, float x, float y, float width, float height, float radius);
1046 
1049  void flush();
1053  void flush(xtd::drawing::drawing2d::flush_intention intention);
1054 
1060  static graphics from_hdc(intptr_t hdc);
1067  static graphics from_hdc(intptr_t hdc, intptr_t hdevice);
1068 
1072  static graphics from_hwnd(intptr_t hwnd);
1073 
1087  static graphics from_image(const xtd::drawing::image& image);
1088 
1093  intptr_t get_hdc() const;
1094 
1098  xtd::drawing::color get_nearest_color(const xtd::drawing::color& color) const;
1099 
1103  void intersect_clip(const xtd::drawing::region& region);
1107  void intersect_clip(const xtd::drawing::rectangle& rect);
1111  void intersect_clip(const xtd::drawing::rectangle_f& rect);
1112 
1116  bool is_visible(const xtd::drawing::rectangle& rect);
1120  bool is_visible(const xtd::drawing::rectangle_f& rect);
1127  bool is_visible(int32_t x, int32_t y, int32_t width, int32_t height);
1134  bool is_visible(float x, float y, float width, float height);
1138  bool is_visible(const xtd::drawing::point& point);
1142  bool is_visible(const xtd::drawing::point_f& point);
1147  bool is_visible(int32_t x, int32_t y);
1152  bool is_visible(float x, float y);
1153 
1158  size_f measure_string(const xtd::ustring& text, const xtd::drawing::font& font);
1164  size_f measure_string(const xtd::ustring& text, const xtd::drawing::font& font, const xtd::drawing::size_f& layout_area);
1170  size_f measure_string(const xtd::ustring& text, const xtd::drawing::font& font, int32_t width);
1177  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);
1184  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);
1191  size_f measure_string(const xtd::ustring& text, const xtd::drawing::font& font, int32_t width, const xtd::drawing::string_format& format);
1200  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);
1201 
1205  void multiply_transform(const xtd::drawing::drawing2d::matrix& matrix);
1210  void multiply_transform(const xtd::drawing::drawing2d::matrix& matrix, xtd::drawing::drawing2d::matrix_order order);
1211 
1216  void release_hdc(intptr_t hdc);
1217 
1220  void reset_clip();
1221 
1224  void reset_transform();
1225 
1230  void restore(const xtd::drawing::drawing2d::graphics_state& gstate);
1231 
1235  void rotate_transform(float angle);
1240  void rotate_transform(float angle, xtd::drawing::drawing2d::matrix_order order);
1241 
1247 
1252  void scale_transform(float sx, float sy);
1258  void scale_transform(float sx, float sy, xtd::drawing::drawing2d::matrix_order order);
1259 
1263  void translate_clip(int32_t dx, int32_t dy);
1267  void translate_clip(float dx, float dy);
1268 
1273  void translate_transform(float dx, float dy);
1279  void translate_transform(float dx, float dy, xtd::drawing::drawing2d::matrix_order order);
1280 
1286  xtd::ustring trim_string(const xtd::ustring& text, const xtd::drawing::font& font, float width, xtd::drawing::string_trimming trimming);
1287 
1288  xtd::ustring to_string() const noexcept override {return ustring::full_class_name(*this);}
1290 
1291  private:
1292  friend xtd::drawing::image;
1293  friend xtd::drawing::region;
1294  float to_page_unit(float value) const;
1295  static float to_page_unit(float value, xtd::drawing::graphics_unit page_unit, float page_scale, float dpi);
1296  float to_pixels(float value) const;
1297  static float to_pixels(float value, xtd::drawing::graphics_unit page_unit, float page_scale, float dpi);
1298  friend xtd::drawing::font;
1299  friend xtd::forms::control;
1302  friend xtd::forms::screen;
1303 
1304  explicit graphics(intptr_t handle);
1305  graphics(intptr_t handle, const drawing::region& region);
1306  void draw_image_disabled(const xtd::drawing::image& image, float x, float y, float brightness);
1307 
1308  struct data {
1309  xtd::drawing::region clip;
1312  intptr_t handle = 0;
1314  float page_scale = 1.0f;
1319  int text_contrast = 4;
1320  };
1321  std::shared_ptr<data> data_ = std::make_shared<data>();
1322  };
1323  }
1324 }
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:29
Defines a particular format for text, including font face, size, and style attributes. This class cannot be inherited.
Definition: font.h:44
Contains xtd::drawing::drawing2d::interpolation_mode enum class.
Defines an object used to draw lines and curves. This class cannot be inherited.
Definition: graphics_path.h:35
string_trimming
Specifies how to trim characters from a string that does not completely fit into a layout shape...
Definition: string_trimming.h:17
Represents the state of a xtd::drawing::graphics object. This object is returned by a call to the xtd...
Definition: graphics_state.h:28
text_rendering_hint
Specifies the quality of text rendering.
Definition: text_rendering_hint.h:20
pixel_offset_mode
Specifies how pixels are offset during rendering.
Definition: pixel_offset_mode.h:20
Provides methods used to paint common Windows controls and their elements. This class cannot be inher...
Definition: control_paint.h:35
Represents an ordered pair of integer x- and y-coordinates that defines a point in a two-dimensional ...
Definition: point.h:53
Specifies a device pixel as the unit of measure.
Contains xtd::drawing::graphics_path class.
Contains xtd::drawing::point class.
Stores an ordered pair of integers, which specify a height and width.
Definition: size.h:30
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::drawing2d::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
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:51
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:31
Contains xtd::drawing::drawing2d::flush_intention enum class.
fill_mode
Specifies how the interior of a closed path is filled.
Definition: fill_mode.h:23
smoothing_mode
Specifies whether smoothing (antialiasing) is applied to lines and curves and the edges of filled are...
Definition: smoothing_mode.h:23
Represents an ordered pair of floating-point x- and y-coordinates that defines a point in a two-dimen...
Definition: point_f.h:34
Stores an ordered pair of floating-point, which specify a height and width.
Definition: size_f.h:29
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:44
Provides data for the paint event.
Definition: paint_event_args.h:27
Defines an object used to draw lines and curves. This class cannot be inherited.
Definition: pen.h:34
flush_intention
Specifies whether commands in the graphics stack are terminated (flushed) immediately or executed as ...
Definition: flush_intention.h:19
Contains xtd::drawing::pen class.
Contains xtd::drawing::matrix class.
The xtd::uri::local_path data.
Specifies that when a color is rendered, it is blended with the background color. The blend is determ...
Contains xtd::drawing::size class.
Contains xtd::drawing::drawing2d::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::ustring class.
Contains xtd::drawing::drawing2d::pixel_offset_mode enum class.
compositing_mode
Specifies how the source colors are combined with the background colors.
Definition: compositing_mode.h:19
Contains xtd::drawing::color class.
An abstract base class that provides functionality for the bitmap and metafile descended classes...
Definition: image.h:47
Defines the base class for controls, which are components with visual representation.
Definition: control.h:75
Each character is drawn using its glyph bitmap, with the system default rendering hint...
Contains xtd::object class.
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes...
Definition: object.h:30
Contains xtd::drawing::size_f class.
Contains xtd::drawing::drawing2d::compositing_quality enum class.
xtd::ustring to_string() const noexcept override
Returns a sxd::ustring that represents the current object.
Definition: graphics.h:1288
Contains xtd::drawing::region class.
Contains xtd::drawing::drawing2d::smoothing_mode enum class.
Contains xtd::drawing::graphics_unit enum class.
matrix_order
Specifies the order for matrix transform operations.
Definition: matrix_order.h:20
compositing_quality
Specifies the quality level to use during compositing.
Definition: compositing_quality.h:20
static ustring full_class_name()
Gets the fully qualified class name of the objec_t, including the namespace of the objec_t...
Definition: ustring.h:781
graphics_unit
Specifies the unit of measure for the given data. This enumeration has a flags attribute that allows ...
Definition: graphics_unit.h:17
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:50
Encapsulates a 3-by-3 affine matrix that represents a geometric transform. This class cannot be inher...
Definition: matrix.h:72
Defines an object used to draw lines and curves. This class cannot be inherited.
Definition: graphics.h:70
interpolation_mode
The xtd::drawing::drawing2d::interpolation_mode enumeration specifies the algorithm that is used when...
Definition: interpolation_mode.h:19
Contains xtd::drawing::drawing2d::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:27
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.