-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.pre-1.8
11558 lines (8228 loc) · 410 KB
/
ChangeLog.pre-1.8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
commit 6b3aa86b1c5b2fce3e56b43142c4ec2664a37032
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 15:48:14 2008 -0700
Increment cairo version to 1.8.0.
cairo-version.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit e1560eceab109a051926d04d9aa578c3c991fe88
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 15:27:08 2008 -0700
NEWS: Add notes for the 1.8.0 release.
Heavily cribbed from 1.7.x snapshot NEWS of course.
NEWS | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 166 insertions(+), 4 deletions(-)
commit 9a210ab228a3afa9d19b699b772893ea3303f38f
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 15:53:44 2008 -0700
Add missing reference images REFERENCE_IMAGES list.
The standard ritual before being able to release.
test/Makefile.am | 9 +++++++++
1 file changed, 9 insertions(+)
commit 1d896aa9d89ff79239b3754da617201968072ea1
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 15:40:28 2008 -0700
Actually remove cairo_has_show_text_glyphs
The release notes for 1.7.6 say that we had dropped this
function, but apparently we had only planned to do that
and didn't actually get around to it until now.
Thanks to the RELEASING insctructions which gave a diff
command that pointed out this problem.
doc/public/cairo-sections.txt | 1 -
doc/public/tmpl/cairo-text.sgml | 9 ---------
src/cairo-gstate.c | 8 +-------
src/cairo.c | 36 +++++-------------------------------
src/cairo.h | 3 ---
src/cairoint.h | 4 ----
6 files changed, 6 insertions(+), 55 deletions(-)
commit 483ab915c0fd891dffc0390ba4a1c96c1f06e30f
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 15:25:54 2008 -0700
Remove excessive whitespace.
It looks sloppy (and wastes space) to have two blank lines
where one will do.
README.win32 | 10 ----------
1 file changed, 10 deletions(-)
commit e52f0fe8bdfea16dad5a32b646b57c7734e79e0f
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 14:09:34 2008 -0700
Ignore test/png-test.png
Finally, "git status" is clean after "make distcheck".
test/.gitignore | 1 +
1 file changed, 1 insertion(+)
commit c62b4c73863efa3948df8bdd57ac604ef6d195be
Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
Date: Thu Sep 25 16:57:38 2008 -0400
[user-font-rescale] Do proper ref-counting of substitute font
The problem showed up on OS X because the freetype backend reuses font_face_t's
which kept the reference count high enough for long enough to avoid the problem.
test/user-font-rescale.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
commit cd540dc22e1145781119fb9a973dd9ae6bb7401f
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 13:37:53 2008 -0700
Update text-antialias-subpixel reference image.
Now that we reverted back to cairo's code for sub-pixel
text rendering, we need to update the reference image
to match it.
test/text-antialias-subpixel-ref.png | Bin 974 -> 1102 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 5d887ad5dca5af0f8216830d1b04d08a5aba9bee
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 13:31:20 2008 -0700
Remove all lcd_filter code.
We reverted the public API for setting lcd_filter font options
back in 1b42bc8033bc , but we had left the implementation which
would examine fontconfig and Xft properties for the option, and
which would call into freetype for subpixel glyph rasterization.
However, I recently realized, (and the test suite had been trying
to tell me for a while), that this approach would cause a
regression for users who were previously using sub-pixel text,
but without sub-pixel rendering built directly into freetype.
That's not acceptable, so all the code is coming out for now.
src/cairo-font-options.c | 51 +---
src/cairo-ft-font.c | 672 +++++++++++++--------------------------------
src/cairo-surface.c | 1 -
src/cairo-types-private.h | 26 --
src/cairo-xlib-screen.c | 28 --
src/cairoint.h | 7 -
6 files changed, 190 insertions(+), 595 deletions(-)
commit 3d32e7110ba1fedb0bec96238d14245579f5bce1
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 02:58:01 2008 -0700
Note that we're using ghostscript 8.62 now for reference images.
As opposed to 8.61.
I had actually forgotten we had documented this. If I had
remembered I could have put more meaningful messages with
some of my recent updates to ps-specific reference images.
test/README | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit a172d87b4cbcc0bda9c376ab5c5cfdea2e20db63
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 02:49:44 2008 -0700
Make device-offset-scale an XFAIL test due to SVG failure.
It's sad to have to do this. Back with commit 1a9809baa was the
original fix for device-offset-scale, (right after the test was
added), and it fixed it for all backends, including SVG. The fix
involved combining device_transform and CTM into the pattern matrix.
But then, we added the mask-transformed-image and
mask-transformed-similar tests, and commit 20be3182ef29 for fixing an
SVG-specific bug with masks. That fix involved subtracting away the
pattern matrix when emitting a mask to adhere to SVG semantics.
Unfortunately, this change also made the device-offset-scale test
start failing. A correct fix would probably subtract away only the CTM
portion and not the devive_transform. However, the
_cairo_svg_surface_mask function sees only a pattern matrix and
doesn't know how to separate it into CTM and device_transform pieces.
So fixing this will probably require a change to the surface-backend
interface. And since we're not willing to do that so close to a major
release, we're adding yet another XFAIL.
test/Makefile.am | 1 +
test/device-offset-scale.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
commit 36eef09b583077a899e446d5f28b5cc15335cf5f
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 02:30:00 2008 -0700
Update pdf-specific reference images for mask test.
Something had changed to introduce some very minor rasterization
details around the circles.
test/mask-pdf-argb32-ref.png | Bin 7834 -> 8881 bytes
test/mask-pdf-rgb24-ref.png | Bin 7383 -> 8267 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
commit 503506bf0dbfbc0be92f1461afa8683227732809
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 02:16:47 2008 -0700
Add pdf-specific reference image for mask-transformed-similar
Thanks to help from Chris, we fixed the bug that was making this
test fail with the PDF backend. All that was left was differing
treatment of the edges of the image---easy enough to address
with a pdf-specific reference image.
test/mask-transformed-similar-pdf-ref.png | Bin 0 -> 4213 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 31ff6c863ff82bd7339a03297e4b5a9adea0b1c9
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Thu Sep 25 09:47:58 2008 +0100
[pdf] Explicitly order the sequence of checks when analyzing masks
There is an implicit precedence when analyzing patterns for
compatibilty, in order of descending precedence:
fatal error
unsupported
needs image fallback
needs meta-surface analysis
success.
So wehen we have two patterns, we need to check both analysis statuses
simulataneously, in order to correctly report the combined status.
src/cairo-pdf-surface.c | 34 +++++++++++++++++++++++++---------
1 file changed, 25 insertions(+), 9 deletions(-)
commit 69635bc054a823afe1ca378fffac1b2daabdf594
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 01:52:45 2008 -0700
Fix the analysis of mask operations (fixing mask-transformed-similar test case)
The primary bug here was some missing braces. The code was conditionally
assigning to backend_status, but then unconditionally checking for the
value assigned. The result was the leaking of an internal status value
(CAIRO_INT_STATUS_ANALYZE_META_SURFACE) which finally resulted in
an incomplete PDF file in the mask-transformed-similar test case.
While fixing this, also avoid re-using the backend_status variable so
much so that the code is more readable.
src/cairo-analysis-surface.c | 37 ++++++++++++++++++++++++++-----------
1 file changed, 26 insertions(+), 11 deletions(-)
commit 5599b08dfaf5897f58b3456732dc9c241502b4c4
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 01:42:03 2008 -0700
Drop _cairo_analysis_surface prefix from some static functions
Since these functions are static we don't really need the full
name. And these two functions were both so long that they were
causing some serious line-wrap issues.
src/cairo-analysis-surface.c | 43 ++++++++++++++++++------------------------
1 file changed, 18 insertions(+), 25 deletions(-)
commit aae476807c079c6514fb7013092c5c303336d8df
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 00:18:23 2008 -0700
Update ps-specific reference image for rotate-image-surface-paint
The only difference here is a tie-breaker condition for image-
sampling position. While we care about that when it's under our
control, (pixman rasterization), we don't have precise
requirements for ghostscript's sampling. So we can capture the
current result as a reference.
test/rotate-image-surface-paint-ps-ref.png | Bin 275 -> 212 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit a501f8f6d84bcac12b48e226ab653ae237b1a603
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 00:14:13 2008 -0700
Mark degenerate-path and miter-precision as XFAIL.
These two tests currently fail only for the PS backend,
but they've done so since before the last major release.
The final image result we're getting is definitely wrong
in both cases, but we have not yet been able to verify
if this is due to bugs in cairo (generating PostScript)
or in ghostscript (interpreting and rasterzing the
PostScript).
test/Makefile.am | 2 ++
test/degenerate-path.c | 3 ++-
test/miter-precision.c | 2 +-
3 files changed, 5 insertions(+), 2 deletions(-)
commit e279eeb7ddae445015ac1a582d4aab2e68f03c94
Author: Carl Worth <cworth@cworth.org>
Date: Thu Sep 25 00:08:03 2008 -0700
Make the bitmap-font an XFAIL.
We've had these PDF and PS failures here for a *long* time,
(before the last major release for sure). It's a bug, but
we expect it to be there, so advertise it that way.
test/Makefile.am | 1 +
test/bitmap-font.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
commit 261dd83b31adb4a6b4d80f626b9d5fde5eb4d8f6
Author: Carl Worth <cworth@cworth.org>
Date: Wed Sep 24 21:55:53 2008 -0700
Eliminate paranoid check for PNG_INTERLACE_NONE.
Commit 20b1b33c0fc7 added some "paranoid checks" to our png
loading code. One of these was checking that if png_get_IHDR
first reports an interlace value other than PNG_INTERLACE_NONE
that after we call png_set_interlace_handling then we do
get PNG_INTERLACE_NONE from the next call to png_get_IHDR.
However, libpng doesn't seem to actually have that behavior.
When testing cairo_image_surface_create_from_png with an
interlanced PNG file, (which the test suite happens not to
do---even now), the call to png_set_interlace_handling is
doing the trick, but the check for PNG_INTERLACE_NONE is
failing.
So, with the check in place, loading an interlaced PNG image
fails with CAIRO_STATUS_READ_ERROR. By simply removing
that check, an interlaced image loads just fine.
src/cairo-png.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 94d2820c6f64a2da13e6aeb4698198a3d4d0669b
Author: Carl Worth <cworth@cworth.org>
Date: Wed Sep 24 18:38:21 2008 -0700
Update ps-specific reference image for ft-text-vertical-layout-type3
Something, (gs interpreter version?), changed and caused a
very minor rasterization change.
test/ft-text-vertical-layout-type3-ps-ref.png | Bin 1867 -> 1804 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 8a49cfa03a23ed29ea0b310536a3d332af76332c
Author: Carl Worth <cworth@cworth.org>
Date: Wed Sep 24 18:34:43 2008 -0700
Update all reference images for ft-text-vertical-layout-type1.
This is one of those chronically fragile tests. I'm assuming
some font changed or something, because the glyph positions
shifted (consistently) across all the backend. Doesn't look
like a bug.
We'll really need to do proper bundling of all font data to
avoid issues like this.
test/ft-text-vertical-layout-type1-pdf-ref.png | Bin 3604 -> 3968 bytes
test/ft-text-vertical-layout-type1-ps-ref.png | Bin 1910 -> 1846 bytes
test/ft-text-vertical-layout-type1-ref.png | Bin 3960 -> 3980 bytes
test/ft-text-vertical-layout-type1-svg-ref.png | Bin 3934 -> 3973 bytes
4 files changed, 0 insertions(+), 0 deletions(-)
commit 3ae894a9fd5152821e1b427aff298c3f8ae00298
Author: Carl Worth <cworth@cworth.org>
Date: Wed Sep 24 18:29:00 2008 -0700
Update reference image for smask-text test.
Very minor rasterization differences crept in here
from somewhere. Of course, it would be easier to
identify from *where* if we documented all the versions
of the various external libraries used in creating
reference images. But for now, the versions on the
machine of the person making the release win.
test/smask-text-ref.png | Bin 1739 -> 1777 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit ab406eeac1817e62d2c0a737db898ba56c3031ff
Author: Carl Worth <cworth@cworth.org>
Date: Wed Sep 24 18:24:46 2008 -0700
Add svg-specific reference image for user-font-rescale.
The difference here was just edge effects, (the kind of
thing that looks like glyph rasterization differences
but might in fact be due to minor rounding differences
in glyph positions). Either way, there's no problem
with respect to what the test is exercising.
test/user-font-rescale-svg-ref.png | Bin 0 -> 15741 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 453443d77acadc705a4b9ddeb96f853364c96ad2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Thu Sep 25 01:08:46 2008 +0100
[test] Write the OUTPUT filename to the log if we match the vector surface.
If the vector surface matches the output from last time, then the
rasterisation is skipped - but we need to write the expected OUTPUT
filename to the log so that the image is referenced from index.html.
test/cairo-test.c | 3 +++
1 file changed, 3 insertions(+)
commit e84ef3c54e0f95d321be8d8f47c5c9c60a2c6b3f
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 24 20:00:30 2008 -0400
[.gitignore] Remove Makefile.*.config
I renamed those generated files to Makefile.*.features but forgot to
update ignore lists. Carl already added the new ones, but didn't
remove the old ones.
boilerplate/.gitignore | 2 --
src/.gitignore | 2 --
2 files changed, 4 deletions(-)
commit 62107b8015f0d359397a02d4f0fecf22647330b9
Author: Carl Worth <cworth@cworth.org>
Date: Wed Sep 24 16:51:44 2008 -0700
Mark several new tests added during 1.7 as XFAIL.
The following tests were added during the 1.7 cycle to
demonstrate bugs:
alpha-similar operator operator-alpha self-copy-overlap
In all cases, the identical bug existed in the last major
release, (1.6.4), so these are not new regressions, but merely
bugs that we're now aware of. The correct way to handle bugs
such as these is to mark them as expected failures (XFAIL).
test/Makefile.am | 4 ++++
test/alpha-similar.c | 3 ++-
test/operator-alpha.c | 3 ++-
test/operator.c | 3 ++-
test/self-copy-overlap.c | 3 ++-
5 files changed, 12 insertions(+), 4 deletions(-)
commit c3750cf2187e6b590a93761cb28ad63d2806f81d
Author: Carl Worth <cworth@cworth.org>
Date: Wed Sep 24 16:32:58 2008 -0700
Remove the device-offset testing (-25 cases) for the release.
The reasoning behind the -25 testing is that we want to ensure
that cairo provides translation invariance. However, for
many vector backends we use external rasterizers that don't
necessarily provide that translation invariance.
So this testing makes a bunch of failures appear that we don't
really care about, (and we don't even have a mechanism to turn
them off with custom reference images). For the release, I'm
just turning this off.
After the release, I plan to turn this back on, and then we could
fix this by ensuring that the vector output itself is unaffected
by a device offset, or by moving away from external rasterizers,
(see Chris's micro-gs work to test PostScript with cairo-based
rasterization).
test/cairo-test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit ea4d0bafb3d374e491f3956347c7510ea7b0d2b8
Author: Carl Worth <cworth@cworth.org>
Date: Wed Sep 24 16:25:38 2008 -0700
Add svg-specific reference image for mask-transformed-similar.
The only difference in this case is whether there is blurring
of the image around the edges. That's a rasterization issue
that we don't care about, (we're testing that the correct
transformation is applied).
test/mask-transformed-similar-svg-ref.png | Bin 0 -> 4051 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit f939e46304093cad4d8bc3f545cc49a2888fd59f
Author: Carl Worth <cworth@cworth.org>
Date: Wed Sep 24 16:21:57 2008 -0700
Add pdf-specific reference images for gradient-constant-alpha.
Like many other gradient tests, we're just capturing the buggy
output of poppler here, (though this time I *did* verify with
Adobe acroread that our PDF output seems to be correct).
test/README | 1 +
test/gradient-constant-alpha-pdf-argb32-ref.png | Bin 0 -> 116 bytes
test/gradient-constant-alpha-pdf-rgb24-ref.png | Bin 0 -> 115 bytes
3 files changed, 1 insertion(+)
commit 9335ad313fdc97c3c8d0e532319ac3f58c7f69fc
Author: Carl Worth <cworth@cworth.org>
Date: Wed Sep 24 16:20:35 2008 -0700
Ignore generated files.
I know that I didn't create these Makefile.win32.features files,
so I assume that they are the result of Behdad's build magic and
that he just forgot to add them to .gitignore.
boilerplate/.gitignore | 2 ++
build/.gitignore | 2 ++
src/.gitignore | 2 ++
3 files changed, 6 insertions(+)
commit 06594abc6b74a8260f92f7d9686f2ae5ce84e59f
Author: Carl Worth <cworth@cworth.org>
Date: Wed Sep 24 16:03:12 2008 -0700
Add pdf-specific reference images for fill-alpha-pattern.
These capture the current poppler output, (rather than the
ideal output). We're still waiting for poppler to start
using cairo gradients before this test will run through
cleanly. And even with these new reference images, there's
still some translation variance, so the -25 tests still
fail.
test/README | 1 +
test/fill-alpha-pattern-pdf-argb32-ref.png | Bin 0 -> 3887 bytes
test/fill-alpha-pattern-pdf-rgb24-ref.png | Bin 0 -> 3840 bytes
3 files changed, 1 insertion(+)
commit 64541a58aeafece3956bbe4cc4ec3bc2226d3d2a
Author: Carl Worth <cworth@cworth.org>
Date: Wed Sep 24 15:52:05 2008 -0700
Add pdf- and ps-specific reference images for device-offset-fractional
We don't care about the specifics of rasterization in the viewer
here, (though it still might be worth being more careful about
how we set /Interpolate---but that's not the point of this test).
test/device-offset-fractional-pdf-ref.png | Bin 0 -> 277 bytes
test/device-offset-fractional-ps-ref.png | Bin 0 -> 201 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
commit ba7ef8b40e5615de295932b654806345065019c1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 22:35:40 2008 +0100
[configure.ac] Bump poppler dependency to 0.9.2
poppler-0.9.2 is required for replaying user-fonts correctly.
configure.ac | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
commit dfe9f7093f9a226e58dc531b54b32a3f169fea96
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 22:16:39 2008 +0100
Revert "[pdf] Tweak the mask analysis to avoid an assertion failure."
This reverts commit c9ec82f3a89cdd57277be6a9a6cb3e05d82fb206, which
notably caused regresions in the mask and clip-operator tests.
Obviously I'm not smart enough to fix bugs. Since the computer found the
assertion failure, I need to train the computer to fix the bugs as well.
src/cairo-pdf-surface.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
commit ab682a6ff28ca89cc0dd8fd641a0bbc42487f613
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 24 17:22:51 2008 -0400
Add README.win32, courtesy of Damian Frank
AUTHORS | 1 +
HACKING | 2 +-
Makefile.am | 1 +
README.win32 | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 74 insertions(+), 1 deletion(-)
commit 5a06ca852c909f8225d7b6e7f29668b0ac79898f
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 24 17:16:15 2008 -0400
[Makefile.win32] Also report installing cairo-version.h and cairo-features.h
Those two files needs special care and hence are not listed in
enabled_cairo_sources.
src/Makefile.win32 | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
commit a91101df319e11eb3d6e38b5cfa85d9ac9e7d815
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 24 17:15:44 2008 -0400
[Makefile.sources] Remove mention of cairo-features-win32.h
That file is not generated anymore. Instead, cairo-features.h is
generated from Makefile.win32 on the fly.
src/Makefile.sources | 4 ----
1 file changed, 4 deletions(-)
commit 55e06745a639d86921e48ff56aa0c375a46d6421
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date: Thu Sep 25 00:17:57 2008 +0300
[perf-suite] Explicitly read the results of rdtsc from edx:eax.
The =A format used to read a 64 bit result from rdtsc works on x86,
but not on x86-64.
perf/cairo-perf-posix.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
commit 2fb59b3ebd885e109160326825325be3907ed48e
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 24 17:09:54 2008 -0400
[Makefile.win32] Report which files to install
The win32 build system has no way to install anything, but it has
full knowledge of what needs to be installed (which headers). So
we now report files to be installed at the end of the build.
src/Makefile.win32 | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
commit 6eee90784ea8174b346e389c2f61b599543685e4
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 24 15:01:06 2008 -0400
Enable CAIRO_HAS_UTF8_TO_UTF16 if PDF_OPERATORS is enabled
We are being cheap and don't define the cairo_utf8_to_utf16 function
if no one is using it. Previously PS surface was not using it, but
after the pdf-operators merge, it was.
Before this commit, building with PS but without PDF failed. Fixing.
src/cairoint.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit bb125689d3d3e623f84a02f4b6f2a0c8f5a7901f
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 24 14:55:20 2008 -0400
Simplify preprocessor conditional syntax
We never do #ifdef-type conditions on CAIRO_HAS_* macros, because we
want to allow setting them to zero. Then if we need to enable a feature
if either of PS or PDF is enabled, the proper syntax is:
#if CAIRO_HAS_PS_SURFACE || CAIRO_HAS_PDF_SURFACE
This works because the preprocessor replaces any unknown identifiers with
zero. Some versions of gcc had a bug that got them very confused with
complex versions of the above. As a workaround for that I have been using
the uglier version:
#if CAIRO_HAS_PS_SURFACE+0 || CAIRO_HAS_PDF_SURFACE+0
which magically worked around that bug. Or more recently replacing that
with the duplicated version:
#if CAIRO_HAS_PS_SURFACE
...
#endif
#if CAIRO_HAS_PDF_SURFACE
...
#endif
Both are uglier than the original. Since the gcc bug was very short lived
and there's lots of software out there relying on the original form to work,
moving back to the simple version seems harmless.
src/cairoint.h | 15 +++------------
1 file changed, 3 insertions(+), 12 deletions(-)
commit adece69ae362bdfb018f5886d76a792c44dafd7e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 19:17:22 2008 +0100
[test] Add a test case to question the mutability of sources.
Are patterns mutable? The image backend is quite happy to write and read
from the same surface, whereas the vector targets create snapshots... This
test case exploits that inconsistency.
Also the interested reader will note that not only does this demonstrate
translational invariance, but a discrepancy with similar surfaces.
test/.gitignore | 1 +
test/Makefile.am | 3 ++
test/self-copy-overlap-ref.png | Bin 0 -> 1140 bytes
test/self-copy-overlap-rgb24-ref.png | Bin 0 -> 608 bytes
test/self-copy-overlap.c | 56 ++++++++++++++++++++++++++++++++++
5 files changed, 60 insertions(+)
commit 88188eababa7c6dafeb064662a77b8f5f3719593
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 09:49:09 2008 +0100
[test] Memleak in new mask-ctm-* tests.
Add the forgotten cairo_surface_destroy().
test/mask-transformed-image.c | 3 +++
test/mask-transformed-similar.c | 3 +++
2 files changed, 6 insertions(+)
commit 8f157303681a3d58471ffbe004bc140b7a3a48be
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 18:39:29 2008 +0100
[test] Rename mask-ctm-* to avoid conflict with mask-ctm.
Using mask-ctm-image as a test name was causing a naming conflict with
mask-ctm, so rename the new tests.
test/.gitignore | 4 +-
test/Makefile.am | 8 +--
test/mask-ctm-image-ref.png | Bin 4516 -> 0 bytes
test/mask-ctm-image.c | 100 --------------------------------
test/mask-ctm-similar-ref.png | Bin 4516 -> 0 bytes
test/mask-ctm-similar.c | 102 ---------------------------------
test/mask-transformed-image-ref.png | Bin 0 -> 4516 bytes
test/mask-transformed-image.c | 100 ++++++++++++++++++++++++++++++++
test/mask-transformed-similar-ref.png | Bin 0 -> 4516 bytes
test/mask-transformed-similar.c | 102 +++++++++++++++++++++++++++++++++
10 files changed, 208 insertions(+), 208 deletions(-)
commit 444d44acde4ac73641c789c19ec7a3199211b594
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 18:12:22 2008 +0100
[stroke] Cap trailing segment when skipping invisible segments.
If we do not maintain the current_face even for invisible dashed segments,
then we will generate spurious line segments when attempting to close the
path (ala leaky-dashed-rectangle).
This fixes the long standing regression introduced just prior to 1.6 and
captured in these bug reports:
http://lists.cairographics.org/archives/cairo/2008-April/013912.html
http://bugs.freedesktop.org/show_bug.cgi?id=17177
src/cairo-path-stroke.c | 8 ++++++++
1 file changed, 8 insertions(+)
commit 9fc745ae9fbbc24ce3f6fa5728c36fa6819b85a7
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 24 13:17:22 2008 -0400
Revert "[build] Use mkdir -p portability macros"
This reverts commit 03c37f56b2d3ecc0e197194364b216183dacc24a.
The AC_PROG_MKDIR_P is also one of those autoconf macros defined
in newer versions only. Since we use mkdir -p in releasing scripts
only, it's not a big deal if it's not portable.
build/Makefile.am.releasing | 2 +-
build/configure.ac.tools | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
commit b5b1134c2c84996bd8e019d5908b18db876137dc
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date: Wed Sep 24 17:39:33 2008 +0100
[tessellator] Skip edges that lie outside the region of interest.
We don't need to tessellate edges strictly above or below the
the limits of the traps.
src/cairo-bentley-ottmann.c | 11 +++++++++++
1 file changed, 11 insertions(+)
commit 018a64bf7f3ccdf3982655c93701eafc99fd0b93
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date: Wed Sep 24 17:33:36 2008 +0100
[traps] Impose limits on traps for cairo_in_(fill|stroke)
We don't need to tessellate edges strictly above or below the
hit-test point.
(Patch split and modified by Chris Wilson to apply to cairo_in_stroke()
as well - all bugs are his alone.)
src/cairo-gstate.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
commit 8c0ff8b5856a8a7cb61dffaad7d72ed2dcdb5cf3
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 17:03:49 2008 +0100
[cairo] Define min-tolerance in terms of cairo_fixed_t
By using the cairo_fixed_t macros we can compute the correct minimum
tolerance for any configuration.
src/cairo.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit c9ec82f3a89cdd57277be6a9a6cb3e05d82fb206
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 15:01:25 2008 +0100
[pdf] Tweak the mask analysis to avoid an assertion failure.
Both the source and mask need to be analyzed and checked for an
UNSUPPORTED operation before determining the best course of action.
As before this is simply decided based on the requirements of the
source.
src/cairo-pdf-surface.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
commit b9c92842d9c091e34738d14f7baf6f357a1f085c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 11:38:21 2008 +0100
[trap] Trivial reject if trapezoid is entirely above or below
Also check whether is vertically within limits.
src/cairo-traps.c | 4 ++++
1 file changed, 4 insertions(+)
commit 911d5f1a254f800fe18f4554b738006aa0a693a2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 11:34:27 2008 +0100
[traps] Adjust lines if either point is on the boundary.
If either point lies on the limit and the other outside, adjust the line
to be parallel to the boundary. This adjusts the previous test where both
points needed to be entirely outside.
src/cairo-traps.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
commit 7357e80054b80a9906783ed910282bb79f31cdfd
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 11:32:11 2008 +0100
[clip] Limit traps.
Apply prior knowledge to limit the traps during clipping to avoid
generating extra work.
src/cairo-clip.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
commit c36a242303c99f59ba210d6c0dae831b2efb83fc
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 11:12:05 2008 +0100
[traps] Replace open-coding of box->rectangle->box
Use the utility functions _cairo_box_from_rectangle and
_cairo_box_round_to_rectangle() instead of open-coding. Simultaneously
tweak the whitespace so that all users of traps look similar.
src/cairo-analysis-surface.c | 47 +++++++++++-------------------------------
src/cairo-clip.c | 4 ++--
src/cairo-surface-fallback.c | 16 +++-----------
3 files changed, 17 insertions(+), 50 deletions(-)
commit 49b9a21e0bfeed5a1e2f33162a7b1c9e67de1d75
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 01:56:44 2008 +0100
[test/any2ppm] Handle filenames with multiple-dots.
Use strrchr() to find the extension, as strchr() is fooled too easily.
As spotted by Carlos Garcia Campos.
test/any2ppm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 651c6598c98118ba04bc4970557c24241b91dab0
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 24 00:49:03 2008 +0100
[traps] Limit extents to imposed constraints.
When reporting the extents of the traps, constrain them to the imposed
limits. This is relied upon in the analysis-surface which sets the
limits on the traps (based on clip/surface extents) and then reports the
extents of the traps as the region of the operation.
src/cairo-traps.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
commit 0baf12f450e12b9f2fb4e55bfeb7738dd5145cbd
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 23 19:18:00 2008 -0400
[scaled-font] Another typo fix in the comments
Both this and previous one kindly pointed out by Carl.
src/cairo-scaled-font.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 70207aadfdb580029c81ac87e2d1aa66cc6c5b30
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 23 19:11:08 2008 -0400
[mutex] Fix typo in comments
src/cairo-mutex-impl-private.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 0a4a6213e2ab915098b6fdc8bd2652cd5026599c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Sep 19 21:12:55 2008 +0100
[fill] Check for the most common rectilinear case first.
Avoid the iterative search for the extreme points by first checking the
most likely arrangement (as produced by cairo_rectangle() under no
transformation).
src/cairo-path-fill.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
commit 8f51ea4657d872f75e1a6493aadcc769fd3b9324
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Tue Sep 23 23:19:02 2008 +0100
[pattern] Beware unsigned wrap-around with pathological surface patterns.
A surface pattern under an extreme transformation could lie entirely in
the negative quadrant. This would trigger the fixup such that it's lower
left corner was clamped to the origin, but the upper right corner was left
unchecked. This could result in the width,height being negative and
wrapping around to large values instead of being clamped to 0.
src/cairo-pattern.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 3c6d3684e965523acdeec9f24ccf71bf4e974622
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Tue Sep 23 22:52:42 2008 +0100
[test] Add a test case for create_similar(CONTENT_ALPHA)
Application of a pure-alpha similar source is inconsistently handled
across the backends. The PDF/PS backends allow the rgb channels to bleed
through and the SVG backend mixes in pure white.
test/.gitignore | 1 +
test/Makefile.am | 3 ++
test/alpha-similar-ref.png | Bin 0 -> 99 bytes
test/alpha-similar-rgb24-ref.png | Bin 0 -> 99 bytes
test/alpha-similar.c | 76 ++++++++++++++++++++++++++++++++++++++
5 files changed, 80 insertions(+)
commit 5e5408412694bf067e47d12c9c739801452d8f41
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Tue Sep 23 21:49:37 2008 +0100
[test-meta] Use real meta-surface snapshot.
The meta-surface workaround an old bug, which is no longer present in the
tree and open-coded the surface snapshot. However, the workaround itself
was buggy (not respecting the surface content). The lesson to take away
from this is not to add workarounds in test code for bugs in the library!
src/test-meta-surface.c | 35 -----------------------------------
1 file changed, 35 deletions(-)
commit 03c37f56b2d3ecc0e197194364b216183dacc24a
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 23 17:15:07 2008 -0400
[build] Use mkdir -p portability macros
build/Makefile.am.releasing | 2 +-
build/configure.ac.tools | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
commit ae0511fbbe6c01b5fe8dfa531b3eaa791314931f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Tue Sep 23 20:00:18 2008 +0100
[pdf] Do not modify the dashes in-place.
As PS has different semantics regarding a zero-length dash, we need to
adjust the dash array before emitting. However, we need to modify a copy
of the dash array since the same array may be used by the meta-surface
when replaying to an image fallback.
src/cairo-pdf-operators.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
commit b7ab1fc791139f5d0fd38692b63514ed02bc8b51
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Tue Sep 23 10:51:13 2008 +0100
Return the real error status for set_user_data()