head 1.23; access; symbols RELEASE_1_0_2:1.21 BRANCH_1_0:1.21.0.2 RELEASE_1_0_0:1.21 BRANCH_SCALED_GLYPH:1.11.0.2 RELEASE_0_9_2:1.11 RELEASE_0_9_0:1.11 SNAPSHOT_0_6_0:1.11 SNAPSHOT_0_5_2:1.9 SNAPSHOT_0_5_1:1.9 SNAPSHOT_0_5_0:1.9 SNAPSHOT_0_4_0:1.9 SNAPSHOT_0_3_0:1.8 SNAPSHOT_0_2_0:1.8 LGPL_CHANGE_AFTER:1.8 LGPL_CHANGE_BEFORE:1.8 SNAPSHOT_0_1_23:1.8 SNAPSHOT_0_1_22:1.8 SNAPSHOT_0_1_21:1.8 SNAPSHOT_0_1_20:1.8 SNAPSHOT_0_1_16:1.5; locks; strict; comment @# @; 1.23 date 2006.04.25.18.48.26; author cworth; state Exp; branches; next 1.22; 1.22 date 2005.12.19.01.20.06; author biesi; state Exp; branches; next 1.21; commitid 6e6f43a60a8a4567; 1.21 date 2005.08.24.16.12.37; author cworth; state Exp; branches; next 1.20; commitid 7816430c9c734567; 1.20 date 2005.08.24.15.28.00; author cworth; state Exp; branches; next 1.19; commitid 4ac9430c91fd4567; 1.19 date 2005.08.24.14.58.07; author cworth; state Exp; branches; next 1.18; commitid 3452430c8afc4567; 1.18 date 2005.08.24.14.16.01; author cworth; state Exp; branches; next 1.17; commitid 1659430c811e4567; 1.17 date 2005.08.24.13.50.51; author cworth; state Exp; branches; next 1.16; commitid 7a4e430c7b394567; 1.16 date 2005.08.24.12.36.05; author cworth; state Exp; branches; next 1.15; commitid 2e29430c69b34567; 1.15 date 2005.08.24.12.21.50; author cworth; state Exp; branches; next 1.14; commitid 2911430c665b4567; 1.14 date 2005.08.24.03.08.21; author krh; state Exp; branches; next 1.13; commitid 57a1430be4994567; 1.13 date 2005.08.24.02.54.11; author vektor; state Exp; branches; next 1.12; commitid 5376430be1444567; 1.12 date 2005.08.24.02.31.10; author cworth; state Exp; branches; next 1.11; commitid 48d0430bdbeb4567; 1.11 date 2005.07.23.17.05.54; author cworth; state Exp; branches; next 1.10; commitid 4a3642e278f14567; 1.10 date 2005.07.23.16.54.54; author cworth; state Exp; branches; next 1.9; commitid 45c742e2765d4567; 1.9 date 2005.02.22.19.35.03; author cworth; state Exp; branches; next 1.8; 1.8 date 2004.02.24.18.45.26; author cworth; state Exp; branches; next 1.7; 1.7 date 2003.12.17.20.59.37; author cworth; state Exp; branches; next 1.6; 1.6 date 2003.12.16.17.42.25; author dajobe; state Exp; branches; next 1.5; 1.5 date 2003.10.29.01.32.44; author cworth; state Exp; branches; next 1.4; 1.4 date 2003.07.18.18.34.19; author cworth; state Exp; branches; next 1.3; 1.3 date 2003.05.15.01.30.57; author cworth; state Exp; branches; next 1.2; 1.2 date 2003.01.24.21.52.01; author cworth; state Exp; branches; next 1.1; 1.1 date 2002.10.26.15.00.39; author cworth; state Exp; branches; next ; desc @@ 1.23 log @Make it very clear that the CVS tree is stale and obsolete @ text @********************* ****** WARNING ****** ********************* This is an obsolete checkout of the cairo source code. The current cairo source code is no longer maintained with CVS, but instead with the git content tracker. To use git to checkout the cairo library, use the following command: git clone git://git.cairographics.org/git/cairo followed by periodic updates: git pull origin Once you have a clone this way, you can browse it locally with graphical tools such as gitk or gitview. You may also commit changes locally with "git commit -a". These local commits will be automatically merged with upstream changes when you cg-update, and you can also generate patches from them for submitting to the cairo mailing list with "git format-patch origin". Note: If you can't find git packages from your distribution, you can get tar files from: http://www.kernel.org/pub/software/scm/git/ For the most up-to-date information on obtaining the latest cairo sources, see: http://cairographics.org/download I apologize for any inconvenience or confusion the switch from CVS to git may have caused. So thank you for your patience, and please continue to have fun with cairo! -Carl PS. If you insist on using this stale version you may run autogen.sh.stale instead of autogen.sh. Cairo - Multi-platform 2D graphics library http://cairographics.org What is cairo ============= Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System, win32, and image buffers. Experimental backends include OpenGL (through glitz), Quartz, XCB, PostScript and PDF file output. Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (for example, through the X Render Extension). The cairo API provides operations similar to the drawing operators of PostScript and PDF. Operations in cairo including stroking and filling cubic Bézier splines, transforming and compositing translucent images, and antialiased text rendering. All drawing operations can be transformed by any affine transformation (scale, rotation, shear, etc.). Cairo has been designed to let you draw anything you want in a modern 2D graphical user interface. At the same time, the cairo API has been designed to be as fun and easy to learn as possible. If you're not having fun while programming with cairo, then we have failed somewhere---let us know and we'll try to fix it next time around. Cairo is free software and is available to be redistributed and/or modified under the terms of either the GNU Lesser General Public License (LGPL) version 2.1 or the Mozilla Public License (MPL) version 1.1. Where to get more information about cairo ========================================= The primary source of information about cairo is: http://cairographics.org/ The latest releases of cairo can be found at: http://cairographics.org/releases Snapshots of in-development versions of cairo: http://cairographics.org/snapshots The programming manual for using cairo: http://cairographics.org/manual Mailing lists for contacting cairo users and developers: http://cairographics.org/lists Answers to some frequently asked questions about cairo: http://cairographics.org/FAQ Dependencies ============ The set of libraries needed to compile cairo depends on which backends are enabled when cairo is configured. Here are the dependencies for each backend: Surface backends: image backend ------------- no dependencies glitz backend ------------- glitz >= 0.4.4 http://freedesktop.org/Software/glitz pdf backend ----------- freetype >= 2.1.4 http://freetype.org zlib http://www.gzip.org/zlib postscript backend ------------------ freetype >= 2.1.4 http://freetype.org zlib http://www.gzip.org/zlib quartz backend -------------- [*] win32 backend ------------- [*] xcb backend ----------- XCB http://xcb.freedesktop.org xlib backend ------------ Xrender >= 0.6 http://freedesktop.org/Software/xlibs beos backend ------------ No dependencies in itself other than an installed BeOS system, but cairo requires a font backend. See the freetype dependency list. Font backends: freetype font backend --------------------- freetype >= 2.1.4 http://freetype.org fontconfig http://fontconfig.org win32 font backend ------------------ [*] atsui font backend ------------------ [*] [*] I don't know specifically what packages might need to be installed on a Mac OS X system to use the Quartz and ATSUI backends. As far as win32, the situation is rather complex: The Win32 backend should work on Windows 2000 and newer (excluding Windows Me.) Most testing has been done on Windows XP. While some portions of the code have been adapted to work on older versions of Windows, considerable work still needs to done to get cairo running in these environments. Cairo can be compiled on Windows either with the GCC toolchain (see http://www.mingw.org) or with Microsoft Visual C++. Makefiles or project files for compiling with MSVC are however not provided as of this release. We have received reports that MSVC 6.0 compiles parts of cairo incorrectly, (leading to incorrect color). MSVC 7.0 is known to work. Compiling ========= See the INSTALL document for build instructions. History ======= Cairo was originally developed by Carl Worth and Keith Packard . Many thanks are due to Lyle Ramshaw without whose patient help our ignorance would be much more apparent. Since the original development, many more people have contributed to cairo. See the AUTHORS files for as complete a list as we've been able to compile so far. @ 1.22 log @2005-12-19 Christian Biesinger * INSTALL: Mention new --enable-svg option * README: Add notes for the new BeOS backend * configure.in: Add disabled by default BeOS backend * src/Makefile.am: Add BeOS files * src/cairo-beos-surface.cpp: New * src/cairo-beos.h: New * src/cairo-features.h.in: BEOS_SURFACE_FEATURE * src/cairoint.h: BeOS mutex functions * test/.cvsignore: Ignore files generates by the BeOS tests * test/Makefile.am: Add cairo-test-beos.* * test/cairo-test-beos.cpp: New. (Must be a C++ file, hence not part of cairo-test.c) * test/cairo-test-beos.h: New. * test/cairo-test.c: (cairo_test_expecting): Test BeOS backend. @ text @d1 42 @ 1.21 log @ 2005-08-24 Carl Worth * README: Unabbreviate "eg." to "for example,". @ text @d101 5 @ 1.20 log @ 2005-08-24 Carl Worth * README: Some text cleanups from Øyvind Kolås. @ text @d13 1 a13 1 (eg. through the X Render Extension). @ 1.19 log @ 2005-08-24 Carl Worth * AUTHORS: * README: Fix typos. @ text @d18 3 a20 2 and antialiased text rendering. All drawing operations can be scaled, rotated, or transformed through any other affine transformation. d24 2 a25 2 designed to be as easy to learn and fun to use as possible. If you're not having fun while programming with cairo, then we have failed @ 1.18 log @ 2005-08-24 Carl Worth * README: Fix typos. @ text @d42 1 a42 1 Snapshots of in-developmenent versions of cairo: @ 1.17 log @ 2005-08-24 Carl Worth * README: Move glitz into the experimental list. @ text @d8 2 a9 2 System, win32, andimage buffers. Experimental backends include OpenGL (through glitz), Quartz, XCB, PostScript and PDF files output. @ 1.16 log @ 2005-08-24 Carl Worth * README: Add more detailed notes on what is required to compile cairo on Mac OS X or win32. @ text @d8 2 a9 2 System, OpenGL, and win32 as well as image buffers. Experimental backends include Quartz and XCB as well as PostScript and PDF files. @ 1.15 log @ 2005-08-24 Carl Worth * NEWS: Add notes for 1.0 release. Thanks to Owen Taylor. * README: Note that PS and PDF backends are experimental. * ROADMAP: Note the progress that has been completed so that 1.0 is ready now. @ text @d86 1 d90 1 d109 1 d113 20 @ 1.14 log @2005-08-23 Kristian Høgsberg * AUTHORS: * README: More minor edits. @ text @d8 2 a9 2 System, OpenGL, and win32 as well as image buffers and PostScript and PDF files. @ 1.13 log @ * README: Minor edits. @ text @d77 1 d81 1 @ 1.12 log @ 2005-08-23 Carl Worth * README: Big update in preparation for 1.0. @ text @d21 5 a25 6 Cairo has been designed to let you draw anything you might want to have in a modern 2D graphical user interface. At the same time, the cairo API has been designed to be as easy to learn and fun to use as possible. If you're not having fun while programming with cairo, then we have failed somewhere---let us know and we'll try to fix it next time around. d36 1 a36 1 http://cairographics.org d72 1 a72 1 glitz >= 0.4.4 http://freedesktop.org/Software/glitz) a84 1 @ 1.11 log @Testing UseNewInfoFtmStrings hack @ text @d4 50 a53 3 Compiling --------- See the INSTALL document for build instructions. d55 1 a55 13 Description ----------- Cairo is a vector graphics library with cross-device output support. Currently supported output targets include the X Window System and in-memory image buffers. PostScript and PDF file output is planned. Cairo is designed to produce identical output on all output media while taking advantage of display hardware acceleration when available (eg. through the X Render Extension). Cairo provides a stateful user-level API with capabilities similar to the PDF 1.4 imaging model. Cairo provides operations including stroking and filling Bezier cubic splines, transforming and compositing translucent images, and antialiased text rendering. d57 1 a57 2 Cairo was once named Xr, (or Xr/Xc), so if you came looking for that software, you've found it. d60 6 a65 2 ------------ Cairo currently requires the following supporting libraries: d67 47 a113 14 libpixman Xft2 fontconfig freetype2 Documentation ------------- There's not much documentation yet apart from the cairo.h header file. We'll be correcting that shortly. In the meantime, the cairo-demo module in CVS provides a few example programs using cairo. These may be helpful to a programmer just beginning with cairo. Also, familiarity with the PostScript imaging model will help in understanding cairo. d116 1 a116 1 ------- d121 3 a123 11 Mailing List ------------ If you have trouble with cairo or you have some ideas for how it could be improved, please feel free to send a message to cairo@@cairographics.org Cairo is still under active development and all discussion happens on that list. So if you want to lurk or, (even better), take part in the development, take a look. Subscription information and archives are available: http://cairographics.org/cgi-bin/mailman/listinfo/cairo @ 1.10 log @Testing UseNewInfoFtmStrings hack @ text @@ 1.9 log @ * README: * src/cairo-features.h.in: * src/cairo-glitz.h: * src/cairo-pdf.h: * src/cairo-png.h: * src/cairo-ps.h: * src/cairo-quartz.h: * src/cairo-xcb.h: * src/cairo-xlib.h: * src/cairo.c: * src/cairo.h: * src/cairo_color.c: * src/cairo_fixed.c: * src/cairo_font.c: * src/cairo_gstate.c: * src/cairo_hull.c: * src/cairo_image_surface.c: * src/cairo_matrix.c: * src/cairo_path.c: * src/cairo_path_bounds.c: * src/cairo_path_fill.c: * src/cairo_path_stroke.c: * src/cairo_pen.c: * src/cairo_png_surface.c: * src/cairo_polygon.c: * src/cairo_ps_surface.c: * src/cairo_slope.c: * src/cairo_spline.c: * src/cairo_surface.c: * src/cairo_traps.c: * src/cairo_xcb_surface.c: * src/cairo_xlib_surface.c: * src/cairoint.h: Switch from broken cworth@@isi.edu address to canonical cworth@@cworth.org address. @ text @@ 1.8 log @ * AUTHORS: Add attribution for many people who have made generous contributions to cairo. This list was generated by sifting through the ChangeLog. Please let me know if I have missed anyone. * NEWS: Add some historical notes on cairo development, prior to when we began to maintain this NEWS file. * README (http): Add pointer to cairographics.org. Fix to use cairo rather than Cairo when not at the beginning of a sentence. * TODO: Remove cairo_current_path, cairo_current_path_flat, cairo_text_extents, cairo_glyph_extents, cairo_text_path, and cairo_glyph_path from the TODO list as they have all been implemented now. @ text @d46 1 a46 1 Cairo was originally developed by Carl Worth and @ 1.7 log @ * src/cairo.h: Remove trailing commas from enums, (some compilers like to complain about them). @ text @d2 1 d52 1 a52 1 If you have trouble with Cairo or you have some ideas for how it could be @ 1.6 log @ * README: Replace requiring libpixregion, libic with libpixman. @ text @a28 1 d39 3 a41 3 programs using Cairo. These may be helpful to a programmer just beginning with Cairo. Also, familiarity with the PostScript imaging model will help in understanding Cairo. d45 3 a47 3 Cairo was developed by Carl Worth and Keith Packard . Many thanks are due to Lyle Ramshaw without whose patient help our ignorance would be much more apparent. @ 1.5 log @Updated stale text in README @ text @d28 1 a28 3 slim libpixregion libic @ 1.4 log @Renamed everything from Xr* to cairo_* @ text @d9 14 a22 17 Cairo provides anti-aliased vector-based rendering for X. Paths consist of line segments and cubic splines and can be rendered at any width with various join and cap styles. All colors may be specified with optional translucence (opacity/alpha) and combined using the extended Porter/Duff compositing algebra as found in the X Render Extension. Cairo exports a stateful rendering API similar in spirit to the path construction, text, and painting operators of PostScript, (with the significant addition of translucence in the imaging model). When complete, the API is intended to support the complete imaging model of PDF 1.4. Cairo relies on the Xc library for backend rendering. Xc provides an abstract interface for rendering to multiple target types. As of this writing, Xc allows Cairo to target X drawables as well as generic image buffers. Future backends such as PostScript, PDF, and perhaps OpenGL are currently being planned. d28 5 a32 2 Xc Xft d34 1 a34 2 libic libpixregion d41 4 a44 4 In the meantime, the xrtest module in CVS provides a few example programs using Cairo. These may be helpful to a programmer just beginning with Cairo. Also, familiarity with the PostScript imaging model will help in understanding Cairo. @ 1.3 log @Added toplevel functions for setting surface matrix, filter. Introduced new XrMatrix object. Fixed to properly hint scaled fonts. @ text @d1 1 a1 1 Xr - Rendering library d9 1 a9 1 Xr provides anti-aliased vector-based rendering for X. Paths consist d15 1 a15 1 Xr exports a stateful rendering API similar in spirit to the path d21 1 a21 1 Xr relies on the Xc library for backend rendering. Xc provides an d23 1 a23 1 writing, Xc allows Xr to target X drawables as well as generic image d29 1 a29 1 Xr currently requires the following supporting libraries: d39 1 a39 1 There's not much documentation yet apart from the Xr.h header d43 3 a45 3 programs using Xr. These may be helpful to a programmer just beginning with Xr. Also, familiarity with the PostScript imaging model will help in understanding Xr. d49 1 a49 1 Xr was developed by Carl Worth and Keith Packard d55 2 a56 2 If you have trouble with Xr or you have some ideas for how it could be improved, please feel free to send a message to xr@@xwin.org. d58 1 a58 1 Xr is still under active development and all discussion happens on d63 1 a63 1 http://xwin.org/cgi-bin/mailman/listinfo/xr @ 1.2 log @Fixed miter limit handling. Added local.def @ text @d1 5 a5 1 Xr - Rendering for X d12 1 a12 1 optional translucence (opacity/alpha) throught the extended d15 12 d34 2 a35 11 Usage ----- Xr exports a stateful rendering API similar in spirit to the path construction, text, and painting operators of PostScript, (with the significant addition of translucence in the imaging model). The API was carefully designed to be easily understood with as little additional explanation as possible. All functions take a minimal number of arguments so that the number and order of arguments should be easy to remember without the need to continually consult reference documentation while developing with Xr. d39 2 a40 4 As mentioned above, we hope that users of Xr will be productive without having to consult the documentation often. Ideally, a simple glance at the Xr.h header file will provide enough information for the programmer. d42 4 a45 2 We'll see if we've been successful in our goal, since for the moment the Xr.h header file is the only documentation that currently exists. d53 11 @ 1.1 log @Added TODO, README, and .cvsignore @ text @d13 5 a17 2 Xr requires the Xc library. The Xc library supports basic compositing and should work with or without the X Render extension. @