File: ChangeLog

package info (click to toggle)
cairomm 1.14.5-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 988 kB
  • sloc: cpp: 5,886; makefile: 181; sh: 5
file content (1646 lines) | stat: -rw-r--r-- 57,498 bytes parent folder | download
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
2023-09-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  1.14.5

2023-09-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson_options.txt: boost-shared defaults to true

  The shared Boost libraries can be a safer choice.
  The static libraries have caused problems building the test programs.

2023-07-06  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Remove AUTHORS and MAINTAINERS and add info to README.md

2023-06-29  Chun-wei Fan  <fanc999@yahoo.com.tw>

  Improve Visual Studio build documentation

  Update the Visual Studio build documentation by:
  
  * Convert MSVC_NMake/README to MarkDown format, to make it easier on the
    eye.
  * Mention that cairo-1.17.x is recommended.
  * Make the build process for both NMake and Meson builds clearer.

2023-06-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Doxyfile.in: Remove obsolete entries

2023-06-17  Daniel Boles  <dboles.src@gmail.com>

  enums: Fix typos of "teh" to "the" + missing "a"

  See !26

2023-03-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  README.md: meson -> meson setup

2023-03-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Simplify if-file-exists test

2023-01-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Simplify lookup of python command

  See libsigcplusplus PR#83

2023-01-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Fix the evaluation of is_git_build on Windows

  See gtkmm#131

2023-01-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Don't copy files with configure_file()

  It's deprecated from Meson 0.64. The replacement, fs.copyfile(),
  is not useful here. It only copies from the source directory to
  the build directory.

2022-09-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Detect if we build from a git subtree

  See https://gitlab.gnome.org/GNOME/gtkmm/-/merge_requests/72 (William Roy)

2022-09-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  1.14.4

2022-09-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Convert README to README.md

2022-08-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Fix build with -Dbuild-deprecated-api=false

  Fixes #29

2022-08-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Autotools build: Add --disable-deprecated-api

  Make it possible to exclude deprecated API from the build.
  See #29

2022-05-24  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Meson: Re-organize warnings-related compiler flags for MSVC

  Add a short description for the warning-related compiler flags for Visual
  Studio.
  
  Also, use the `/wd4267` compiler flag only when building a 64-bit build, since
  warning C4267 only applies for 64-bit builds.

2022-05-23  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Meson/MSVC: Compensate for the lack of msvc_recommended_pragmas.h

  Since cairomm does not hard-depend on GLib, it may be the case that
  msvc_recommended_pragmas.h is not available during the build.  If it is not,
  disable warnings C4244 and C4101, which are part of the warnings that it
  disables.

2022-05-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Avoid configuration warnings

2022-02-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Specify 'check' option in run_command()

  The default value will be changed in future Meson releases.
  
  Don't use deprecated python3.path() and execute(..., gui_app: ...).

2021-11-10  Chun-wei Fan  <fanchunwei@src.gnome.org>

  build: Support Visual Studio 2022

  Make these builds distinct from the Visual Studio 2019 builds.

2021-08-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Check if Perl is required for building documentation

  New versions of mm-common use the Python scripts doc_postprocess.py
  and doc_install.py instead of the Perl scripts doc-postprocess.pl and
  doc-install.pl when documentation is built.

2021-06-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update examples/README

2021-06-10  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Doxyfile.in: Add the @newin alias and CAIROMM_API=

2021-05-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  1.14.3

2021-05-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add dependencies to Doxygen tag files in subprojects

  Doxygen in a main project shall not be called before tag files have been
  created or updated in subprojects.

2021-05-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Fix build as subproject without building documentation

  * meson.build: If mm-common-get is not found in maintainer-mode
  with 'required: false', try with 'required: true'.
  Don't try to use tag_file, if documentation is not built.
  * docs/reference/meson.build: Don't use variables from modules
  that don't define doxytagfile. These are subprojects that don't build
  their documentation.

2021-05-11  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson: Reorganize warnings on Visual Studio builds

  We can now drop the ignores for warnings C4251, C4273 and C4275 along with
  C4530, since our code and compiler flags should now make us free of them,
  since we use /EHsc to build our code and we are clean of classes that we
  export as a whole that derives from std::xxx classes.
  
  Ignore warning C4800, and warning C4127 in the examples, since these warnings
  are really spurious and safe to ignore as a whole.

2021-05-11  Chun-wei Fan  <fanchunwei@src.gnome.org>

  MSVC_NMake/config-msvc.mak: Clean up compiler flags

  Since we eliminated the C4251, C4273 and C4275 warnings, don't ignore them
  along with C4530, since we are now using /EHsc.  This will make the compiler
  flags a bit cleaner

2021-05-11  Chun-wei Fan  <fanchunwei@src.gnome.org>

  cairomm/exception.h: Export Cairo::logic_error selectively

  Since this class derives std::logic_error, don't export the class as a whole
  but instead export its member methods as necessary on Windows.  This will make
  the compiled DLL to not be locked in a single compiler/STL version, and will
  remove the compiler warnings C4251, C4273 and C4275 on Visual Studio.

2021-05-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Subprojects can use meson.add_dist_script() if meson.version() >= 0.58.0

  * meson.build:
  * docs/reference/meson.build:
  Call add_dist_script() in a subproject, if meson.version() >= 0.58.0.

2021-04-07  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: No implicit_include_directories

2021-03-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Make it possible to use cairomm as a subproject

  cairo and sigc++ can be subprojects of cairomm.

2021-03-09  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/reference/Doxyfile.in: Remove obsolete entries

2021-03-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

  cairommconfig.h.*: Don't dllimport on MinGW

  This will fix warnings when building items using cairomm with MinGW/GCC.
  
  Please see: https://gitlab.gnome.org/GNOME/gtkmm/-/issues/90

2020-09-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  1.14.2

2020-09-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Fix versioning on macOS

  See https://github.com/libsigcplusplus/libsigcplusplus/pull/65

2020-09-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Require cairo >= 1.12.0

  Has been a requirement for a long time, but configure.ac
  and meson.build had not been updated.

2020-09-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  1.14.0

2020-09-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Autotools builds: Create only .tar.xz tarballs

  This is what Meson does. Cairo does it when built with Autotools.

2020-08-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tests: Fix tests in Autotools builds

  * build/ax_boost_base.m4:
  * build/ax_boost_unit_test_framework.m4: Newer versions have been fetched
  from www.gnu.org/software/autoconf-archive

2020-08-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tests: Don't include deprecated Boost header files

2020-08-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add Context::get_source_for_surface()

  Fixes #5

2020-07-23  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Update .gitignore

  We don't need to track generated files that are in under MSVC_NMake/

2020-07-23  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Use /utf-8 compiler flag if available

  This compiler flag is provided with Visual Studio 2015 or later

2020-07-23  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Use Meson-style DLL and .lib naming if requested

  To make things more consistent and less prone to confusion, if 'USE_MESON_LIBS'
  is specified in the NMake command line, build the DLLs and .lib's that are
  named like the Meson counterparts.  Binaries built with Meson+Visual Studio
  and the ones that are built via NMake using 'USE_MESON_LIBS' are
  interchangeable, provided that they are built with the same Visual Studio
  version.

2020-07-23  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Fix builds from release tarballs

  This avoids needlessly enerating cairommconfig.h and cairomm.rc, and when we do
  need to generate these files, we ensure that they always have the right version
  info in them.
  
  Also streamline the build process that this file generating is done in the
  'all' target, so that one does not need to use the -prep-git-build' target
  beforehand.

2020-07-08  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Look for headers in $(PREFIX)\include also

  The needed headers can be in $(PREFIX)\include as well, so we ought to look for
  them there

2020-07-08  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Support ARM64 Windows builds

  This will make the NMake Makefiles capable of building ARM64 binaries of
  cairomm, which can be used on Windows 10 on ARM systems.

2020-06-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/reference/: Update for Doxygen >= 1.8.16

  * docs/reference/meson.build: Doxygen 1.8.16 and later does not store
  tag file names in the html files. This requires changes in meson.build
  and in doc-install.pl (in mm-common). Otherwise references to other modules
  won't be updated in the html files when they are installed.
  * docs/reference/Doxyfile.in: Remove PERL_PATH and MSCGEN_PATH.
  Doxygen since version 1.8.0 does not use them.

2020-06-25  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Meson/Visual Studio builds: Include toolset version by default

  This makes the built DLL and .lib's contain the toolset version if
  the build is carried out using Visual Studio 2015 or later, unless
  the 'msvc14x-parallel-installable' option is set to be false during
  configuration.
  
  The reasoning behind this change is that there may be subtle problems
  when, for instance, one tries to link to a Visual Studio 2015-built
  cairomm with Visual Studio 2017 or 2019.  This is unfortunate as
  Microsoft did try hard to make interoperating between binaries built
  with Visual Studio 2015, 2017 and 2019 as easy as possible in terms of
  ABI and API, but unfortunately this may hit the corner cases where
  this compatibility does not work.
  
  As the name suggests, this attempts to make Visual Studio 2015, 2017
  and 2019 builds share a single set of underlying C DLLs easier,
  while avoiding possible breakages caused by such subtle differences.

2020-06-13  Chun-wei Fan  <fanchunwei@src.gnome.org>

  MSVC_NMake/README: Add note on mixing between MSVC 2015~2019

  Let people know that it is recommended to use the same Visual Studio
  version, even when using 2015, 2017 or 2019, to build software that
  depends on cairomm.
  
  Also note a new NMake option that allows creating MSVC 2015-style DLL
  and .lib filenames if that is needed, but note that is generally not
  recommended.

2020-06-13  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Distinguish between MSVC 2015, 2017 and 2019

  It was found that we cannot completely rely on the fact that Visual
  Studio 2015~2019 tried very hard to be binary compatible, as there
  could be corner cases when linking against cairomm built with Visual
  Studio 2015 with builds done by Visual Studio 2017 and 2019 where
  the code could fail to link and the DLLs are therefore not
  ABI-compatible.  Note that the libsigc++ DLLs, however, are ABI
  compatible between these 3 Visual Studio versions.
  
  As a result, for the DLL and LIB names, use 'vc140' for Visual Studio
  2015 builds, 'vc141' for Visual Studio 2017 builds and 'vc142' for
  Visual Studio 2019 builds, according to the toolset versions as defined
  by Microsoft.
  
  For people that may have previously built cairomm with Visual
  Studio 2017 or 2019, which had 'vc140' in the built .lib and DLL, an NMake
  option 'USE_COMPAT_LIBS' is added to make building such binaries with
  'vc140' easier, if needed.

2020-06-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  README: Update with instructions for building cairomm

2020-05-06  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson: Don't use gendef on Visual Studio

  Instead, we use the newly-added CAIROMM_API which is defined to be
  __declspec(dllexport) to export the symbols directly.
  
  This will also allow some cleanup in the Meson build files, as we do not
  need to differentiate how the cairomm library is built on different
  compilers.

2020-05-06  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Stop using gendef.exe by default

  Define CAIROMM_API as __declspec(dllexport) (when building) or
  __declspec(dllimport) (when using) by default, unless we decide that we
  want to continue using gendef.exe for compatibility reasons, by passing
  in BUILD_COMPAT_LIB in the NMake command line.  This means that gendef
  is not used unless we explicitly request to do so.
  
  We may be using the cairomm binaries on older programs that we aren't
  able to rebuild, so allow gendef to be still used if it is desired,
  although using __declspec(dllexport) and __declspec(dllimport) will be
  the default.

2020-05-06  Chun-wei Fan  <fanchunwei@src.gnome.org>

  cairomm/*.h: Decorate public symbols with CAIROMM_API

  This include the public class definitions and function prototypes, so
  that we can use compiler directives to export these items.  By doing so
  we will no longer need to use gendef.exe to export symbols for Visual
  Studio DLL builds.

2020-05-06  Chun-wei Fan  <fanchunwei@src.gnome.org>

  cairommconfig.h.[in|meson]: Add CAIROMM_API

  This macro can be used to decorate public class and API prototypes, so
  that we can use it to export symbols with compiler directives, such as
  __declspec(dllexport) in the case of Visual Studio-style builds.
  
  We can even decide to not use it by keeping CAIROMM_API empty, such as
  in the case of building static libraries or when using GCC's
  autoexporting mechanism, or when using gendef is desired for
  compatibility reasons.

2020-05-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Add rule to generate versioned files

  This will make building directly from a GIT checkout easier, by using PERL to
  read the configure.ac file to acquire the version info, and using this info to
  generate the full cairommconfig.h and cairomm.rc files that we need for our
  Visual Studio builds.
  
  This will also enable us to build from a Meson-generated source tarball,
  as we may well need to generate these files ourselves.

2020-05-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Speed up builds

  Use 'md' to create the build intermediate directories so that we do not
  need to re-load the Makefiles that many times, which can speed up
  things.

2020-05-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  MSVC_NMake/README: Use Windows line endings

  This file is used for Visual Studio builds, so use Windows-friendly line
  endings

2020-05-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  MSVC_NMake/README: Don't mention that tests aren't buildable

  They have been updated so that they can be compiled, linked and ran on
  Visual Studio builds.

2020-05-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Support Meson-built libsigc++

  This allows one to link to the correct .lib that is produced by the
  Meson builds of libsigc++ in an easier way, by using USE_MESON_LIBS.

2020-05-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake: Fix building tests

  This will make the tests build and link with Visual Studio + Boost DLL
  builds...

2020-05-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Split outdir by toolset/pdb version

  This reduces the likelihood of accidently mixing binaries linked against
  different CRT versions.
  
  Visual Studio 2015 through 2019 link to the same CRT/C++ runtime DLL, so
  they are interchangeable as long as the system has the CRT/C++RT
  DLLs installed that added support for the later toolsets, so use the PDB
  version instead.

2020-05-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  configure.ac: Substitute CAIROMM_EXTRA_LIBS during configuration

  CAIROMM_EXTRA_LIBS has been added to data/cairomm-1.0.pc.in. It's used only
  in Meson builds. During an Autotools build it must be replaced by an
  empty string.

2020-05-04  Chun-wei Fan  <fanchunwei@src.gnome.org>

  data/cairomm-1.0.pc.in: Add @CAIROMM_EXTRA_LIBS@

  We need to put in the Cairo library in the 'Libs:' entry if Cairo was
  not found with pkg-config.

2020-05-04  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson.build: Remove requirement for Visual Studio 2017

  We can in fact be using Visual Studio 2013 to build cairomm-1-14, so we
  can just relax the requirement here.

2020-04-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add support for building cairomm with Meson

  cairomm can be built with either Autotools or Meson.
  
  See MR !2

2020-04-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Replace NULL by nullptr

2020-04-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tests: Update the source code

  These updates have been copied from the master branch, where
  the BOOST_AUTO_TEST_*() macros were introduced by Chun-wei Fan.

2020-04-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Don't use zero as null pointer

  Replace 0 by nullptr where appropriate.

2020-04-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Sources: Remove #define _USE_MATH_DEFINES

  We now pass in /D_USE_MATH_DEFINES in our NMake compiler flags, so
  there is no need to define them in the sources.  This will silence
  C4005 warnings (macro redefinition) in Visual Studio builds.
  
  Fixes #17

2020-04-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  build: Remove Visual Studio 2013 projects

  Since they cannot be used with Visual Studio 2013, and they have since
  been superseded by the NMake Makefiles, it's time to remove them.

2020-04-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  build: Add NMake Makefiles

  This will replace the Visual Studio 2013 projects, which is easier to
  maitain and will let us build cairomm with Visual Studio 2015 or 2017
  easier (and, 2013 is no longer supported as it does not have enough
  C++-11 support).
  
  For the C++-11 version of cairomm, since Visual Studio 2015 and 2017
  both link to the Windows v140 C/C++ runtime DLLs, the DLLs and .lib's
  are named as cairomm-vc140-1_0.[dll|lib] or cairomm-vc140-d-1_0.[dll|lib].

2020-04-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  build: Rename MSVC_Net2013 to MSVC_NMake

  This prepares for the transition to NMake Makefiles from the Visual
  Studio 2013 project files, which will make the Visual Studio build
  system more flexible and easier to maintain.

2020-04-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Build: Fix silent builds

  * configure.ac: Pass yes to AM_SILENT_RULES, thus enabling silent builds.
  * docs/reference/Doxyfile.in: Set QUIET=YES.
  Update for doxygen 1.8.11 (not necessary for silent builds).

2017-05-02  John Ralls  <jralls@ceridwen.us>

  enums.h: Guard the FT-specific include and the enum with an ifdef.

  To fix the build if there is no cairo-ft present. Bug #100894.

2016-12-09  Kalev Lember  <klember@redhat.com>

  Fix the build with MinGW headers

  Guard _USE_MATH_DEFINES with _WIN32 instead of _MSC_VER as it is needed
  for MinGW builds as well. While at this, also remove a duplicate version
  of the exact same define a few lines below.
  
  https://bugs.freedesktop.org/show_bug.cgi?id=92112

2016-11-15  Murray Cumming  <murrayc@murrayc.com>

  1.31.1

2016-11-15  Murray Cumming  <murrayc@murrayc.com>

  RecordingSurface: Correct some whitespace.

2016-11-15  Jason Rhinelander  <jason@imaginary.ca>

  Added C++ wrapper around cairo_recording_surface

  Bug #121359

2016-11-15  Murray Cumming  <murrayc@murrayc.com>

  1.12.2

2016-11-15  Murray Cumming  <murrayc@murrayc.com>

  Revert "Added C++ wrapper around cairo_recording_surface"

  This reverts commit 14bda0b09cd1650b46c758d2b0a9dbae8f007d62.
  
  New API should not be added in a stable branch.

2016-11-15  Murray Cumming  <murrayc@murrayc.com>

  1.12.1

2016-11-15  Murray Cumming  <murrayc@murrayc.com>

  Revert "RecordingSurface: Correct some whitespace."

  This reverts commit d5dda4daa8dbf4fec6e420d54f67669264827e30.
  
  API additions shouldn't be in a stable branch.

2016-04-10  Murray Cumming  <murrayc@murrayc.com>

  C++11: RefPtr: Make operator bool explicit.

  See https://bugzilla.gnome.org/show_bug.cgi?id=626858#c4

2016-04-10  Murray Cumming  <murrayc@murrayc.com>

  RecordingSurface: Correct some whitespace.

2016-04-10  Jason Rhinelander  <jason@imaginary.ca>

  Added C++ wrapper around cairo_recording_surface

  Bug #121359

2016-02-09  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use override keyword on destructors.

2015-11-23  Murray Cumming  <murrayc@murrayc.com>

  RefPtr: Use nullptr instead of 0.

2015-09-21  Murray Cumming  <murrayc@murrayc.com>

  1.12.0

2015-09-21  Murray Cumming  <murrayc@murrayc.com>

  RefPtr: Use noexcept, as in Glib::RefPtr.

2015-09-10  Chun-wei Fan  <fanchunwei@src.gnome.org>

  cairomm/exception.h: Allow Build on Visual Studio 2013

  Visual Studio 2013 has one catch for its C++-11 support: It does
  not support noexcept, but has its own _NOEXCEPT for the same purpose.
  Add a define for it, while defining the _ALLOW_KEYWORD_MACROS as newer
  Visual Studio Versions do not allow one to define known keywords, even if
  it is not supported, by default.

2015-09-10  Chun-wei Fan  <fanchunwei@src.gnome.org>

  MSVC Builds: Support Visual Studio 2013 (and later) Only

  This removes the Visual Studio 2005 and 2008 projects, and updates
  the Visual Studio 2010 projects to become 2013 projects, as only
  Visual Studio 2013 and later support enough of C++-11 to build
  cairomm in its current state.
  
  Also update the README in MSVC_Net2013/ to reflect on this situation.

2015-08-21  Murray Cumming  <murrayc@murrayc.com>

  MSVC_Net2010/filelist.am: Correct the .props filenames

2015-08-20  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Overhaul The Visual Studio 2010 Projects

  Like the Visual Studio 2008 Projects, give the Visual Studio 2010 Projects
  an overhaul by using property sheets to consolidate commonly-used items,
  and moving all the projects to MSVC_Net2010, so that they can be more easily
  maintained.
  
  https://bugs.freedesktop.org/show_bug.cgi?id=84030

2015-08-20  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Update and Overhaul the Visual Studio 2008 Projects

  Move all the projects to MSVC_Net2008/, and add property sheets for the
  projects so that commonly-used items can be consolidated and referred from
  the projects, which will help simplify future maintenance.  Also remove
  items from the projects that aren't really needed, as they add quite a bit
  of clutter.  Add the newly-added source files to the cairomm project as
  well, as the cairomm project has bit rotted a little.
  
  https://bugs.freedesktop.org/show_bug.cgi?id=84030

2015-08-20  Chun-wei Fan  <fanchunwei@src.gnome.org>

  fontface/fontoption: Check for CAIRO_HAS_FC_FONT

  This updates the fontface and fontoptions sources so that they will check
  for whether Cairo was built with FontConfig (in addition to FreeType) so
  that cairomm would still build when we have Cairo built with FreeType but
  without FontConfig, which for example may well be the case on Windows
  builds.
  
  https://bugs.freedesktop.org/show_bug.cgi?id=84033

2015-08-20  Murray Cumming  <murrayc@murrayc.com>

  Add TODO about using std::shared_ptr<> instead.

2015-08-20  Murray Cumming  <murrayc@murrayc.com>

  RefPtr: Add move constructors and move operator=().

  Roughly based on the same changes in Glib::RefPtr<>.

2015-08-12  Murray Cumming  <murrayc@murrayc.com>

  1.11.4

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use = delete instead of private constructors.

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use of nullptr.

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use auto.

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use the override keyword.

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use noexcept instead of throw().

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  configure.ac: Add some more warnings for --enable-warnings=fatal.

  Not using -Wshadow because that breaks the build:
  matrix.cc:28:80: error: declaration of 'y0' shadows a member of 'this' [-Werror=shadow]
   Matrix::Matrix(double xx, double yx, double xy, double yy, double x0, double y0)

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  configure.ac: Avoid deprecated libsigc++ API.

  No code changes were necessary.

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  Use (and require) C++11.

  And use the latest version of libsigc++, which also requires C++11.

2014-04-09  David Weiß  <david.weiss@ptvgroup.com>

  Update MSVC.Net 2010 project files.

  https://bugs.freedesktop.org/show_bug.cgi?id=76820

2014-02-21  Povilas Kanapickas  <povilas@radix.lt>

  Wrap cairo script device and script surface APIs

2014-02-21  Povilas Kanapickas  <povilas@radix.lt>

  Wrap FtFontFace::{get,set,unset}_synthesize

2014-02-21  Povilas Kanapickas  <povilas@radix.lt>

  Remove no longer useful .cvsignore files

2014-02-11  Murray Cumming  <murrayc@murrayc.com>

  Updating version to odd number for git.

2014-02-11  Murray Cumming  <murrayc@murrayc.com>

  1.11.2, because we use even micros for releases.

2014-02-11  Murray Cumming  <murrayc@murrayc.com>

  1.11.1

2014-02-11  Murray Cumming  <murrayc@murrayc.com>

  Autogenerate the ChangeLog

2014-01-28  Murray Cumming  <murrayc@murrayc.com>

  Improve some deprecation comments.

2014-01-28  Povilas Kanapickas  <povilas@radix.lt>

  Add Pattern::{set_extend,get_extend}

  * cairomm/pattern.{cc,h}: set_extend and get_extend functions apply not
    only to surface patterns, but to linear and radial gradients too.
    Bug #73775

2014-01-28  Anton Bachin  <antonbachin@yahoo.com>

  Allow use from Objective-C instead of just allowing building.

  * cairomm/fontface.h: Surround the include line in surface.h with
    some directives that undefine nil and then redefine it.
  * cairomm/surface.h: This aso undefined nil but this appears to be
    unnecessary.
  
    Bug #66328

2014-01-28  Murray Cumming  <murrayc@murrayc.com>

  Avoid dereferencing empty std::vector<>s.

  * cairomm/context.cc: Check with empty() before using [0] on
    a vector. Apparently gcc allows this, but MSVC (probably correctly)
    does not. This fixes a crash on MS Windows.
    Bug #36020 (Robert Kurjata)

2014-01-28  Murray Cumming  <murrayc@murrayc.com>

  ScaledFont: Add the missing get_extents() method implementation.

  Bug #53981 (cheshirekow)

2012-03-12  Mark Vender  <markv743@yahoo.co.uk>

  Use GNOME style in the documentation

2012-03-12  Murray Cumming  <murrayc@murrayc.com>

  Fix linker problem with the examples.

  * examples/Makefile.am: Add CAIROMM_LIBS.
  This is needed now to a change in behaviour of the linker
  in recent distro versions.

2012-03-12  Mark Vender  <markv743@yahoo.co.uk>

  Update the documentation

2011-05-09  Murray Cumming  <murrayc@murrayc.com>

  1.10.0

2010-12-31  Jonathon Jongsma  <jjongsma@gnome.org>

  Ignore some more msvc build files

2010-12-31  Jonathon Jongsma  <jjongsma@gnome.org>

  Bump micro version after release

2010-12-31  Jonathon Jongsma  <jjongsma@gnome.org>

  Disable fatal warnings on distcheck for now

  cairo.h has an extra comma at the end of an enumeration, which causes a warning,
  so making warnings fatal in distcheck makes it impossible to release.

2010-12-31  Jonathon Jongsma  <jjongsma@gnome.org>

  Update NEWS for 1.9.8 release, bump version

  Also require a newer cairo (1.10.0)

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Wrap cairo_surface_create_for_rectangle()

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Add PDF versioning API

  New PdfSurface functions:
    get_versions()
    restrict_to_version()
    version_to_string()

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Add Device documentation

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Add Device::Lock for acquiring devices safely

  To aid in acquiring devices in an exception-safe manner, a convenience class
  Device::Lock was added that acquires the specified device for the duration of
  the object.

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Wrap cairo_device_acquire|release()

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Wrap cairo_surface_get_device()

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Add Region documentation

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Wrap cairo_region_xor_*

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Wrap cairo_region_create_rectangles()

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Wrap Region::copy()

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Provide static factory functions for Region

  Since Region objects are ref-counted, don't allow them to be instantiated
  manually, but provide static create() functions for automatically managing them
  with RefPtrs.  Also, remember to check the error status when creating them.

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Fix Region api to throw exception rather than return status

  All other API throws exceptions instead of returning error statuses, so make
  this be consistent as well. (the only possible error for these operations is
  NO_MEMORY)

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Add new surface type enums

  These are not really used in cairomm, but it's nice to have them defined in any
  case.

2010-11-03  Murray Cumming  <murrayc@murrayc.com>

  A NEWS entry for a future release.

2010-11-03  Murray Cumming  <murrayc@murrayc.com>

  Context::arc(): Correct the documentation, as in the C documentation.

  * cairomm/context.h: arc(): Update the documentation based on the latest
  version of the cairo_arc() documentation, which was apparently fixed since
  we last wrote the C++ documentation based on it.
  This fixes bug #31345 (Christopher Head) about bad math in arc()
  documentation.

2010-10-26  Murray Cumming  <murrayc@murrayc.com>

  Post-release version increment

2010-10-26  Armin Burgmeier  <armin@arbur.net>

  Fix the build with MSVC (really)

  The previous commit only included the ChangeLog for some reason.
  
  2009-10-26  Armin Burgmeier  <armin@arbur.net>
  
  	* MSVC_Net2005/cairomm/cairomm.rc.in:
  	* MSVC_Net2008/cairomm/cairomm.rc.in: Replaced GENERIC_MAJOR_VERSION
  	et al. by CAIROMM_MAJOR_VERSION, so that they are properly replaced
  	during configure.
  
  	* MSVC_Net2005/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2005/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2005/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2005/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2005/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2005/examples/user-font/user-font.vcproj:
  	* MSVC_Net2008/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2008/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2008/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2008/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2008/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2008/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2008/examples/user-font/user-font.vcproj: Added
  	$(SolutionDir)/cairomm to the include search paths, so that
  	cairommconfig.h is found even if configure did not run.
  
  	* cairomm/fontface.cc: MSVC does not allow to reinterpret_cast a bool
  	to void*, so use an int instead.
  
  	* examples/surfaces/image-surface.cc:
  	* examples/surfaces/pdf-surface.cc:
  	* examples/surfaces/ps-surface.cc:
  	* examples/surfaces/svg-surface.cc:
  	* examples/text/text-rotate.cc: Define _USE_MATH_DEFINES before
  	including anything, to make sure we get the defines even if math.h
  	is included indirectly via another header.
  
  	* cairomm/context.cc: In set_dash(std::valarray<double>), copy the
  	valarray into a vector and then call set_dash(std::vector<double>).
  	The reason is that there is no guarantee that the memory in a
  	std::valarray is contiguous, and also that in MSVC's STL (and also in
  	the C++ standard) std::valarray<T>::operator[](size_t) const returns
  	a T, not a const T&, so &dashes[0] is a compiler error if dashes is a
  	const std::valarray<double>&.

2010-10-22  Armin Burgmeier  <armin@arbur.net>

  Added support for 64 bit and Visual Studio 2010.

  	* MSVC_Net2008/.cvsignore:
  	* MSVC_Net2005/examples/png-file/png-file.vcproj:
  	* MSVC_Net2008/examples/png-file/png-file.vcproj: Removed.
  
  	* MSVC_Net2005/README:
  	* MSVC_Net2005/cairomm.sln:
  	* MSVC_Net2005/cairomm/cairomm.vcproj:
  	* MSVC_Net2005/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2005/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2005/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2005/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2005/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2005/examples/user-font/user-font.vcproj:
  	* MSVC_Net2005/gendef/gendef.vcproj:
  	* MSVC_Net2008/README:
  	* MSVC_Net2008/cairomm.sln:
  	* MSVC_Net2008/cairomm/cairomm.vcproj:
  	* MSVC_Net2008/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2008/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2008/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2008/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2008/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2008/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2008/examples/user-font/user-font.vcproj:
  	* MSVC_Net2008/gendef/gendef.vcproj:
  	* MSVC_Net2010/README:
  	* MSVC_Net2010/cairomm.sln:
  	* MSVC_Net2010/cairomm/cairomm.rc.in:
  	* MSVC_Net2010/cairomm/cairomm.vcxproj:
  	* MSVC_Net2010/cairomm/cairomm.vcxproj.filters:
  	* MSVC_Net2010/examples/image-surface/image-surface.vcxproj:
  	* MSVC_Net2010/examples/image-surface/image-surface.vcxproj.filters:
  	* MSVC_Net2010/examples/pdf-surface/pdf-surface.vcxproj:
  	* MSVC_Net2010/examples/pdf-surface/pdf-surface.vcxproj.filters:
  	* MSVC_Net2010/examples/ps-surface/ps-surface.vcxproj:
  	* MSVC_Net2010/examples/ps-surface/ps-surface.vcxproj.filters:
  	* MSVC_Net2010/examples/svg-surface/svg-surface.vcxproj:
  	* MSVC_Net2010/examples/svg-surface/svg-surface.vcxproj.filters:
  	* MSVC_Net2010/examples/text-rotate/text-rotate.vcxproj:
  	* MSVC_Net2010/examples/text-rotate/text-rotate.vcxproj.filters:
  	* MSVC_Net2010/examples/toy-text/toy-text.vcxproj:
  	* MSVC_Net2010/examples/toy-text/toy-text.vcxproj.filters:
  	* MSVC_Net2010/examples/user-font/user-font.vcxproj:
  	* MSVC_Net2010/examples/user-font/user-font.vcxproj.filters:
  	* MSVC_Net2010/filelist.am:
  	* MSVC_Net2010/gendef/gendef.cc:
  	* MSVC_Net2010/gendef/gendef.vcxproj:
  	* MSVC_Net2010/gendef/gendef.vcxproj.filters:
  	* Makefile.am:
  	* configure.ac: Added support for 64 bit and Visual Studio 2010.

2010-10-22  Murray Cumming  <murrayc@murrayc.com>

  Update for the 1.9.4 release that I made without pulling

2010-09-10  Murray Cumming  <murrayc@murrayc.com>

  Context, Surface: Add some new methods.

  * cairomm/context.[h|cc]: Added in_clip().
  * cairomm/surface.[h|cc]: Added get_mime_data(), set_mime_data(),
    unset_mime_data().

2010-09-07  Murray Cumming  <murrayc@murrayc.com>

  Added Device class.

  	* cairomm/device.[h|cc]: Added these files, wrapping cairo_device_t.
    * cairomm/filelist.am:
    * cairomm/cairomm.h: Mention the new file.

2010-09-06  Murray Cumming  <murrayc@murrayc.com>

  1.9.2

2010-09-02  Murray Cumming  <murrayc@murrayc.com>

  Context: set_dash(): Make the dashes parameter const.

  * cairomm/context.[h|cc]: set_dash(): Add versions that take a const
    vector parameter, deprecating the old versions.

2010-09-02  Murray Cumming  <murrayc@murrayc.com>

  Context: Make some methods const, deprecating the non-const versions.

  * cairomm/context.h: device_to_user(, device_to_user_distance(),
    user_to_device(), user_to_device_distance(): Deprecate the non-const versions,
    adding const versions.

2010-09-02  Ian Britten  <britten@dilbert.caris.priv>

  2010-06-10 Ian Britten <britten@caris.com>

  	Cleanup of most -Weffc++ warnings (Continuation of previous commit)
  	Bug #28246
  
  	* cairomm/fontface.h (FontFace::FontFace):
  	* cairomm/path.h (Path::Path):
  	* cairomm/pattern.h (Pattern::Pattern):
  	* cairomm/scaledfont.h (ScaledFont::ScaledFont):
  	* cairomm/surface.h (Surface::Surface): Declare a private copy
  	constructor and assignment operator in order to explicitly prevent
  	objects from being copied by value.  That was never valid, and not
  	disallowing it seems to have been merely an oversight.
  
  	* cairomm/fontoptions.cc:
  	* cairomm/scaledfont.cc: Initialize member(s) in initialization list.
  
  	* cairomm/scaledfont.h: Declared ~ScaledFont() virtual

2010-07-19  Murray Cumming  <murrayc@murrayc.com>

  1.9.1

2010-07-06  Murray Cumming  <murrayc@murrayc.com>

  Add Region, wrapping cairo_region_t, new in cairo 1.10.

  * cairomm/region.[h|cc]: Added this class, wrapping it like other
      reference-counted types, such as Pattern.
      * cairomm/cairomm.h: Add an include of it here.
      * cairomm/filelist.am: Mention the new files here.

2010-06-07  Daniel Elstner  <danielk@openismus.com>

  Disallow copying of Cairo::Context objects

  * cairomm/context.h (Cairo::Context): Declare a private copy
  constructor and assignment operator in order to explicitly prevent
  objects from being copied by value.  That was never valid, and not
  disallowing it seems to have been merely an oversight.

2010-06-07  Daniel Elstner  <danielk@openismus.com>

  Do not unnecessarily cast booleans to pointers

  * cairomm/fontface.cc (USER_DATA_KEY_DEFAULT_TEXT_TO_GLYPHS): Put
  dummy object into an anonymous namespace and make it static.
  (UserFontFace::text_to_glyphs): Do not cast a boolean to a pointer
  in order to indicate state via the font face's user data.  There are
  fairly safe alternative casts to do this, but it is much simpler to
  just take the address of any existing object to get a non-0 pointer.
  (UserFontFace::UserFontFace): Remove unnecessary casts.

2010-06-07  Armin Burgmeier  <armin@arbur.net>

  Fix the build with MSVC

  2009-10-26  Armin Burgmeier  <armin@arbur.net>
  
  	* MSVC_Net2005/cairomm/cairomm.rc.in:
  	* MSVC_Net2008/cairomm/cairomm.rc.in: Replaced GENERIC_MAJOR_VERSION
  	et al. by CAIROMM_MAJOR_VERSION, so that they are properly replaced
  	during configure.
  
  	* MSVC_Net2005/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2005/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2005/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2005/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2005/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2005/examples/user-font/user-font.vcproj:
  	* MSVC_Net2008/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2008/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2008/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2008/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2008/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2008/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2008/examples/user-font/user-font.vcproj: Added
  	$(SolutionDir)/cairomm to the include search paths, so that
  	cairommconfig.h is found even if configure did not run.
  
  	* cairomm/fontface.cc: MSVC does not allow to reinterpret_cast a bool
  	to void*, so use an int instead.
  
  	* cairomm/context.cc:
  	* examples/surfaces/image-surface.cc:
  	* examples/surfaces/pdf-surface.cc:
  	* examples/surfaces/ps-surface.cc:
  	* examples/surfaces/svg-surface.cc:
  	* examples/text/text-rotate.cc: Define _USE_MATH_DEFINES before
  	including anything, to make sure we get the defines even if math.h
  	is included indirectly via another header.

2010-06-07  Augusto Jun Devegili  <monipol@gmx.com>

  Put ifdefs around 32-bit-only API, to fix the build on 64-bit machines.

  * cairomm/quartz_font.[h|cc]: Use #ifndef __LP64__, as cairo does.

2010-06-07  Murray Cumming  <murrayc@murrayc.com>

  Fix the ChangeLog.

2010-06-07  Murray Cumming  <murrayc@murrayc.com>

  Actually install cairomm-xlib-xrender-1.0.pc.

  * configure.ac: Fix a typo in the check for xlib-xrender support in
      cairo. Fixes bug #27066.

2010-04-20  Daniel Elstner  <daniel.kitta@gmail.com>

  Clean up configure.ac and add silent rules support

  * configure.ac (AC_INIT): Specify correct URLs for bug reports and the
  project home page.
  (AM_SILENT_RULES): Call macro if defined.
  (MM_PREREQ): Require mm-common 0.8.
  (BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB): Rewrite the fragile shell code
  of the boost check.

2009-10-19  Jonathon Jongsma  <jjongsma@gnome.org>

  bump to 1.8.4, update NEWS

2009-08-13  Jonathon Jongsma  <jjongsma@gnome.org>

  Don't force tests to be enabled when CAIROMM_DEVEL is defined

  This was hacked in to ensure that I always built with tests enabled, but the
  boost configure detection scripts are broken right now on my setup, so this just
  hinders my ability to get things done.  remove it.

2009-08-13  Daniel Elstner  <danielk@openismus.com>

  Distribute mm-common documentation utilities

  * docs/Makefile.am (dist_noinst_DATA): List the utility scripts
  installed by mm-common-prepare here, so they will be distributed.

2009-08-13  Daniel Elstner  <danielk@openismus.com>

  Add missing call to MM_CONFIG_DOCTOOL_DIR

  * configure.ac: Call MM_CONFIG_DOCTOOL_DIR([docs]) to indicate to
  mm-common-prepare that this module cannot depend on the utilities
  shipped with glibmm, and needs its own copies.

2009-08-13  Daniel Elstner  <danielk@openismus.com>

  Fix left-over cairomm/cairommconfig.h includes

  * cairomm/cairomm.h: Remove directory prefix from cairommconfig.h
  include statement.
  * cairomm/context.cc: Include <cmath> unconditionally instead of
  conditionally including <math.h>.
  * examples/surfaces/*.cc: ditto,
  * examples/text/text-rotate.cc: ditto.

2009-08-13  Daniel Elstner  <danielk@openismus.com>

  Review and clean up after build overhaul

  * autogen.sh: Pass --enable-maintainer-mode to ./configure since the
  automatic rebuild of the reference documentation is only enabled in
  maintainer mode.  AM_MAINTAINER_MODE is already in configure.ac.
  * configure.ac (AC_CONFIG_HEADERS): Prepend build/config.h to the
  list of header files, because the first file in the list has its .in
  file generated by autoheader, and will thus include every AC_DEFINE
  from every Autoconf macro that is used.  The macros defined in the
  installed cairommconfig.h header should be namespaced and limited to
  meta information about the installed cairomm library.
  Also move cairommconfig.h to the top-level directory, in order to
  avoid the need to add the cairomm/ subdirectory to the include path.
  (PKG_CHECK_MODULES): Collapse the checks for optional cairo modules
  into a loop, and use PKG_CHECK_EXISTS() instead of the full-blown
  PKG_CHECK_MODULES().  Also, be a bit cleverer about the lists of .pc
  files and module names generated along the way.
  (AC_CONFIG_FILES): List all potentially installed files literally,
  instead of creating the list of output files dynamically.  This is
  much simpler and also gets us free shipping.  Remove data/Makefile.
  * cairommconfig.h.in: Add file to repository, as it should not be
  autogenerated.  Of the content, keep only the CAIROMM_ namespaced
  macros.
  * cairomm/context*.cc: Remove cairomm/ prefix from cairommconfig.h
  include statements.  This was already wrong before, but moving the
  file around made it visible.
  * Makefile.am: Clean up a bit.
  (DIST_SUBDIRS): Have Automake figure it out automatically.
  (cairomm_include_HEADERS): Remove, as cairomm/cairomm.h is already
  installed in cairomm/Makefile.am.
  (nodist_cairomm_libinclude_HEADERS): Relocate cairommconfig.h to
  the top-level directory.
  (nodist_pkgconfig_DATA): Use $(CAIROMM_INSTALL_PC) substitution from
  configure.ac to install the appropriate pkg-config data files.
  * cairomm/Makefile.am: Rewrite without using compile-binding.am, as
  it is not really the appropriate tool for the cairomm job.
  * cairomm/filelist.am (cairomm_cc): Rename from $(files_extra_cc).
  (cairomm_public_h): Rename variable from $(files_extra_h) and remove
  cairommconfig.h from the list.
  (cairomm_private_h): Rename variable from $(files_extra_ph).
  * docs/Makefile.am (doc_input): Adjust variable names.
  (dist_noinst_DATA): Add reference/cairomm.css to the list.
  (pubdocbase): Define for completeness.
  (htmlrefpub): Correct documentation URL.
  * docs/Doxyfile.in: Strip trailing whitespace from every line.
  (STRIP_FROM_PATH), (STRIP_FROM_INC_PATH), (INCLUDE_PATH): Do not
  strip the cairomm/ subdirectory prefix from the displayed filenames.
  (EXCLUDE): Remove list of files to exclude, since the list of input
  files is specified explicitly with the new build organization.
  (EXPAND_AS_DEFINED): Expand version number macros, although at the
  moment they are probably not used anywhere in the public headers.
  * data/cairomm-*.pc.in: Use @PACKAGE_VERSION@ instead of @VERSION@.
  * data/cairomm-1.0.pc.in (htmlrefpub): Correct documentation URL.
  (Cflags): Add missing -I${libdir}/@CAIROMM_MODULE_NAME@/include.
  * data/Makefile.am: Delete now unused build file.
  * docs/reference/Makefile.am: Delete left-over build file.

2009-08-13  David King  <davidk@openismus.com>

  Get rid of all Makefile.am in the MSVC dirs

  * MSVC_Net2005/**/.cvsignore:
  * MSVC_Net2008/**/.cvsignore: Remove obsolete .cvsignore files.
  * MSVC_Net2005/**/Makefile.am:
  * MSVC_Net2008/**/Makefile.am: Remove recursive build files.
  * MSVC_Net2005/filelist.am:
  * MSVC_Net2008/filelist.am: Recursively list all files that should go
  into the distribution.
  * configure.ac (AC_CONFIG_FILES): Remove all Makefile outputs to the
  MSVC subdirectories.
   (AC_CONFIG_COMMANDS): Copy the configuration header files into the
  MSVC subdirectories by making config.status execute custom
  configuration commands. This is easier than doing it at the Makefile
  level, where it was previously implemented.
  * Makefile.am: Include the filelist.am files from the MSVC
  subdirectories.
   (SUBDIRS): Remove MSVC_Net200[58] directories from the list.
   (dist_noinst_DATA): Distribute the MSVC project files.
   (DISTCLEANFILES): Include the copied configuration header files in a
   distclean.

2009-08-13  David King  <davidk@openismus.com>

  Switch to mm-common documentation build infrastructure

  * .gitignore: Add new generated documentation files.
  * Makefile.am: Remove old documentation generation build.
  * configure.ac:
  * docs/reference/Makefile.am: Remove, with switch to non-recursive
  documentation build.
  * data/cairomm-1.0.pc.in:
  * docs/Makefile.am: Switch to new documentation build infrastructure
  from mm-common.
  * docs/reference/Doxyfile.in: Modernise and disable several unused
  features of the Doxygen output.

2009-08-13  David King  <davidk@openismus.com>

  Simplify build system of examples and cairomm subdirectores

  * .gitignore: Add INSTALL, mm-common *.am files and .dirstamp.
  * Makefile.am: Change VERSION to PACKAGE_VERSION. Begin transition
  to use of new build infrastructure.
  * cairomm/Makefile.am: Simplify by moving significant portions to
  toplevel Makefile.am.
  * cairomm/filelist.am: List of files for libcairomm. Move private
  source files to files_extra_cc.
  * configure.ac: Use MM_INIT_MODULE and remove example subdirectory
  Makefile.am.
  * examples/surfaces/Makefile.am:
  * examples/text/Makefile.am: Remove.
  * examples/Makefile.am: Convert examples tree to non-recursive
  build, with single, slimmer Makefile.am.

2009-08-13  David King  <davidk@openismus.com>

  Initial changes to ease transition to mm-common build infrastructure

  * autogen.sh: Replace with a simple wrapper around mm-common-prepare
  and autoreconf.
  * build/*.m4: Move from m4 directory.
  * Makefile.am: Rename m4 directory to build.
  * configure.ac: Rename from configure.in, as it is recommended by
  Autoconf developers and currently required by mm-common-prepare. Major
  update to take advantage of mm-common build infrastructure.
  * INSTALL: Remove from repository, using GNU install instructions
  instead.
  * cairomm/Makefile.am: Remove unnecessary win32 conditionals.

2009-08-07  Christopher Harvey  <chris@basementcode.com>

  Added some documentation to the rel_* functions in the Context class

2009-07-08  Jonathon Jongsma  <jjongsma@gnome.org>

  update NEWS for release

2009-07-06  Jonathon Jongsma  <jjongsma@gnome.org>

  Bump version number for release 1.8.2

2009-07-05  Jānis Rukšāns  <thedogfarted@gmail.com>

  Restore 1.6.x API / ABI that was unintentionally broken in 1.8.x

2009-01-26  Jonathon Jongsma  <jjongsma@gnome.org>

  Bump version to 1.8.0 release

2009-01-20  Jonathon Jongsma  <jjongsma@gnome.org>

  Fix documentation of ImageSurface::create()

  	* cairomm/surface.h: fixed the documentation for ImageSurface::create() to
  	match the cairo C documentation (it must have changed since we initially
  	copied the documentation -- it'd really be nice to have a way to automatically
  	generate the C++ documentation...)

2008-12-20  Jonathon Jongsma  <jjongsma@gnome.org>

  fix some distcheck failures

2008-12-20  Jonathon Jongsma  <jjongsma@gnome.org>

  Update NEWS and bump version to 1.7.2

2008-12-20  Jonathon Jongsma  <jjongsma@gnome.org>

  scaled_matrix() -> scaling_matrix()

2008-12-20  Armin Burgmeier  <armin@arbur.net>

  Updated MSVC project files

  2008-12-20  Armin Burgmeier  <armin@openismus.com>
  
  	* cairomm/pattern.h: Forward-declared Matrix as a class instead of as
  	a struct, to prevent MSVC from complaining about "'Cairo::Matrix' :
  	type name first seen using 'struct' now seen using 'class'".
  
  	* MSVC_Net2005/examples/png_file:
  	* MSVC_Net2008/examples/png_file: Removed, as the corresponding
  	example has been removed.
  
  	* MSVC_Net2005/cairomm/cairomm.vcproj:
  	* MSVC_Net2008/cairomm/cairomm.vcproj: Link against libsigc++, added
  	matrix.h, win32_font.h, matrix.cc and win32_font.cc to the project.
  
  	* MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2005/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2005/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2008/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2008/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2008/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2008/examples/text-rotate/text-rotate.vcproj: Adapt path to
  	source files.
  
  	* MSVC_Net2005/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2005/examples/image-surface/Makefile.am:
  	* MSVC_Net2005/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2005/examples/toy-text/Makefile.am:
  	* MSVC_Net2005/examples/user-font/user-font.vcproj:
  	* MSVC_Net2005/examples/user-font/Makefile.am:
  	* MSVC_Net2005/examples/Makefile.am: Added MSVC2005 projects for these
  	examples.
  
  	* MSVC_Net2008/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2008/examples/image-surface/Makefile.am:
  	* MSVC_Net2008/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2008/examples/toy-text/Makefile.am:
  	* MSVC_Net2008/examples/user-font/user-font.vcproj:
  	* MSVC_Net2008/examples/user-font/Makefile.am:
  	* MSVC_Net2008/examples/Makefile.am: Added MSVC2008 projects for these
  	examples.
  
  	* MSVC_Net2005/cairomm.sln:
  	* MSVC_Net2008/cairomm.sln: Added the new example projects to the
  	corresponding solution.
  
  	* configure.in: Create Makefiles in the newly added directories.

2008-12-15  Jonathon Jongsma  <jjongsma@gnome.org>

  Revert virtual ScaledFont destructor (no ABI break)

  	* cairomm/scaledfont.h: revert the virtual destructor since it's unnecessary
  	and an ABI change.  The ScaledFont subclasses don't have any virtual functions
  	or any subclass-specific data that needs to be cleaned up, so a virtual
  	destructor is not really necessary here.
  	* tests/test-scaled-font.cc: a little paranoia test just to ensure that the
  	base destructor is called correctly reducing the ref count when we delete a
  	FtFontFace

2008-12-15  Jonathon Jongsma  <jjongsma@gnome.org>

  Add tests and fix a bug in UserFontFace

  	* cairomm/fontface.cc: fixed a bug in UserFont where I was incorrectly using a
  	function static variable and so it was not returning negative numbers for
  	num_glyphs when I expected it to
  	* tests/Makefile.am:
  	* tests/test-font-face.cc:
  	* tests/test-user-font.cc: Added tests for UserFontFace

2008-12-14  Jonathon Jongsma  <jjongsma@gnome.org>

  Really fix ScaledFont::get_font_face() bug

  	* cairomm/scaledfont.cc: actually fix a reference-counting issue with
  	ScaledFont::get_font_face() that I thought I had fixed in b1d01ff7
  	* tests/test-scaled-font.cc: add a test for the get_font_face() bug

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  update ignores again

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  bump version since we forgot to do it after release

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  Cross-reference typedef-ed structs

  	* cairomm/types.h: add cross-reference links to the cairo manual for all types
  	that are just typedefs of C structs

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  Minor changes to text-rotate example

  	* .gitignore: ignore the new example executable names
  	* examples/text/Makefile.am: normalize the text-rotate example
  	executable name
  	* examples/text/text-rotate.cc: print a message to the terminal explaining
  	that a file was written

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  Add surface examples to doxygen documentation

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  Restructure examples directory

  	Restructure the examples directory so that there aren't so many subdirs, which
  	tends to slow down builds since they can't be done in parallel.  Also
  	'standardize' the executable names a bit more and give the source files
  	meaningful names rather than 'main.cc' or similar
  
  	* configure.in:
  	* examples/.cvsignore: Removed.
  	* examples/Makefile.am:
  	* examples/README:
  	* examples/pdf-surface/.cvsignore: Removed.
  	* examples/pdf-surface/Makefile.am: Removed.
  	* examples/png_file/.cvsignore: Removed.
  	* examples/png_file/Makefile.am: Removed.
  	* examples/ps-surface/.cvsignore: Removed.
  	* examples/ps-surface/Makefile.am: Removed.
  	* examples/surfaces/image-surface.cc: Renamed from examples/png_file/main.cc.
  	* examples/surfaces/pdf-surface.cc: Renamed from examples/pdf-surface/main.cc.
  	* examples/surfaces/ps-surface.cc: Renamed from examples/ps-surface/main.cc.
  	* examples/surfaces/svg-surface.cc: Renamed from examples/svg-surface/main.cc.
  	* examples/svg-surface/.cvsignore: Removed.
  	* examples/svg-surface/Makefile.am: Removed.

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  Add clear warning about lifetime of UserFontFace objects

  Also include examples in doxygen documentation

2008-12-11  Jonathon Jongsma  <jjongsma@gnome.org>

  update ignores

2008-12-11  Jonathon Jongsma  <jjongsma@gnome.org>

  Enhance the UserFontFace example

  	* examples/text/user-font.cc: enhanced the UserFontFace example quite a bit so
  	that it shows a few different virtual functions and actually draws different
  	sized boxes for different characters

2008-12-11  Jonathon Jongsma  <jjongsma@gnome.org>

  Fix up UserFontFace documentation from redesign

2008-12-08  Jonathon Jongsma  <jjongsma@gnome.org>

  Added a very simple UserFontFace example

  	* examples/text/Makefile.am:
  	* examples/text/user-font.cc: Added a very simple example of using a
  	UserFontFace to draw text

2008-12-08  Jonathon Jongsma  <jjongsma@gnome.org>

  Fix UserFontFace::init()

  	* cairomm/fontface.cc: Fix the default implementation of UserFontFace::init()
  	to set up the font extents parameter correctly according to the documentation