| Cairo Library Source Code |
| ========================= |
| |
| This directory contains the source code of the cairo library. |
| |
| |
| Source Code Listing |
| ------------------- |
| |
| The canonical list of source files is the file Makefile.sources. See that |
| file for how it works. |
| |
| |
| New Backends |
| ------------ |
| |
| The rule of the thumb for adding new backends is to see how other |
| backends are integrated. Pick one of the simpler, unsupported, backends |
| and search the entire tree for it, and go from there. |
| |
| To add new backends you need to basically: |
| |
| * Modify $(top_srcdir)/configure.in to add checks for your backend. |
| |
| * Modify Makefile.sources to add source files for your backend, |
| |
| * Modify $(top_srcdir)/boilerplate/ to add boilerplate code for |
| testing your new backend. |
| |
| |
| New API |
| ------- |
| |
| After adding new API, run "make check" in this directory and fix any |
| reported issues. Also add new API to the right location in |
| $(top_srcdir)/doc/public/cairo-sections.txt and run "make check" |
| in $(top_builddir)/doc/public to make sure that any newly added |
| documentation is correctly hooked up. |
| |
| Do not forget to add tests for the new API. See next section. |
| |
| |
| Tests |
| ----- |
| |
| There are some tests in this directory that check the source code and |
| the build for various issues. The tests are very quick to run, and |
| particularly should be run after any documentation or API changes. It |
| does not hurt to run them after any source modification either. Run |
| them simply by calling: |
| |
| make check |
| |
| There are also extensive regression tests in $(top_srcdir)/test. It is |
| a good idea to run that test suite for any changes made to the source |
| code. Moreover, for any new feature, API, or bug fix, new tests should |
| be added to the regression test suite to test the new code. |
| |
| |
| Bibliography |
| ------------ |
| |
| A detailed list of academic publications used in cairo code is available |
| in the file $(top_srcdir)/BIBLIOGRAPHY. Feel free to update as you |
| implement more papers. |
| |
| For more technical publications (eg. Adobe technical reports) just |
| point them out in a comment in the header of the file implementing them. |
| |