@@ -144,64 +144,72 @@ int main(int argc, char** argv)
144
144
using source_over_old_agg = agg::comp_op_rgba_src_over2<color, agg::order_rgba>;
145
145
using source_over = agg::comp_op_rgba_src_over<color, agg::order_rgba>;
146
146
147
- color white (255 ,255 ,255 ,255 );
148
- color black (0 ,0 ,0 ,255 );
147
+ try
148
+ {
149
+ color white (255 ,255 ,255 ,255 );
150
+ color black (0 ,0 ,0 ,255 );
149
151
150
- BOOST_TEST_EQ ( to_string (blend<source_over>(white,white)), to_string (white) );
151
- BOOST_TEST_EQ ( to_string (blend<source_over>(white,black)), to_string (white) );
152
- BOOST_TEST_EQ ( to_string (blend<source_over>(black,white)), to_string (black) );
152
+ BOOST_TEST_EQ ( to_string (blend<source_over>(white,white)), to_string (white) );
153
+ BOOST_TEST_EQ ( to_string (blend<source_over>(white,black)), to_string (white) );
154
+ BOOST_TEST_EQ ( to_string (blend<source_over>(black,white)), to_string (black) );
153
155
154
- // https://github.com/mapnik/mapnik/issues/1452#issuecomment-8154646
155
- color near_white (254 ,254 ,254 ,254 ); // Source
156
- color near_trans (1 ,1 ,1 ,1 ); // Dest
157
- color expected_color (252 ,252 ,252 ,255 ); // expected result
158
- BOOST_TEST_EQ ( to_string (blend<source_over_old_agg>(near_white,near_trans)), to_string (color (252 ,252 ,252 ,254 )) );
159
- BOOST_TEST_EQ ( to_string (blend<source_over>(near_white,near_trans)), to_string (expected_color) );
160
- BOOST_TEST_EQ ( to_string (normal_blend (near_white,near_trans)), to_string (expected_color) );
156
+ // https://github.com/mapnik/mapnik/issues/1452#issuecomment-8154646
157
+ color near_white (254 ,254 ,254 ,254 ); // Source
158
+ color near_trans (1 ,1 ,1 ,1 ); // Dest
159
+ color expected_color (252 ,252 ,252 ,255 ); // expected result
160
+ BOOST_TEST_EQ ( to_string (blend<source_over_old_agg>(near_white,near_trans)), to_string (color (252 ,252 ,252 ,254 )) );
161
+ BOOST_TEST_EQ ( to_string (blend<source_over>(near_white,near_trans)), to_string (expected_color) );
162
+ BOOST_TEST_EQ ( to_string (normal_blend (near_white,near_trans)), to_string (expected_color) );
161
163
162
- // using normal_blend as expected, compare a variety of other colors
164
+ // using normal_blend as expected, compare a variety of other colors
163
165
164
- {
165
- color source (128 ,128 ,128 ,255 );
166
- color dest (128 ,128 ,128 ,255 );
167
- unsigned cover = 128 ;
168
- std::string expected_str = to_string (normal_blend (source,dest,cover));
169
- BOOST_TEST_EQ ( to_string (blend<source_over>(source,dest,cover)), expected_str );
170
- BOOST_TEST_EQ ( to_string (blend<source_over_old_agg>(source,dest,cover)), expected_str );
171
- }
166
+ {
167
+ color source (128 ,128 ,128 ,255 );
168
+ color dest (128 ,128 ,128 ,255 );
169
+ unsigned cover = 128 ;
170
+ std::string expected_str = to_string (normal_blend (source,dest,cover));
171
+ BOOST_TEST_EQ ( to_string (blend<source_over>(source,dest,cover)), expected_str );
172
+ BOOST_TEST_EQ ( to_string (blend<source_over_old_agg>(source,dest,cover)), expected_str );
173
+ }
172
174
175
+ {
176
+ color source (128 ,128 ,128 ,255 );
177
+ color dest (128 ,128 ,128 ,255 );
178
+ unsigned cover = 245 ;
179
+ std::string expected_str = to_string (normal_blend (source,dest,cover));
180
+ BOOST_TEST_EQ ( to_string (blend<source_over>(source,dest,cover)), expected_str );
181
+ BOOST_TEST_EQ ( to_string (blend<source_over_old_agg>(source,dest,cover)), expected_str );
182
+ }
183
+
184
+ // commenting until I study these failures more (dane)
185
+ /*
186
+ {
187
+ // fails, why?
188
+ color source(127,127,127,127);
189
+ color dest(127,127,127,127);
190
+ unsigned cover = 255;
191
+ std::string expected_str = to_string(normal_blend(source,dest,cover));
192
+ BOOST_TEST_EQ( to_string(blend<source_over>(source,dest,cover)), expected_str );
193
+ BOOST_TEST_EQ( to_string(blend<source_over_old_agg>(source,dest,cover)), expected_str );
194
+ }
195
+
196
+ {
197
+ // fails, why?
198
+ color source(128,128,128,128);
199
+ color dest(128,128,128,128);
200
+ unsigned cover = 128;
201
+ std::string expected_str = to_string(normal_blend(source,dest,cover));
202
+ BOOST_TEST_EQ( to_string(blend<source_over>(source,dest,cover)), expected_str );
203
+ BOOST_TEST_EQ( to_string(blend<source_over_old_agg>(source,dest,cover)), expected_str );
204
+ }
205
+ */
206
+ }
207
+ catch (std::exception const & ex)
173
208
{
174
- color source (128 ,128 ,128 ,255 );
175
- color dest (128 ,128 ,128 ,255 );
176
- unsigned cover = 245 ;
177
- std::string expected_str = to_string (normal_blend (source,dest,cover));
178
- BOOST_TEST_EQ ( to_string (blend<source_over>(source,dest,cover)), expected_str );
179
- BOOST_TEST_EQ ( to_string (blend<source_over_old_agg>(source,dest,cover)), expected_str );
209
+ std::clog << ex.what () << " \n " ;
210
+ BOOST_TEST (false );
180
211
}
181
212
182
- // commenting until I study these failures more (dane)
183
- /*
184
- {
185
- // fails, why?
186
- color source(127,127,127,127);
187
- color dest(127,127,127,127);
188
- unsigned cover = 255;
189
- std::string expected_str = to_string(normal_blend(source,dest,cover));
190
- BOOST_TEST_EQ( to_string(blend<source_over>(source,dest,cover)), expected_str );
191
- BOOST_TEST_EQ( to_string(blend<source_over_old_agg>(source,dest,cover)), expected_str );
192
- }
193
-
194
- {
195
- // fails, why?
196
- color source(128,128,128,128);
197
- color dest(128,128,128,128);
198
- unsigned cover = 128;
199
- std::string expected_str = to_string(normal_blend(source,dest,cover));
200
- BOOST_TEST_EQ( to_string(blend<source_over>(source,dest,cover)), expected_str );
201
- BOOST_TEST_EQ( to_string(blend<source_over_old_agg>(source,dest,cover)), expected_str );
202
- }
203
- */
204
-
205
213
if (!::boost::detail::test_errors ()) {
206
214
if (quiet) std::clog << " \x1b [1;32m.\x1b [0m" ;
207
215
else std::clog << " C++ AGG blending: \x1b [1;32m✓ \x1b [0m\n " ;
0 commit comments