add new sigc++2 directory
[ardour.git] / libs / cairomm / ChangeLog
1 == 1.4.6 ==
2
3 2007-11-10  Jonathon Jongsma  <jjongsma@gnome.org>
4
5         * docs/reference/Doxyfile.in: update doxygen config file since my version of
6         doxygen now complains that there are obsolete config keys
7
8 2007-11-10  Jonathon Jongsma  <jjongsma@gnome.org>
9
10         * NEWS: update news for 1.4.6 release
11         * configure.in: bumped version
12
13 2007-08-13  Murray Cumming  <murrayc@murrayc.com>
14
15         * cairomm/context.cc: Add #include <cairomm/quartz_surface.h>
16         to fix the build on MacOS. Thanks to Elias N (Bug #11972).
17
18 == 1.4.4 ==
19
20 2007-07-21  Murray Cumming  <murrayc@murrayc.com>
21
22         * m4/reduced.m4: Added, containing CAIROMM_ARG_ENABLE_API_EXCEPTIONS().
23         * configure.in: Use CAIROMM_ARG_ENABLE_API_EXCEPTIONS() to add a 
24         --enable-api-exceptions=yes/no option.
25         Used to generate a cairomm/cairommconfig.h config file, which 
26         defines (or not) CAIROMM_EXCEPTIONS_ENABLED.
27         * cairomm/cairommconfig.h.in: Added, used to generate cairommconfig.h
28         * cairomm/private.cc:
29         * cairomm/private.h: Use ifdef to replace throw_exception() with an empty 
30         implementation when exceptions are disabled.
31         This allows cairomm to be built when using CXXFLAGS=-fno-exceptions.
32
33 2007-07-14  Jonathon Jongsma  <jjongsma@gnome.org>
34
35         * configure.in: post-release version number bump
36
37 === 1.4.2 ===
38
39 2007-07-14  Jonathon Jongsma  <jjongsma@gnome.org>
40
41         * NEWS: updated for 1.4.2 release
42         * configure.in: bumped version to 1.4.2
43
44 2007-06-14  Dave Beckett  <dave@dajobe.org>
45
46         * configure.in: Update the GENERIC_LIBRARY_VERSION correctly
47         Was: 1:0:0 in 1.2.4
48         current: interfaces were added, increment to 2
49         revision: set to zero since current was incremented
50         age: increment since interfaces were added
51         Changed to: 2:0:1
52
53 2007-06-14  Murray Cumming  <murrayc@murrayc.com>
54
55         * cairomm/refptr.h: Added RefPtr(object, refcount) constructor
56         for use in cast_*(), so that the casted RefPtr shares the same 
57         refcount, avoiding an early deletion. I do not like making 
58         this constructor public, but I do not see another way.
59
60 === 1.4.0 ===
61
62 2007-07-12  Jonathon Jongsma  <jjongsma@gnome.org>
63
64         * Makefile.am: add doc-publish target and make release-publish depend on
65         this.  This automatically uploads the new API documentation on release
66         * docs/reference/Makefile.am: upload the html documentation and a tarball of
67         the documentation to the cairographics.org site
68
69 2007-07-12  Jonathon Jongsma  <jjongsma@gnome.org>
70
71         * docs/reference/Makefile.am: hacky workaround to get distcheck to pass
72
73 2007-07-10  Jonathon Jongsma  <jjongsma@gnome.org>
74
75         * NEWS: Update NEWS for release
76         * configure.in: bump version for release
77
78 2007-07-10  Jonathon Jongsma  <jjongsma@gnome.org>
79
80         * cairomm/context.cc: add ability to use dynamic casting with the return
81         values from more functions, including:
82                 Context::get_target()
83                 Context::get_target() const
84                 Context::get_source()
85                 Context::get_source() const
86                 Context::get_group_target()
87                 Context::get_group_target() const
88                 Context::pop_group()
89         * tests/test-context.cc: a few additional tests to verify the const /
90         non-const versions both work with dynamic casting.
91
92 2007-07-10  Jonathon Jongsma  <jjongsma@gnome.org>
93
94         * docs/reference/cairomm.css: Improve the documentation style a little bit
95         to make it more readable
96         * docs/reference/Doxyfile.in: build the reference doc for the new
97         QuartzSurface class
98
99 2007-07-10  Jonathon Jongsma  <jjongsma@gnome.org>
100
101         * cairomm/context.cc:
102         * cairomm/context.h: add alternate API for set_dash() which takes a
103         std::vector argument instead of the slightly unexpected std::valarray
104         argument
105         * tests/test-context.cc: test that both API work correctly and compile
106         correctly without any problems
107
108 2007-07-04  Jonathon Jongsma  <jjongsma@gnome.org>
109
110         * tests/test-context.cc: add some tests for matrix transformations and
111         user-to-device coordinate mappings.  The matrix transformation 'test' does
112         nothing more than call the functions to excercise them a bit, but it's
113         causing an unexpected exception to be triggered when calling
114         Context::set_matrix().  The odd thing is that exception.what() results in
115         'success' being printed.  This requires further investigation
116         Also used BOOST_CHECK_EQUAL in most places instead of BOOST_CHECK to get
117         more meaningful failure messages.
118
119 2007-07-04  Jonathon Jongsma  <jjongsma@gnome.org>
120
121         * cairomm/private.cc: add missing 'break;' on the I/O error case statement
122
123 2007-07-04  Jonathon Jongsma  <jjongsma@gnome.org>
124
125         * cairomm/context.cc: when getting the source pattern of a Cairo::Context,
126         check which type of Pattern it is so that we create the correct C++ wrapper.
127         Without this, RefPtr<>::cast_dynamic() doesn't seem to work as we would
128         expect it to.
129         * tests/test-context.cc: improve the Context::get_source() /
130         Context::set_source () tests now that dynamic casting works correctly
131
132 2007-07-04  Jonathon Jongsma  <jjongsma@gnome.org>
133
134         * examples/pdf-surface/main.cc:
135         * examples/png_file/main.cc:
136         * examples/ps-surface/main.cc:
137         * examples/svg-surface/main.cc:
138         * examples/text-rotate/text-rotate.cc:
139         * tests/test-context.cc: fix a bunch of minor compile errors when compiling
140         with -Werror
141
142 2007-07-04  Jonathon Jongsma  <jjongsma@gnome.org>
143
144         * configure.in: enable extra compiler warnings and -Werror if the
145         CAIROMM_DEVEL environment variable is set to 'on'.  This caught the
146         following mistake.
147         * cairomm/pattern.cc: forgot to return the ColorStop vector
148
149 2007-07-04  Jonathon Jongsma  <jjongsma@gnome.org>
150
151         * cairomm/context.cc: fix a FIXME to match the style of
152         ScaledFont::glyph_extents since MSVC (and possibly other compilers) complain
153         when allocating an array on the stack and the size of the array is not a
154         compile-time constante
155
156 2007-04-16  Hugo Vincent  <hugo.vincent@gmail.com>
157
158         * Added QuartzSurface for MacOS X (when cairo is built with Quartz support),
159         similar to the existing Win32Surface and XlibSurface. These allow use of 
160         platform-specific features and data structures.
161
162 2007-03-23  Jonathon Jongsma  <jjongsma@gnome.org>
163
164         * Makefile.am:
165         * autogen.sh:
166         * configure.in:
167         * m4/ax_boost_base.m4:
168         * m4/ax_boost_unit_test_framework.m4: Add some basic test infrastructure.
169         It's disabled by default, and must be explicitly enabled by passing
170         --enable-tests to configure (or by setting the CAIROMM_DEVEL environment
171         variable to "on").  It uses the boost unit test framework, but this should
172         not be required unless you've explicitly enabled tests.  If tests are
173         enabled, you can easily run them with 'make check'
174         * tests/Makefile.am:
175         * tests/test-context.cc: added the beginning of a test for Cairo::Context.
176         Most of these tests are really very interesting.  Basically what I'm trying
177         to do is a) test some basic behaviors, and b) excercise the functionality a
178         little bit.  One of the tests currently fails due to a RefPtr::cast_dynamic
179         failure, so I have to see what's going on there.
180
181 2007-03-22  Murray Cumming  <murrayc@murrayc@murrayc.com>
182
183         * cairomm/enums.h: Restored FORMAT_RGB16_565 and marked it as deprecated.
184         Note that CAIRO_FORMAT_RGB16_565 has not really been removed from cairo. 
185         It has just moved from the enum to a #define in cairo-deprecated.
186         * cairomm/context.cc:
187         * cairomm/context.h: Made get_dash() const.
188         Renamed clip_extents() to get_clip_extents(), to match the other get_*_extents() methods
189         (in Context, if not in other classes), and made it const.
190         Made copy_clip_rectangle_list() const.
191         * cairomm/pattern.cc:
192         * cairomm/pattern.h: Make the RadialGradient::get_radial_circles(), LinearGradient::get_linear_points(), 
193         and Gradient::get_color_stops() methods const.
194         Added a non-const method overload of get_surface().
195         Correc the get_color_stops() implementation to match the declaration.
196
197 2007-03-22  Jonathon Jongsma  <jjongsma@gnome.org>
198
199         * cairomm/context.cc: Minor comment cleanups
200         * cairomm/pattern.cc: get the gradient stops by reference parameter instead
201         of returning by value.  This saves an extra copy of the vector.
202
203 2007-03-21  Jonathon Jongsma  <jjongsma@gnome.org>
204
205         * cairomm/context.cc:
206         * cairomm/context.h:
207         * cairomm/enums.h:
208         * cairomm/pattern.cc:
209         * cairomm/pattern.h:
210         * configure.in: Add initial support for new cairo 1.4.x API.  It will
211         probably still need quite a bit of work, but I wanted to commit what I have
212         now so that it doesn't keep sitting in my working directory.
213         (Extra note from Murray:
214         This was:
215         - Pattern::create_rgba() - a new method overload with 4 args, including alpha.
216         - SurfacePattern::get_surface()
217         - Gradient::get_color_stops() (with a new ColorStop struct)
218         - LinearGradient::get_linear_points()
219         - RadialGradient::get_radial_circles()
220         - Context::clip_extents()
221         - Context::copy_clip_rectangle_list()
222         - Context::get_dash()
223         - SURFACE_TYPE_OS2 was added
224         - FORMAT_RGB16_565 was removed (but that is not allowed, so I'll fix that.)
225
226 2007-02-01  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
227
228         * configure.in: Fixes for building on Cygwin from
229         yselkowitz@users.sourceforge.net.  Closes bug #9726
230
231 2007-01-28  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
232
233         * configure.in: bump rev to 1.2.5
234
235 2007-01-28  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
236
237         * docs/reference/Doxyfile.in: fixes building the cairomm documentation where
238         builddir != srcdir.  Patch from yselkowitz@users.sourceforge.net for bug
239         #9727
240
241 1.2.4:
242
243 2007-01-17  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
244
245         * NEWS: updated news for 1.2.4 release
246         * configure.in: bumped version to 1.2.4
247
248 2006-09-27  Murray Cumming  <murrayc@murrayc.com>
249
250         * cairomm/refptr.h: cast_static() and cast_dynamic(): 
251         Use the refcount_() accessor instead of the member variable, 
252         to avoid compilation errors, as we already do in the 
253         templated copy constructor.
254
255 1.2.2:
256
257 2006-08-21  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
258
259         * NEWS: update for 1.2.2
260         * configure.in: bump to next even number (1.2.2)
261
262 2006-08-21  Cedric Gustin  <cedric.gustin@gmail.com>
263
264         * cairomm/win32_surface.cc: Explicitly cast Cairo::Format to
265         cairo_format_t.
266         
267 2006-08-20  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
268
269         * Makefile.am: fix up the release announcement template to explain what
270         cairomm is at the top of the email before telling where to get it.
271         * configure.in: post-release bump (1.2.1)
272
273 1.2.0:
274
275 2006-08-20  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
276
277         * NEWS: Update information about new stuff in 1.2.0
278         * configure.in: bump the release version number to 1.2.0 and the shared
279         library version number to 1:0:0 since interfaces were changed and added and
280         we're now guaranteeing API/ABI stability
281
282 2006-08-20  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
283
284         * examples/pdf-surface/.cvsignore:
285         * examples/png_file/.cvsignore:
286         * examples/ps-surface/.cvsignore:
287         * examples/svg-surface/.cvsignore: added image files produced by the example
288         programs to .cvsignore
289
290 2006-08-19  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
291
292         * Makefile.am: get rid of the concept of a snapshot.  It doesn't really make
293         that much sense for cairomm, honestly, since we're just a simple wrapper
294         library.
295
296 2006-08-19  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
297
298         * MSVC/examples/.cvsignore:
299         * MSVC/examples/Makefile.am:
300         * MSVC/examples/pdf-surface/.cvsignore:
301         * MSVC/examples/pdf-surface/Makefile.am:
302         * MSVC/examples/pdf-surface/pdf-surface.vcproj:
303         * MSVC/examples/png_file/.cvsignore:
304         * MSVC/examples/png_file/Makefile.am:
305         * MSVC/examples/png_file/png_file.vcproj:
306         * MSVC/examples/ps-surface/.cvsignore:
307         * MSVC/examples/ps-surface/Makefile.am:
308         * MSVC/examples/ps-surface/ps-surface.vcproj:
309         * MSVC/examples/svg-surface/.cvsignore:
310         * MSVC/examples/svg-surface/Makefile.am:
311         * MSVC/examples/svg-surface/svg-surface.vcproj:
312         * MSVC/examples/text-rotate/.cvsignore:
313         * MSVC/examples/text-rotate/Makefile.am:
314         * MSVC/examples/text-rotate/text-rotate.vcproj:
315         * MSVC/gendef/.cvsignore:
316         * MSVC/gendef/Makefile.am:
317         * MSVC/gendef/gendef.cc:
318         * MSVC/gendef/gendef.vcproj: added a bunch of MSVC / windows-specific things
319         that got missed last time.
320
321 2006-08-18  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
322
323         * cairomm/win32_surface.cc:
324         * cairomm/win32_surface.h: add some missing win32 API that I had overlooked:
325         cairo_win32_surface_get_dc() and cairo_win32_surface_create_with_dib(),
326         updated documentation for standard Win32Surface::create() function.
327
328 2006-08-18  Cedric Gustin  <cedric.gustin@gmail.com>
329
330         * cairomm/context.cc: Define M_PI for MSVC.
331         * cairomm/scaledfont.cc: Allocate glyph_array as a synamic array
332         as MSVC does not like non-const arguments as array size.
333         * examples/pdf-surface/main.cc, examples/png_file/main.cc,
334         examples/ps-surface/main.cc, examples/svg-surface/main.cc,
335         examples/text-rotate/text-rotate.cc: Define M_PI for MSVC. 
336         * configure.in, Makefile.am: Generate Makefiles in the MSVC
337         subdirectories.  
338         * .cvsignore: Added Eclipse .project to the list of ignored files.
339         * MSVC/*: Added project and resource files for Visual Studio 2005.
340         
341 2006-08-18  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
342
343         * cairomm/context.cc:
344         * cairomm/context.h: API CHANGE: some API was changed to maintain a closer
345         similarity to the underlying cairo API (while also attempting to avoid
346         confusion with the C++ 'new' keyword) in preparation for freezing the
347         cairomm API.  Two functions are affected:
348                 - Context::clear_path() -> Context::begin_new_path()
349                 - Context::new_sub_path() -> Context::begin_new_sub_path()
350         * configure.in: bump the libtool version to indicate API change
351
352 2006-08-15  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
353
354         * cairomm/context.cc: remove another TODO.  I looked at cairo_append_path,
355         and it just copies the data from the supplied path and appends that to the
356         current path -- it doesn't modify the passed in path -- so it can stay
357         const.
358
359 2006-08-15  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
360
361         * cairomm/context.h: remove a FIXME that was resolved on the mailing list
362
363 2006-07-11  Murray Cumming  <murrayc@murrayc.com>
364
365         * cairomm/refptr.h: unref(): Only delete the refcount int when the refcount has         
366         reached 0, instead of deleting it every time. Thanks valgrind.
367
368 2006-07-11  Murray Cumming  <murrayc@murrayc.com>
369
370         * cairomm/refptr.h: From-C-object Constructor: Added documentation explaining 
371         how/when to use it and when to do an extra reference(). This will help us, 
372         though it should rarely be necessary for an application developer to understand 
373         it.
374         Made pCppRefcount_ mutable, so that refcount_() can be a const method so that 
375         the templated constructor compiles.
376         Added class documentation to explain why we even want to use this class.
377
378 2006-07-05  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
379
380         * cairomm/refptr.h: copy constructors: initialize the pCppRefcount_ member 
381         variable, using a public refcount_() method when necessary to access a 
382         different RefPtr<> specialization.
383
384 2006-07-11  Murray Cumming  <murrayc@murrayc.com>
385
386         * cairomm/refptr.h: Use an int to reference-count the C++ object, and 
387         only reference/unreference the object (and hence the underlying C object) 
388         when receiving/deleting the C++ object. Without this, we never delete 
389         the C++ object. Fixes bug #7442.
390
391 2006-07-09  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
392
393         * NEWS: add NEWS for 1.1.10 release
394         * configure.in: bump version to 1.1.12
395
396 2006-07-05  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
397
398         * Makefile.am: Ooops, I had accidentally removed dependency info for
399         release-publish target
400
401 2006-07-05  Murray Cumming  <murrayc@murrayc.com>
402
403         * cairomm/context.h:
404         * cairomm/fontface.h:
405         * cairomm/pattern.h:
406         * cairomm/surface.cc:
407         * cairomm/surface.h:
408         * cairomm/xlib_surface.cc:
409         * cairomm/xlib_surface.h: Fix the generic text about reference-counted 
410         objects, because we no longer use copy constructors for this. And some 
411         pedantic white space changes.
412
413 2006-07-05  Murray Cumming  <murrayc@murrayc.com>
414
415         * cairomm/scaledfont.cc:
416         * cairomm/scaledfont.h: create(): Make the font_matrix and ctm 
417         parameters const (they are now const in the C API too). Maybe the font 
418         parameter should be const, but maybe there is a reason that it is not 
419         const in the C API. Pass FontOptions by const reference instead of 
420         by value.
421         glyph_extents(): Pass the vector by const reference instead of by 
422         value.
423         I would prefere to make all the extents() functions use return values 
424         instead of output parameters, but I suppose this might be slightly 
425         less efficient in some circumstances.
426
427 2006-07-05  Murray Cumming  <murrayc@murrayc.com>
428
429         * cairomm/cairomm.h:
430         * cairomm/context.h:
431         * cairomm/path.h:
432         * cairomm/scaledfont.h:
433         * cairomm/surface.h:
434         * cairomm/win32_surface.h:
435         * cairomm/xlib_surface.h: Use @ instead of \ for doxygen 
436         commands, to be consistent with gtkmm, which uses it because it is the 
437         same as JavaDoc, with which some people are already familiar.
438
439 2006-07-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
440
441         * Makefile.am: add ability to do snapshot releases to the
442         cairographics.org/snapshots/ directory in addition to official releases
443         * configure.in: bumped the revision to 1.1.10 in preparation for a snapshot
444         release of the 1.2 API
445         * docs/reference/Makefile.am: fixed some distcheck errors
446
447 2006-07-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
448
449         * .cvsignore, cairomm/.cvsignore: ignore some autotools files and *.swp
450         files (from vim)
451
452 2006-07-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
453
454         * cairomm/scaledfont.cc, cairomm/scaledfont.h: wrap ScaledFont, including
455         new API for cairo 1.2
456         * cairomm/Makefile.am: add scaledfont.* to list of sources
457
458 2006-07-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
459
460         * cairomm/surface.h: Remove comments stating that PDF, PS, and SVG are
461         experimental surfaces.  As of 1.2.0, these three surfaces are officially
462         supported by the cairo library.
463
464 2006-07-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
465
466         * cairomm/xlib_surface.h: add a bit more documentation for the new
467         XlibSurface API
468
469 2006-07-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
470
471         * cairomm/surface.cc, cairomm/surface.h: added SvgSurface::get_versions()
472         and SvgSurface::version_to_string() API.  They're implemented as static
473         members right now.
474
475 2006-06-30  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
476
477         * configure.in: bumped cairomm version to 0.7.0 and bumped cairo requirement
478         to 1.2.0
479
480 2006-06-30  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
481
482         * cairomm/xlib_surface.cc, cairomm/xlib_surface.h: add new get_height() and
483         get_width() API to XlibSurface
484
485 2006-06-27  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
486
487         * cairomm/enums.h: Added enum types to support the new get_type() and SVG
488         Version API 
489         * cairomm/fontface.cc, cairomm/fontface.h: add new get_type() API
490         * cairomm/pattern.cc, cairomm/pattern.h: add new get_type() API
491         * cairomm/surface.cc, cairomm/surface.h: add new get_type() API and
492         SvgSurface::restrict_to_version() API
493
494 2006-06-26  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
495
496         * cairomm/surface.cc, cairomm/surface.h: add new PsSurface and PdfSurface
497         API: set_size, dsc_comment, dsc_begin_setup, dsc_begin_page_setup
498         * cairomm/xlib_surface.cc, cairomm/xlib_surface.h: add new XlibSurface API:
499         get_display, get_drawable, get_screen, get_visual, get_depth
500
501 2006-06-26  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
502
503         * cairomm/surface.cc:
504         * cairomm/surface.h: Added new Surface and ImageSurface API from 1.1.x
505         snapshots
506
507 2006-06-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
508
509         * cairomm/context.cc:
510         * cairomm/context.h: added Context::new_sub_path() and new push/pop group
511         API.
512
513 2006-06-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
514
515         * cairomm/enums.h: fix stupid error from last commit
516
517 2006-06-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
518
519         * cairomm/enums.h: add new FORMAT_RGB16_565 format
520
521 2006-06-12  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
522
523         * configure.in: bump required cairo version to >= 1.1.7
524         * cairomm/surface.cc, cairomm/surface.h: update to new cairo API
525         cairo_surface_set_fallback_resolution
526
527 2006-05-10  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
528
529         * docs/reference/cairomm.css: minor documentation stylesheet fix
530
531 2006-05-08  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
532
533         * cairomm/context.h:
534         * cairomm/path.h: added some preliminary documentation explaining that the
535         caller is responsible for freeing Path objects returned from
536         Context::copy_path() and Context::copy_path_flat().
537
538 2006-05-08  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
539
540         * cairomm/cairomm.h: Add doxygen API introduction test here.
541         * docs/reference/Doxyfile.in: 
542         * docs/reference/Makefile.am:
543         * docs/reference/cairomm-header.html:
544         * docs/reference/cairomm.css:
545         * docs/reference/introduction.h: fix up some documentation presentation
546         issues that turned up with newer versions of doxygen.
547
548 2006-05-08  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
549
550         * configure.in: remove check for perl since we're not using any of the
551         gmmproc stuff for cairomm
552         * docs/reference/Makefile.am: add documentation dependency on all of the
553         headers in the cairomm/ directory so that if a header changes the
554         documentation will be rebuilt.
555
556 2006-04-20  Murray Cumming  <murrayc@murrayc.com>
557
558         * cairomm/context.cc:
559         * cairomm/context.h: mask(pattern) and mask(surface): Make the parameter 
560         const, because I am fairly sure that the C function does not change it.
561
562 2006-04-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
563
564         * Makefile.am: Add a brief description of cairomm to the release
565         announcement template
566
567 2006-04-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
568
569         * docs/reference/Doxyfile.in:
570         * docs/reference/Makefile.am: A couple minor build fixes to make distcheck
571         happy
572
573 2006-04-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
574
575         * NEWS: add news for 0.6.0 release
576         * configure.in: bump version to 0.6.0
577
578 2006-04-03  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
579
580         * examples/text-rotate/text-rotate.cc: protect PNG functions with #ifdef in
581         case cairo wasn't compiled with PNG support
582
583 2006-03-31  Danilo Piazzalunga  <danilopiazza@gmail.com>
584
585         * Makefile.am:
586         * docs/Makefile.am:
587         * docs/reference/Makefile.am: add convenience targets for cleaning and
588         rebuilding documentation (doc-clean and doc-rebuild).
589
590 2006-03-30  Danilo Piazzalunga  <danilopiazza@gmail.com>
591
592         * configure.in: enable documentation even if doxygen and/or graphviz
593         are missing, so the docs will be installed when building a release.
594         * docs/reference/Makefile.am: don't remove html directory with `make clean`,
595         so that users of the tarball releases don't destroy the pre-built
596         documentation when running make clean. Change to maintainer-clean
597
598 2006-03-29  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
599
600         * configure.in: added tests for doxygen and graphviz which displays a
601         warning if the user has --enable-docs set but doesn't have doxygen or
602         graphviz installed.  
603
604 2006-03-28  Danilo Piazzalunga  <danilopiazza@gmail.com>
605
606         * cairomm/enums.h: Stop using CAIRO_EXTEND_PAD, as it only exists
607         in the 1.1.1 development branch.
608
609 2006-03-14  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
610
611         * configure.in:
612         * examples/Makefile.am:
613         * examples/text-rotate/.cvsignore:
614         * examples/text-rotate/Makefile.am:
615         * examples/text-rotate/text-rotate.cc: Added another basic example,
616         borrowed from a test-case in cairo.  This one is just a simple example of
617         using text in cairomm
618
619 2006-03-14  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
620
621         * cairomm/fontface.h:
622         * cairomm/fontoptions.h:
623         * cairomm/path.h:
624         * cairomm/pattern.h: include <cairo.h> instead of <cairo/cairo.h> since it
625         didn't want to compile on windows without these
626         * cairomm/win32_surface.cc:
627         * cairomm/win32_surface.h: Move the include of cairo-win32.h from the
628         source file to the header since the declaration of create() needs the HDC
629         type definition.
630         With these changes, cairomm should compile the Win32Surface cleanly with
631         mingw on Microsoft Windows
632
633 2006-03-12  Danilo Piazzalunga  <danilopiazza@gmail.com>
634
635         * autogen.sh: Allow overriding aclocal, automake, autoconf and libtoolize
636         using environment variables. Taken from cairo's autogen.sh.
637
638 2006-03-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
639
640         * cairomm/*.cc, *.h: add vim modelines to set proper indentation for
641         cairomm when using vim
642
643 2006-02-28  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
644
645         * cairomm/context.cc:
646         * cairomm/context.h:
647         * cairomm/enums.h:
648         * cairomm/fontoptions.cc:
649         * cairomm/fontoptions.h:
650         * cairomm/pattern.cc:
651         * cairomm/pattern.h:
652         * cairomm/surface.h: wrapped all of the enum types with cairomm
653         types within the Cairo namespace, so now (for example) the values for
654         Cairo::Format are something like Cairo::FORMAT_ARGB32 instead of the base
655         cairo types like CAIRO_FORMAT_ARGB_32.
656         * examples/png_file/main.cc: fixed example to work with the new namespaced
657         enum types
658
659 2006-02-27  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
660
661         * cairomm/exception.h:
662         * docs/reference/Doxyfile.in:
663         * docs/reference/Makefile.am: hide some of the private types and functions
664         from the Doxygen API reference documentation
665
666 2006-02-27  Stefan Kersten  <steve@k-hornz.de>
667
668         * cairomm/surface.cc: fix an extra trailing parentheses in
669         GlitzSurface::create()
670
671 2006-02-22  Danilo Piazzalunga  <danilopiazza@gmail.com>
672
673         * examples/README: Write some basic information about each example
674
675 2006-02-22  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
676
677         * docs/reference/Makefile.am: add target for publishing the API reference
678         to cairographics.org
679
680 2006-02-20  Danilo Piazzalunga  <danilopiazza@gmail.com>
681
682         * Makefile.am: Include MAINTAINERS in distribution. Fixes Bug #5982
683
684 2006-02-17  Danilo Piazzalunga  <danilopiazza@gmail.com>
685
686         * COPYING: Use the text from the Library GPL 2.0, which is the actual
687         license of cairomm. Fixes Bug #5934
688
689 2006-02-17  Danilo Piazzalunga  <danilopiazza@gmail.com>
690
691         * autogen.sh:
692         * cairomm/cairomm.h:
693         * cairomm/context.cc:
694         * cairomm/context.h:
695         * cairomm/enums.h:
696         * cairomm/exception.cc:
697         * cairomm/exception.h:
698         * cairomm/fontface.cc:
699         * cairomm/fontface.h:
700         * cairomm/fontoptions.cc:
701         * cairomm/fontoptions.h:
702         * cairomm/path.cc:
703         * cairomm/path.h:
704         * cairomm/pattern.cc:
705         * cairomm/pattern.h:
706         * cairomm/private.cc:
707         * cairomm/private.h:
708         * cairomm/refptr.h:
709         * cairomm/surface.cc:
710         * cairomm/surface.h:
711         * cairomm/win32_surface.cc:
712         * cairomm/win32_surface.h:
713         * cairomm/xlib_surface.cc:
714         * cairomm/xlib_surface.h: Update FSF's postal address in GPL/LGPL
715         comment headings.  Fixes Bug #5933
716
717 2006-02-17  Danilo Piazzalunga  <danilopiazza@gmail.com>
718
719         * examples/*/.cvsignore: Bug #5927: added .cvsignore files to examples
720         directories
721
722 2006-02-17  Danilo Piazzalunga  <danilopiazza@gmail.com>
723
724         * AUTHORS:
725         * INSTALL:
726         * README:
727         * cairomm/exception.cc:
728         * cairomm/exception.h: Remove lingering references to libxml++
729
730 2006-02-17  Danilo Piazzalunga  <danilopiazza@gmail.com>
731
732         * configure.in: Bug #5929: Output files in docs subdir only if
733         --enable-docs is set.  This prevents configure from generating files which
734         are not cleaned up when --disable-docs is used.
735         Use AC_CONFIG_FILES and AC_OUTPUT as recommended.
736
737 2006-02-16  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
738
739         * docs/reference/Doxyfile.in:
740         * docs/reference/cairomm.css: added some style customisations to the API
741         doc so that it fits in with the overall Cairo style a bit better
742
743 2006-02-16  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
744
745         * AUTHORS:
746         * MAINTAINERS: Add my information to the Maintainers and authors file
747
748 0.5.0:
749
750 2006-02-09  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
751
752         * docs/reference/Makefile.am: added a 'html' target to satisfy the dist
753         rule
754
755 2006-02-08  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
756
757         * cairomm/context.h: Added a lot of documentation for the Cairo::Context
758         class taken from the cairo docs.  It's not complete, but the basics are all
759         covered now. 
760         * docs/reference/Makefile.am: make use of existing Makefile variable
761         * NEWS: update for 0.5.0 release
762
763 2006-02-07  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
764
765         * Makefile.am: add docs/ subdir
766         * configure.in: added an --enable-docs switch to the configure script
767         (enabled by default), and added AC_OUTPUT directives for the documentation
768         Makefiles, etc.
769         * docs/.cvsignore:
770         * docs/Makefile.am:
771         * docs/reference/.cvsignore:
772         * docs/reference/Doxyfile.in:
773         * docs/reference/Makefile.am:
774         * docs/reference/introduction.h: Added infrastructure to build and install
775         the API documentation for cairomm (based on libxml++ makefiles).  
776
777 2006-01-27  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
778
779         * .cvsignore:
780         * cairomm/.cvsignore: update .cvsignore files
781         * cairomm/surface.cc:
782         * cairomm/surface.h: change Surface::create function to take a
783         RefPtr<Surface> instead of Surface&
784
785 2006-01-27  Murray Cumming  <murrayc@murrayc.com>
786
787         * examples/pdf-surface/Makefile.am: Remove extra LDADD that was breaking 
788         the distcheck.
789
790 2006-01-26  Murray Cumming  <murrayc@murrayc.com>
791
792         * examples/ps-surface/main.cc:
793         * examples/svg-surface/main.cc: Correct the text of the messages.
794
795 2006-01-25  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
796
797         * configure.in:
798         * examples/Makefile.am: 
799         * examples/pdf-surface/: 
800         * examples/ps-surface/: 
801         * examples/svg-surface/: add examples for additional surfaces
802
803 2006-01-24  Murray Cumming  <murrayc@murrayc.com>
804
805         * cairomm/Makefile.am:
806         * cairomm/surface.cc:
807         * cairomm/surface.h:
808         * cairomm/xlib_surface.cc:
809         * cairomm/xlib_surface.h:
810         * cairomm/win32_surface.cc:
811         * cairomm/win32_surface.h: Moved XlibSurface and 
812         Win32Surface into separate files, not #included by 
813         the main cairomm.h file, so that developers do not need to 
814         suffer the Xlib.h or Windows namespace pollution unless they really need to. 
815         For instance, this fixes the gtkmm 2.9 build which was broken by the 
816         Display struct in Xlib.h.
817
818 2006-01-15  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
819
820         * cairomm/surface.cc:
821         * cairomm/surface.h: backwards-incompatible API change for the Surface
822         types.  Cairo::Surface is now a base class for all of the other surface
823         types, and should not be used directly.  New Surface types include
824         ImageSurface, XlibSurface, Win32Surface, PdfSurface, PsSurface,
825         SvgSurface, and GlitzSurface.  
826         Modified Surface::write_to_png() and Surface::write_to_png_stream() so
827         that they throw exceptions like the other functions instead of returning a
828         cairo_status_t value.
829         Added API documentation for all Surface classes and all member functions
830         of the Surface class heirarchy.
831         * examples/png_file/Makefile.am: added generated PNG file to CLEANFILES
832         * examples/png_file/main.cc: updated the PNG example to use the new
833         ImageSurface class instead of using the Surface class directly.
834         * cairomm/*: Renamed the Cairo::Status type to Cairo::ErrorStatus since it
835         conflicts with a #define Status in XLib and is not used exposed in the API
836         anyway.
837
838 2006-01-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
839
840         * cairomm/surface.cc:
841         * cairomm/surface.h: Added implementation of write_to_png() and
842         write_to_png_stream() when PNG support is available in the base cairo
843         library
844         * examples/png_file/*: Added an example of creating an image surface and
845         saving it to a png image file
846         * examples/Makefile.am: add new example directory to SUBDIRS list
847         * configure.in: added output declaration for examples/png_file/Makefile
848         * examples/makefile.am_fragment: fix leftover libxml boilerplate
849
850 2006-01-03  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
851
852         * cairomm/surface.cc: added missing implementations for reference() and
853         unreference() functions
854
855 0.4.0:
856
857 2005-12-17  Murray Cumming  <murrayc@murrayc.com>
858
859         * cairomm/Makefile.am:
860         * cairomm/refptr.h: Add shared 
861         reference-counting smartpointer, using 
862         the reference-count in the object. A copy 
863         of the tried and tested glibmm RefPtr.
864         * cairomm/context.cc:
865         * cairomm/context.h:
866         * cairomm/fontface.cc:
867         * cairomm/fontface.h:
868         * cairomm/pattern.cc:
869         * cairomm/pattern.h:
870         * cairomm/surface.cc:
871         * cairomm/surface.h: Make constructors protected 
872         and add public static create() methods that return 
873         instances in RefPtr<>s. This allows reference-counted 
874         objects to be clearly const or non-const, and allows 
875         casting between related types.
876
877 2005-12-17  Murray Cumming  <murrayc@murrayc.com>
878
879         * cairomm/context.cc:
880         * cairomm/context.h: Change set_dash(void) to 
881         unset_dash(). Change rotate_deg() to 
882         rotate_degrees(). Change identity_matrix() to 
883         set_identity_matrix(). Change new_path() to 
884         clear_path().
885         * cairomm/fontface.cc:
886         * cairomm/fontface.h: Comment-out 
887         get/set_user_data(), because it seems useless.
888
889 0.3.0:
890
891 2005-12-08  Murray Cumming <murrayc@murrayc.com>
892
893         * cairomm/pattern.cc:
894         * cairomm/pattern.h: Create a hierarchy of pattern 
895         classes, as suggested by the C documentation, because 
896         not all functions are meaningful for all pattern types.
897
898 2005-12-07  Murray Cumming <murrayc@murrayc.com>
899
900         * cairomm/context.cc:
901         * cairomm/context.h: font_extents(), stroke_extents(), 
902         glyph_extents(), fill_extents(): Add get_ prefix and    
903         make them const.
904
905 2005-12-07  Murray Cumming <murrayc@murrayc.com>
906
907         * cairomm/context.cc:
908         * cairomm/context.h: Add typedef for Matrix, though we 
909         probably want to derive a class with a C++-like matrix 
910         API, with operator overloading.
911
912 2005-12-07  Murray Cumming <murrayc@murrayc.com>
913
914         * cairomm/exception.cc:
915         * cairomm/exception.h: Rename to logic_error, because 
916         the cairo documentation says that most of them are 
917         programming errors, not runtime errors. Derive from 
918         std::logic_error because of this.
919         * cairomm/private.cc:
920         * cairomm/private.h: Throw std::bad_alloc for memory 
921         errors, and std::io_base::failure for read/write runtime 
922         errors, as suggested by the cairo language-binding 
923         documentation.
924
925 2005-12-07  Murray Cumming <murrayc@murrayc.com>
926
927         * cairomm/context.cc:
928         * cairomm/fontoptions.cc:
929         * cairomm/surface.cc: Check for errors in 
930         constructors, as per the error-handling advice in the 
931         language bindings section of the cairo documentation.
932
933 2005-12-07  Murray Cumming <murrayc@murrayc.com>
934
935         * cairomm/context.cc:
936         * cairomm/context.h: Change mask_surface() to 
937         mask() and set_source_surface() to set_source(), 
938         as per the method overloading advice in the 
939         language bindings section of the cairo documentation.
940
941 0.2.0:
942
943 2005-12-02  Murray Cumming <murrayc@murrayc.com>
944
945         * cairomm/cairomm.h: Put sensible stuff in here, 
946         instead of my copy/paste stuff from libxml++.
947         * cairomm/context.cc:
948         * cairomm/context.h:
949         * cairomm/enums.h:
950         * cairomm/exception.cc:
951         * cairomm/exception.h:
952         * cairomm/fontface.cc:
953         * cairomm/fontface.h:
954         * cairomm/fontoptions.cc:
955         * cairomm/fontoptions.h:
956         * cairomm/path.cc:
957         * cairomm/path.h:
958         * cairomm/pattern.cc:
959         * cairomm/pattern.h:
960         * cairomm/private.cc:
961         * cairomm/private.h:
962         * cairomm/surface.cc:
963         * cairomm/surface.h: Add LGPL comment headings.
964