summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: c1fdfe67aebd254bb623aa26b3d38bae2cbac651 (plain)
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
=== 1.4.0 ===

2007-07-12  Jonathon Jongsma  <jjongsma@gnome.org>

	* docs/reference/Makefile.am: hacky workaround to get distcheck to pass

2007-07-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* NEWS: Update NEWS for release
	* configure.in: bump version for release

2007-07-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* cairomm/context.cc: add ability to use dynamic casting with the return
	values from more functions, including:
		Context::get_target()
		Context::get_target() const
		Context::get_source()
		Context::get_source() const
		Context::get_group_target()
		Context::get_group_target() const
		Context::pop_group()
	* tests/test-context.cc: a few additional tests to verify the const /
	non-const versions both work with dynamic casting.

2007-07-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* docs/reference/cairomm.css: Improve the documentation style a little bit
	to make it more readable
	* docs/reference/Doxyfile.in: build the reference doc for the new
	QuartzSurface class

2007-07-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* cairomm/context.cc:
	* cairomm/context.h: add alternate API for set_dash() which takes a
	std::vector argument instead of the slightly unexpected std::valarray
	argument
	* tests/test-context.cc: test that both API work correctly and compile
	correctly without any problems

2007-07-04  Jonathon Jongsma  <jjongsma@gnome.org>

	* tests/test-context.cc: add some tests for matrix transformations and
	user-to-device coordinate mappings.  The matrix transformation 'test' does
	nothing more than call the functions to excercise them a bit, but it's
	causing an unexpected exception to be triggered when calling
	Context::set_matrix().  The odd thing is that exception.what() results in
	'success' being printed.  This requires further investigation
	Also used BOOST_CHECK_EQUAL in most places instead of BOOST_CHECK to get
	more meaningful failure messages.

2007-07-04  Jonathon Jongsma  <jjongsma@gnome.org>

	* cairomm/private.cc: add missing 'break;' on the I/O error case statement

2007-07-04  Jonathon Jongsma  <jjongsma@gnome.org>

	* cairomm/context.cc: when getting the source pattern of a Cairo::Context,
	check which type of Pattern it is so that we create the correct C++ wrapper.
	Without this, RefPtr<>::cast_dynamic() doesn't seem to work as we would
	expect it to.
	* tests/test-context.cc: improve the Context::get_source() /
	Context::set_source () tests now that dynamic casting works correctly

2007-07-04  Jonathon Jongsma  <jjongsma@gnome.org>

	* examples/pdf-surface/main.cc:
	* examples/png_file/main.cc:
	* examples/ps-surface/main.cc:
	* examples/svg-surface/main.cc:
	* examples/text-rotate/text-rotate.cc:
	* tests/test-context.cc: fix a bunch of minor compile errors when compiling
	with -Werror

2007-07-04  Jonathon Jongsma  <jjongsma@gnome.org>

	* configure.in: enable extra compiler warnings and -Werror if the
	CAIROMM_DEVEL environment variable is set to 'on'.  This caught the
	following mistake.
	* cairomm/pattern.cc: forgot to return the ColorStop vector

2007-07-04  Jonathon Jongsma  <jjongsma@gnome.org>

	* cairomm/context.cc: fix a FIXME to match the style of
	ScaledFont::glyph_extents since MSVC (and possibly other compilers) complain
	when allocating an array on the stack and the size of the array is not a
	compile-time constante

2007-04-16  Hugo Vincent  <hugo.vincent@gmail.com>

	* Added QuartzSurface for MacOS X (when cairo is built with Quartz support),
	similar to the existing Win32Surface and XlibSurface. These allow use of 
	platform-specific features and data structures.

2007-03-23  Jonathon Jongsma  <jjongsma@gnome.org>

	* Makefile.am:
	* autogen.sh:
	* configure.in:
	* m4/ax_boost_base.m4:
	* m4/ax_boost_unit_test_framework.m4: Add some basic test infrastructure.
	It's disabled by default, and must be explicitly enabled by passing
	--enable-tests to configure (or by setting the CAIROMM_DEVEL environment
	variable to "on").  It uses the boost unit test framework, but this should
	not be required unless you've explicitly enabled tests.  If tests are
	enabled, you can easily run them with 'make check'
	* tests/Makefile.am:
	* tests/test-context.cc: added the beginning of a test for Cairo::Context.
	Most of these tests are really very interesting.  Basically what I'm trying
	to do is a) test some basic behaviors, and b) excercise the functionality a
	little bit.  One of the tests currently fails due to a RefPtr::cast_dynamic
	failure, so I have to see what's going on there.

2007-03-22  Murray Cumming  <murrayc@murrayc@murrayc.com>

	* cairomm/enums.h: Restored FORMAT_RGB16_565 and marked it as deprecated.
	Note that CAIRO_FORMAT_RGB16_565 has not really been removed from cairo. 
	It has just moved from the enum to a #define in cairo-deprecated.
	* cairomm/context.cc:
	* cairomm/context.h: Made get_dash() const.
	Renamed clip_extents() to get_clip_extents(), to match the other get_*_extents() methods
	(in Context, if not in other classes), and made it const.
	Made copy_clip_rectangle_list() const.
	* cairomm/pattern.cc:
	* cairomm/pattern.h: Make the RadialGradient::get_radial_circles(), LinearGradient::get_linear_points(), 
	and Gradient::get_color_stops() methods const.
	Added a non-const method overload of get_surface().
	Correc the get_color_stops() implementation to match the declaration.

2007-03-22  Jonathon Jongsma  <jjongsma@gnome.org>

	* cairomm/context.cc: Minor comment cleanups
	* cairomm/pattern.cc: get the gradient stops by reference parameter instead
	of returning by value.  This saves an extra copy of the vector.

2007-03-21  Jonathon Jongsma  <jjongsma@gnome.org>

	* cairomm/context.cc:
	* cairomm/context.h:
	* cairomm/enums.h:
	* cairomm/pattern.cc:
	* cairomm/pattern.h:
	* configure.in: Add initial support for new cairo 1.4.x API.  It will
	probably still need quite a bit of work, but I wanted to commit what I have
	now so that it doesn't keep sitting in my working directory.
	(Extra note from Murray:
	This was:
	- Pattern::create_rgba() - a new method overload with 4 args, including alpha.
	- SurfacePattern::get_surface()
	- Gradient::get_color_stops() (with a new ColorStop struct)
	- LinearGradient::get_linear_points()
	- RadialGradient::get_radial_circles()
	- Context::clip_extents()
	- Context::copy_clip_rectangle_list()
	- Context::get_dash()
	- SURFACE_TYPE_OS2 was added
	- FORMAT_RGB16_565 was removed (but that is not allowed, so I'll fix that.)

2007-02-01  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* configure.in: Fixes for building on Cygwin from
	yselkowitz@users.sourceforge.net.  Closes bug #9726

2007-01-28  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* configure.in: bump rev to 1.2.5

2007-01-28  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* docs/reference/Doxyfile.in: fixes building the cairomm documentation where
	builddir != srcdir.  Patch from yselkowitz@users.sourceforge.net for bug
	#9727

1.2.4:

2007-01-17  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* NEWS: updated news for 1.2.4 release
	* configure.in: bumped version to 1.2.4

2006-09-27  Murray Cumming  <murrayc@murrayc.com>

	* cairomm/refptr.h: cast_static() and cast_dynamic(): 
	Use the refcount_() accessor instead of the member variable, 
	to avoid compilation errors, as we already do in the 
	templated copy constructor.

1.2.2:

2006-08-21  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* NEWS: update for 1.2.2
	* configure.in: bump to next even number (1.2.2)

2006-08-21  Cedric Gustin  <cedric.gustin@gmail.com>

	* cairomm/win32_surface.cc: Explicitly cast Cairo::Format to
	cairo_format_t.
	
2006-08-20  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* Makefile.am: fix up the release announcement template to explain what
	cairomm is at the top of the email before telling where to get it.
	* configure.in: post-release bump (1.2.1)

1.2.0:

2006-08-20  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* NEWS: Update information about new stuff in 1.2.0
	* configure.in: bump the release version number to 1.2.0 and the shared
	library version number to 1:0:0 since interfaces were changed and added and
	we're now guaranteeing API/ABI stability

2006-08-20  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* examples/pdf-surface/.cvsignore:
	* examples/png_file/.cvsignore:
	* examples/ps-surface/.cvsignore:
	* examples/svg-surface/.cvsignore: added image files produced by the example
	programs to .cvsignore

2006-08-19  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* Makefile.am: get rid of the concept of a snapshot.  It doesn't really make
	that much sense for cairomm, honestly, since we're just a simple wrapper
	library.

2006-08-19  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* MSVC/examples/.cvsignore:
	* MSVC/examples/Makefile.am:
	* MSVC/examples/pdf-surface/.cvsignore:
	* MSVC/examples/pdf-surface/Makefile.am:
	* MSVC/examples/pdf-surface/pdf-surface.vcproj:
	* MSVC/examples/png_file/.cvsignore:
	* MSVC/examples/png_file/Makefile.am:
	* MSVC/examples/png_file/png_file.vcproj:
	* MSVC/examples/ps-surface/.cvsignore:
	* MSVC/examples/ps-surface/Makefile.am:
	* MSVC/examples/ps-surface/ps-surface.vcproj:
	* MSVC/examples/svg-surface/.cvsignore:
	* MSVC/examples/svg-surface/Makefile.am:
	* MSVC/examples/svg-surface/svg-surface.vcproj:
	* MSVC/examples/text-rotate/.cvsignore:
	* MSVC/examples/text-rotate/Makefile.am:
	* MSVC/examples/text-rotate/text-rotate.vcproj:
	* MSVC/gendef/.cvsignore:
	* MSVC/gendef/Makefile.am:
	* MSVC/gendef/gendef.cc:
	* MSVC/gendef/gendef.vcproj: added a bunch of MSVC / windows-specific things
	that got missed last time.

2006-08-18  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/win32_surface.cc:
	* cairomm/win32_surface.h: add some missing win32 API that I had overlooked:
	cairo_win32_surface_get_dc() and cairo_win32_surface_create_with_dib(),
	updated documentation for standard Win32Surface::create() function.

2006-08-18  Cedric Gustin  <cedric.gustin@gmail.com>

	* cairomm/context.cc: Define M_PI for MSVC.
	* cairomm/scaledfont.cc: Allocate glyph_array as a synamic array
	as MSVC does not like non-const arguments as array size.
	* examples/pdf-surface/main.cc, examples/png_file/main.cc,
	examples/ps-surface/main.cc, examples/svg-surface/main.cc,
	examples/text-rotate/text-rotate.cc: Define M_PI for MSVC. 
	* configure.in, Makefile.am: Generate Makefiles in the MSVC
	subdirectories.  
	* .cvsignore: Added Eclipse .project to the list of ignored files.
	* MSVC/*: Added project and resource files for Visual Studio 2005.
	
2006-08-18  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/context.cc:
	* cairomm/context.h: API CHANGE: some API was changed to maintain a closer
	similarity to the underlying cairo API (while also attempting to avoid
	confusion with the C++ 'new' keyword) in preparation for freezing the
	cairomm API.  Two functions are affected:
		- Context::clear_path() -> Context::begin_new_path()
		- Context::new_sub_path() -> Context::begin_new_sub_path()
	* configure.in: bump the libtool version to indicate API change

2006-08-15  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/context.cc: remove another TODO.  I looked at cairo_append_path,
	and it just copies the data from the supplied path and appends that to the
	current path -- it doesn't modify the passed in path -- so it can stay
	const.

2006-08-15  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/context.h: remove a FIXME that was resolved on the mailing list

2006-07-11  Murray Cumming  <murrayc@murrayc.com>

	* cairomm/refptr.h: unref(): Only delete the refcount int when the refcount has 	
	reached 0, instead of deleting it every time. Thanks valgrind.

2006-07-11  Murray Cumming  <murrayc@murrayc.com>

	* cairomm/refptr.h: From-C-object Constructor: Added documentation explaining 
	how/when to use it and when to do an extra reference(). This will help us, 
	though it should rarely be necessary for an application developer to understand 
	it.
	Made pCppRefcount_ mutable, so that refcount_() can be a const method so that 
	the templated constructor compiles.
	Added class documentation to explain why we even want to use this class.

2006-07-05  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/refptr.h: copy constructors: initialize the pCppRefcount_ member 
	variable, using a public refcount_() method when necessary to access a 
	different RefPtr<> specialization.

2006-07-11  Murray Cumming  <murrayc@murrayc.com>

	* cairomm/refptr.h: Use an int to reference-count the C++ object, and 
	only reference/unreference the object (and hence the underlying C object) 
	when receiving/deleting the C++ object. Without this, we never delete 
	the C++ object. Fixes bug #7442.

2006-07-09  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* NEWS: add NEWS for 1.1.10 release
	* configure.in: bump version to 1.1.12

2006-07-05  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* Makefile.am: Ooops, I had accidentally removed dependency info for
	release-publish target

2006-07-05  Murray Cumming  <murrayc@murrayc.com>

	* cairomm/context.h:
	* cairomm/fontface.h:
	* cairomm/pattern.h:
	* cairomm/surface.cc:
	* cairomm/surface.h:
	* cairomm/xlib_surface.cc:
	* cairomm/xlib_surface.h: Fix the generic text about reference-counted 
	objects, because we no longer use copy constructors for this. And some 
	pedantic white space changes.

2006-07-05  Murray Cumming  <murrayc@murrayc.com>

	* cairomm/scaledfont.cc:
	* cairomm/scaledfont.h: create(): Make the font_matrix and ctm 
	parameters const (they are now const in the C API too). Maybe the font 
	parameter should be const, but maybe there is a reason that it is not 
	const in the C API. Pass FontOptions by const reference instead of 
	by value.
	glyph_extents(): Pass the vector by const reference instead of by 
	value.
	I would prefere to make all the extents() functions use return values 
	instead of output parameters, but I suppose this might be slightly 
	less efficient in some circumstances.

2006-07-05  Murray Cumming  <murrayc@murrayc.com>

	* cairomm/cairomm.h:
	* cairomm/context.h:
	* cairomm/path.h:
	* cairomm/scaledfont.h:
	* cairomm/surface.h:
	* cairomm/win32_surface.h:
	* cairomm/xlib_surface.h: Use @ instead of \ for doxygen 
	commands, to be consistent with gtkmm, which uses it because it is the 
	same as JavaDoc, with which some people are already familiar.

2006-07-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* Makefile.am: add ability to do snapshot releases to the
	cairographics.org/snapshots/ directory in addition to official releases
	* configure.in: bumped the revision to 1.1.10 in preparation for a snapshot
	release of the 1.2 API
	* docs/reference/Makefile.am: fixed some distcheck errors

2006-07-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* .cvsignore, cairomm/.cvsignore: ignore some autotools files and *.swp
	files (from vim)

2006-07-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/scaledfont.cc, cairomm/scaledfont.h: wrap ScaledFont, including
	new API for cairo 1.2
	* cairomm/Makefile.am: add scaledfont.* to list of sources

2006-07-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/surface.h: Remove comments stating that PDF, PS, and SVG are
	experimental surfaces.  As of 1.2.0, these three surfaces are officially
	supported by the cairo library.

2006-07-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/xlib_surface.h: add a bit more documentation for the new
	XlibSurface API

2006-07-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/surface.cc, cairomm/surface.h: added SvgSurface::get_versions()
	and SvgSurface::version_to_string() API.  They're implemented as static
	members right now.

2006-06-30  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* configure.in: bumped cairomm version to 0.7.0 and bumped cairo requirement
	to 1.2.0

2006-06-30  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/xlib_surface.cc, cairomm/xlib_surface.h: add new get_height() and
	get_width() API to XlibSurface

2006-06-27  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/enums.h: Added enum types to support the new get_type() and SVG
	Version API 
	* cairomm/fontface.cc, cairomm/fontface.h: add new get_type() API
	* cairomm/pattern.cc, cairomm/pattern.h: add new get_type() API
	* cairomm/surface.cc, cairomm/surface.h: add new get_type() API and
	SvgSurface::restrict_to_version() API

2006-06-26  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/surface.cc, cairomm/surface.h: add new PsSurface and PdfSurface
	API: set_size, dsc_comment, dsc_begin_setup, dsc_begin_page_setup
	* cairomm/xlib_surface.cc, cairomm/xlib_surface.h: add new XlibSurface API:
	get_display, get_drawable, get_screen, get_visual, get_depth

2006-06-26  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/surface.cc:
	* cairomm/surface.h: Added new Surface and ImageSurface API from 1.1.x
	snapshots

2006-06-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/context.cc:
	* cairomm/context.h: added Context::new_sub_path() and new push/pop group
	API.

2006-06-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/enums.h: fix stupid error from last commit

2006-06-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/enums.h: add new FORMAT_RGB16_565 format

2006-06-12  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* configure.in: bump required cairo version to >= 1.1.7
	* cairomm/surface.cc, cairomm/surface.h: update to new cairo API
	cairo_surface_set_fallback_resolution

2006-05-10  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* docs/reference/cairomm.css: minor documentation stylesheet fix

2006-05-08  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/context.h:
	* cairomm/path.h: added some preliminary documentation explaining that the
	caller is responsible for freeing Path objects returned from
	Context::copy_path() and Context::copy_path_flat().

2006-05-08  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/cairomm.h: Add doxygen API introduction test here.
	* docs/reference/Doxyfile.in: 
	* docs/reference/Makefile.am:
	* docs/reference/cairomm-header.html:
	* docs/reference/cairomm.css:
	* docs/reference/introduction.h: fix up some documentation presentation
	issues that turned up with newer versions of doxygen.

2006-05-08  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* configure.in: remove check for perl since we're not using any of the
	gmmproc stuff for cairomm
	* docs/reference/Makefile.am: add documentation dependency on all of the
	headers in the cairomm/ directory so that if a header changes the
	documentation will be rebuilt.

2006-04-20  Murray Cumming  <murrayc@murrayc.com>

	* cairomm/context.cc:
	* cairomm/context.h: mask(pattern) and mask(surface): Make the parameter 
	const, because I am fairly sure that the C function does not change it.

2006-04-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* Makefile.am: Add a brief description of cairomm to the release
	announcement template

2006-04-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* docs/reference/Doxyfile.in:
	* docs/reference/Makefile.am: A couple minor build fixes to make distcheck
	happy

2006-04-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* NEWS: add news for 0.6.0 release
	* configure.in: bump version to 0.6.0

2006-04-03  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* examples/text-rotate/text-rotate.cc: protect PNG functions with #ifdef in
	case cairo wasn't compiled with PNG support

2006-03-31  Danilo Piazzalunga  <danilopiazza@gmail.com>

	* Makefile.am:
	* docs/Makefile.am:
	* docs/reference/Makefile.am: add convenience targets for cleaning and
	rebuilding documentation (doc-clean and doc-rebuild).

2006-03-30  Danilo Piazzalunga  <danilopiazza@gmail.com>

	* configure.in: enable documentation even if doxygen and/or graphviz
	are missing, so the docs will be installed when building a release.
	* docs/reference/Makefile.am: don't remove html directory with `make clean`,
	so that users of the tarball releases don't destroy the pre-built
	documentation when running make clean. Change to maintainer-clean

2006-03-29  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* configure.in: added tests for doxygen and graphviz which displays a
	warning if the user has --enable-docs set but doesn't have doxygen or
	graphviz installed.  

2006-03-28  Danilo Piazzalunga  <danilopiazza@gmail.com>

	* cairomm/enums.h: Stop using CAIRO_EXTEND_PAD, as it only exists
	in the 1.1.1 development branch.

2006-03-14  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* configure.in:
	* examples/Makefile.am:
	* examples/text-rotate/.cvsignore:
	* examples/text-rotate/Makefile.am:
	* examples/text-rotate/text-rotate.cc: Added another basic example,
	borrowed from a test-case in cairo.  This one is just a simple example of
	using text in cairomm

2006-03-14  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/fontface.h:
	* cairomm/fontoptions.h:
	* cairomm/path.h:
	* cairomm/pattern.h: include <cairo.h> instead of <cairo/cairo.h> since it
	didn't want to compile on windows without these
	* cairomm/win32_surface.cc:
	* cairomm/win32_surface.h: Move the include of cairo-win32.h from the
	source file to the header since the declaration of create() needs the HDC
	type definition.
	With these changes, cairomm should compile the Win32Surface cleanly with
	mingw on Microsoft Windows

2006-03-12  Danilo Piazzalunga  <danilopiazza@gmail.com>

	* autogen.sh: Allow overriding aclocal, automake, autoconf and libtoolize
	using environment variables. Taken from cairo's autogen.sh.

2006-03-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/*.cc, *.h: add vim modelines to set proper indentation for
	cairomm when using vim

2006-02-28  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/context.cc:
	* cairomm/context.h:
	* cairomm/enums.h:
	* cairomm/fontoptions.cc:
	* cairomm/fontoptions.h:
	* cairomm/pattern.cc:
	* cairomm/pattern.h:
	* cairomm/surface.h: wrapped all of the enum types with cairomm
	types within the Cairo namespace, so now (for example) the values for
	Cairo::Format are something like Cairo::FORMAT_ARGB32 instead of the base
	cairo types like CAIRO_FORMAT_ARGB_32.
	* examples/png_file/main.cc: fixed example to work with the new namespaced
	enum types

2006-02-27  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/exception.h:
	* docs/reference/Doxyfile.in:
	* docs/reference/Makefile.am: hide some of the private types and functions
	from the Doxygen API reference documentation

2006-02-27  Stefan Kersten  <steve@k-hornz.de>

	* cairomm/surface.cc: fix an extra trailing parentheses in
	GlitzSurface::create()

2006-02-22  Danilo Piazzalunga  <danilopiazza@gmail.com>

	* examples/README: Write some basic information about each example

2006-02-22  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* docs/reference/Makefile.am: add target for publishing the API reference
	to cairographics.org

2006-02-20  Danilo Piazzalunga  <danilopiazza@gmail.com>

	* Makefile.am: Include MAINTAINERS in distribution. Fixes Bug #5982

2006-02-17  Danilo Piazzalunga  <danilopiazza@gmail.com>

	* COPYING: Use the text from the Library GPL 2.0, which is the actual
	license of cairomm. Fixes Bug #5934

2006-02-17  Danilo Piazzalunga  <danilopiazza@gmail.com>

	* autogen.sh:
	* cairomm/cairomm.h:
	* cairomm/context.cc:
	* cairomm/context.h:
	* cairomm/enums.h:
	* cairomm/exception.cc:
	* cairomm/exception.h:
	* cairomm/fontface.cc:
	* cairomm/fontface.h:
	* cairomm/fontoptions.cc:
	* cairomm/fontoptions.h:
	* cairomm/path.cc:
	* cairomm/path.h:
	* cairomm/pattern.cc:
	* cairomm/pattern.h:
	* cairomm/private.cc:
	* cairomm/private.h:
	* cairomm/refptr.h:
	* cairomm/surface.cc:
	* cairomm/surface.h:
	* cairomm/win32_surface.cc:
	* cairomm/win32_surface.h:
	* cairomm/xlib_surface.cc:
	* cairomm/xlib_surface.h: Update FSF's postal address in GPL/LGPL
	comment headings.  Fixes Bug #5933

2006-02-17  Danilo Piazzalunga  <danilopiazza@gmail.com>

	* examples/*/.cvsignore: Bug #5927: added .cvsignore files to examples
	directories

2006-02-17  Danilo Piazzalunga  <danilopiazza@gmail.com>

	* AUTHORS:
	* INSTALL:
	* README:
	* cairomm/exception.cc:
	* cairomm/exception.h: Remove lingering references to libxml++

2006-02-17  Danilo Piazzalunga  <danilopiazza@gmail.com>

	* configure.in: Bug #5929: Output files in docs subdir only if
	--enable-docs is set.  This prevents configure from generating files which
	are not cleaned up when --disable-docs is used.
	Use AC_CONFIG_FILES and AC_OUTPUT as recommended.

2006-02-16  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* docs/reference/Doxyfile.in:
	* docs/reference/cairomm.css: added some style customisations to the API
	doc so that it fits in with the overall Cairo style a bit better

2006-02-16  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* AUTHORS:
	* MAINTAINERS: Add my information to the Maintainers and authors file

0.5.0:

2006-02-09  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* docs/reference/Makefile.am: added a 'html' target to satisfy the dist
	rule

2006-02-08  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/context.h: Added a lot of documentation for the Cairo::Context
	class taken from the cairo docs.  It's not complete, but the basics are all
	covered now. 
	* docs/reference/Makefile.am: make use of existing Makefile variable
	* NEWS: update for 0.5.0 release

2006-02-07  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* Makefile.am: add docs/ subdir
	* configure.in: added an --enable-docs switch to the configure script
	(enabled by default), and added AC_OUTPUT directives for the documentation
	Makefiles, etc.
	* docs/.cvsignore:
	* docs/Makefile.am:
	* docs/reference/.cvsignore:
	* docs/reference/Doxyfile.in:
	* docs/reference/Makefile.am:
	* docs/reference/introduction.h: Added infrastructure to build and install
	the API documentation for cairomm (based on libxml++ makefiles).  

2006-01-27  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* .cvsignore:
	* cairomm/.cvsignore: update .cvsignore files
	* cairomm/surface.cc:
	* cairomm/surface.h: change Surface::create function to take a
	RefPtr<Surface> instead of Surface&

2006-01-27  Murray Cumming  <murrayc@murrayc.com>

	* examples/pdf-surface/Makefile.am: Remove extra LDADD that was breaking 
	the distcheck.

2006-01-26  Murray Cumming  <murrayc@murrayc.com>

	* examples/ps-surface/main.cc:
	* examples/svg-surface/main.cc: Correct the text of the messages.

2006-01-25  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* configure.in:
	* examples/Makefile.am: 
	* examples/pdf-surface/: 
	* examples/ps-surface/: 
	* examples/svg-surface/: add examples for additional surfaces

2006-01-24  Murray Cumming  <murrayc@murrayc.com>

	* cairomm/Makefile.am:
	* cairomm/surface.cc:
	* cairomm/surface.h:
	* cairomm/xlib_surface.cc:
	* cairomm/xlib_surface.h:
	* cairomm/win32_surface.cc:
	* cairomm/win32_surface.h: Moved XlibSurface and 
	Win32Surface into separate files, not #included by 
	the main cairomm.h file, so that developers do not need to 
	suffer the Xlib.h or Windows namespace pollution unless they really need to. 
	For instance, this fixes the gtkmm 2.9 build which was broken by the 
	Display struct in Xlib.h.

2006-01-15  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/surface.cc:
	* cairomm/surface.h: backwards-incompatible API change for the Surface
	types.  Cairo::Surface is now a base class for all of the other surface
	types, and should not be used directly.  New Surface types include
	ImageSurface, XlibSurface, Win32Surface, PdfSurface, PsSurface,
	SvgSurface, and GlitzSurface.  
	Modified Surface::write_to_png() and Surface::write_to_png_stream() so
	that they throw exceptions like the other functions instead of returning a
	cairo_status_t value.
	Added API documentation for all Surface classes and all member functions
	of the Surface class heirarchy.
	* examples/png_file/Makefile.am: added generated PNG file to CLEANFILES
	* examples/png_file/main.cc: updated the PNG example to use the new
	ImageSurface class instead of using the Surface class directly.
	* cairomm/*: Renamed the Cairo::Status type to Cairo::ErrorStatus since it
	conflicts with a #define Status in XLib and is not used exposed in the API
	anyway.

2006-01-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/surface.cc:
	* cairomm/surface.h: Added implementation of write_to_png() and
	write_to_png_stream() when PNG support is available in the base cairo
	library
	* examples/png_file/*: Added an example of creating an image surface and
	saving it to a png image file
	* examples/Makefile.am: add new example directory to SUBDIRS list
	* configure.in: added output declaration for examples/png_file/Makefile
	* examples/makefile.am_fragment: fix leftover libxml boilerplate

2006-01-03  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* cairomm/surface.cc: added missing implementations for reference() and
	unreference() functions

0.4.0:

2005-12-17  Murray Cumming  <murrayc@murrayc.com>

	* cairomm/Makefile.am:
	* cairomm/refptr.h: Add shared 
	reference-counting smartpointer, using 
	the reference-count in the object. A copy 
	of the tried and tested glibmm RefPtr.
	* cairomm/context.cc:
	* cairomm/context.h:
	* cairomm/fontface.cc:
	* cairomm/fontface.h:
	* cairomm/pattern.cc:
	* cairomm/pattern.h:
	* cairomm/surface.cc:
	* cairomm/surface.h: Make constructors protected 
	and add public static create() methods that return 
	instances in RefPtr<>s. This allows reference-counted 
	objects to be clearly const or non-const, and allows 
	casting between related types.

2005-12-17  Murray Cumming  <murrayc@murrayc.com>

	* cairomm/context.cc:
	* cairomm/context.h: Change set_dash(void) to 
	unset_dash(). Change rotate_deg() to 
	rotate_degrees(). Change identity_matrix() to 
	set_identity_matrix(). Change new_path() to 
	clear_path().
	* cairomm/fontface.cc:
	* cairomm/fontface.h: Comment-out 
	get/set_user_data(), because it seems useless.

0.3.0:

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

	* cairomm/pattern.cc:
	* cairomm/pattern.h: Create a hierarchy of pattern 
	classes, as suggested by the C documentation, because 
	not all functions are meaningful for all pattern types.

2005-12-07  Murray Cumming <murrayc@murrayc.com>

	* cairomm/context.cc:
	* cairomm/context.h: font_extents(), stroke_extents(), 
	glyph_extents(), fill_extents(): Add get_ prefix and 	
	make them const.

2005-12-07  Murray Cumming <murrayc@murrayc.com>

	* cairomm/context.cc:
	* cairomm/context.h: Add typedef for Matrix, though we 
	probably want to derive a class with a C++-like matrix 
	API, with operator overloading.

2005-12-07  Murray Cumming <murrayc@murrayc.com>

	* cairomm/exception.cc:
	* cairomm/exception.h: Rename to logic_error, because 
	the cairo documentation says that most of them are 
	programming errors, not runtime errors. Derive from 
	std::logic_error because of this.
	* cairomm/private.cc:
	* cairomm/private.h: Throw std::bad_alloc for memory 
	errors, and std::io_base::failure for read/write runtime 
	errors, as suggested by the cairo language-binding 
	documentation.

2005-12-07  Murray Cumming <murrayc@murrayc.com>

	* cairomm/context.cc:
	* cairomm/fontoptions.cc:
	* cairomm/surface.cc: Check for errors in 
	constructors, as per the error-handling advice in the 
	language bindings section of the cairo documentation.

2005-12-07  Murray Cumming <murrayc@murrayc.com>

	* cairomm/context.cc:
	* cairomm/context.h: Change mask_surface() to 
	mask() and set_source_surface() to set_source(), 
	as per the method overloading advice in the 
	language bindings section of the cairo documentation.

0.2.0:

2005-12-02  Murray Cumming <murrayc@murrayc.com>

	* cairomm/cairomm.h: Put sensible stuff in here, 
	instead of my copy/paste stuff from libxml++.
	* cairomm/context.cc:
	* cairomm/context.h:
	* cairomm/enums.h:
	* cairomm/exception.cc:
	* cairomm/exception.h:
	* cairomm/fontface.cc:
	* cairomm/fontface.h:
	* cairomm/fontoptions.cc:
	* cairomm/fontoptions.h:
	* cairomm/path.cc:
	* cairomm/path.h:
	* cairomm/pattern.cc:
	* cairomm/pattern.h:
	* cairomm/private.cc:
	* cairomm/private.h:
	* cairomm/surface.cc:
	* cairomm/surface.h: Add LGPL comment headings.