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
|