@@ -34,8 +34,7 @@ namespace std::experimental::io2d {
3434 enum class line_join {
3535 miter,
3636 round,
37- bevel,
38- miter_or_bevel
37+ bevel
3938 };
4039
4140 enum class compositing_op {
@@ -73,7 +72,7 @@ namespace std::experimental::io2d {
7372 enum class format {
7473 invalid,
7574 argb32,
76- xrgb32 ,
75+ rgb24 ,
7776 a8,
7877 rgb16_565,
7978 rgb30
@@ -106,13 +105,10 @@ namespace std::experimental::io2d {
106105 compositing_op _Compositing = compositing_op::over;
107106 public:
108107 constexpr render_props () noexcept ;
109- constexpr explicit render_props (antialias a, const matrix_2d& m = matrix_2d{},
110- compositing_op co = compositing_op::over) noexcept ;
111-
108+ constexpr explicit render_props (antialias a, const matrix_2d& m = matrix_2d{}, compositing_op co = compositing_op::over) noexcept ;
112109 constexpr void antialiasing (antialias a) noexcept ;
113110 constexpr void compositing (compositing_op co) noexcept ;
114111 constexpr void surface_matrix (const matrix_2d& m) noexcept ;
115-
116112 constexpr antialias antialiasing () const noexcept ;
117113 constexpr compositing_op compositing () const noexcept ;
118114 constexpr matrix_2d surface_matrix () const noexcept ;
@@ -125,47 +121,36 @@ namespace std::experimental::io2d {
125121 matrix_2d _Matrix;
126122
127123 public:
124+ // suprlus to paper
128125 constexpr brush_props () noexcept ;
129- constexpr brush_props (experimental::io2d::wrap_mode w,
130- experimental::io2d::filter fi = experimental::io2d::filter::bilinear,
131- experimental::io2d::fill_rule fr = experimental::io2d::fill_rule::winding,
132- matrix_2d m = matrix_2d{}) noexcept ;
133-
134- constexpr void filter (experimental::io2d::filter fi) noexcept ;
135- constexpr void wrap_mode (experimental::io2d::wrap_mode w) noexcept ;
136- constexpr void fill_rule (experimental::io2d::fill_rule fr) noexcept ;
137- constexpr void matrix (const matrix_2d& m) noexcept ;
138126
139- constexpr experimental::io2d::filter filter () const noexcept ;
140- constexpr experimental::io2d::wrap_mode wrap_mode () const noexcept ;
141- constexpr experimental::io2d::fill_rule fill_rule () const noexcept ;
142- constexpr matrix_2d matrix () const noexcept ;
127+ constexpr brush_props (io2d::wrap_mode w = io2d::wrap_mode::none, io2d::filter fi = io2d::filter::good, io2d::fill_rule fr = io2d::fill_rule::winding, matrix_2d m = matrix_2d{}) noexcept ;
128+ constexpr void filter (io2d::filter fi) noexcept ;
129+ constexpr void wrap_mode (io2d::wrap_mode w) noexcept ;
130+ constexpr void fill_rule (io2d::fill_rule fr) noexcept ;
131+ constexpr void brush_matrix (const matrix_2d& m) noexcept ;
132+ constexpr io2d::filter filter () const noexcept ;
133+ constexpr io2d::wrap_mode wrap_mode () const noexcept ;
134+ constexpr io2d::fill_rule fill_rule () const noexcept ;
135+ constexpr matrix_2d brush_matrix () const noexcept ;
143136 };
144137
145138 class clip_props {
146139 interpreted_path _Clip;
147140 experimental::io2d::fill_rule _Fill_rule = experimental::io2d::fill_rule::winding;
148141 public:
142+ // suprlus to paper
143+ explicit clip_props (const bounding_box& r, experimental::io2d::fill_rule fr = experimental::io2d::fill_rule::winding);
144+
149145 clip_props () noexcept = default ;
150146 template <class Allocator >
151- explicit clip_props (const path_builder<Allocator> &pf,
152- experimental::io2d::fill_rule fr = experimental::io2d::fill_rule::winding);
153-
154- explicit clip_props (const interpreted_path& pg,
155- experimental::io2d::fill_rule fr = experimental::io2d::fill_rule::winding) noexcept ;
156-
157- explicit clip_props (const bounding_box& r,
158- experimental::io2d::fill_rule fr = experimental::io2d::fill_rule::winding);
159-
147+ explicit clip_props (const path_builder<Allocator>& pb, experimental::io2d::fill_rule fr = experimental::io2d::fill_rule::winding);
148+ explicit clip_props (const interpreted_path& pg, experimental::io2d::fill_rule fr = experimental::io2d::fill_rule::winding) noexcept ;
160149 template <class Allocator >
161- void clip (const path_builder<Allocator>& pf);
162-
150+ void clip (const path_builder<Allocator>& pb);
163151 void clip (const interpreted_path& pg) noexcept ;
164-
165- void fill_rule (experimental::io2d::fill_rule fr);
166-
152+ void fill_rule (experimental::io2d::fill_rule fr) noexcept ;
167153 interpreted_path clip () const noexcept ;
168-
169154 experimental::io2d::fill_rule fill_rule () const noexcept ;
170155 };
171156
@@ -177,20 +162,16 @@ namespace std::experimental::io2d {
177162 // optional<dashes> _Dashes;
178163 public:
179164 constexpr stroke_props () noexcept ;
180- constexpr explicit stroke_props (float w,
181- experimental::io2d::line_cap lc = experimental::io2d::line_cap::none,
182- experimental::io2d::line_join lj = experimental::io2d::line_join::miter,
183- float ml = 10 .0F ) noexcept ;
184-
165+ constexpr explicit stroke_props (float w, io2d::line_cap lc = io2d::line_cap::none, io2d::line_join lj = io2d::line_join::miter, float ml = 10 .0f ) noexcept ;
185166 constexpr void line_width (float w) noexcept ;
186167 constexpr void line_cap (experimental::io2d::line_cap lc) noexcept ;
187168 constexpr void line_join (experimental::io2d::line_join lj) noexcept ;
188169 constexpr void miter_limit (float ml) noexcept ;
189-
190170 constexpr float line_width () const noexcept ;
191171 constexpr experimental::io2d::line_cap line_cap () const noexcept ;
192172 constexpr experimental::io2d::line_join line_join () const noexcept ;
193173 constexpr float miter_limit () const noexcept ;
174+ constexpr float max_miter_limit () const noexcept ;
194175 };
195176
196177 class mask_props {
@@ -199,21 +180,19 @@ namespace std::experimental::io2d {
199180 matrix_2d _Matrix = matrix_2d{};
200181
201182 public:
202- constexpr mask_props (experimental::io2d::wrap_mode w = experimental::io2d::wrap_mode::repeat,
203- experimental::io2d::filter fi = experimental::io2d::filter::good,
204- matrix_2d m = matrix_2d{}) noexcept ;
183+ // suprlus to paper
205184 constexpr mask_props (const mask_props&) noexcept = default;
206185 constexpr mask_props& operator =(const mask_props&) noexcept = default ;
207186 mask_props (mask_props&&) noexcept = default ;
208187 mask_props& operator =(mask_props&&) noexcept = default ;
209188
189+ constexpr mask_props (experimental::io2d::wrap_mode w = experimental::io2d::wrap_mode::repeat, experimental::io2d::filter fi = experimental::io2d::filter::good, matrix_2d m = matrix_2d{}) noexcept ;
210190 constexpr void wrap_mode (experimental::io2d::wrap_mode w) noexcept ;
211191 constexpr void filter (experimental::io2d::filter fi) noexcept ;
212- constexpr void matrix (const matrix_2d& m) noexcept ;
213-
192+ constexpr void mask_matrix (const matrix_2d& m) noexcept ;
214193 constexpr experimental::io2d::wrap_mode wrap_mode () const noexcept ;
215194 constexpr experimental::io2d::filter filter () const noexcept ;
216- constexpr matrix_2d matrix () const noexcept ;
195+ constexpr matrix_2d mask_matrix () const noexcept ;
217196 };
218197
219198 struct _Surface_native_handles {
0 commit comments