2020-09-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  1.16.0

2020-09-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Fix versioning on macOS

  See https://github.com/libsigcplusplus/libsigcplusplus/pull/65

2020-09-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Require cairo >= 1.12.0

  Has been a requirement for a long time, but configure.ac
  and meson.build had not been updated.

2020-09-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Autotools builds: Create only .tar.xz tarballs

  This is what Meson does. Cairo does it when built with Autotools.

2020-08-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Remove RefPtrDeleter()

  It's right for C++ classes wrapping GObject subclasses in glibmm and
  gtkmm, but it is not right for wrappers in cairomm.
  
  Fixes #23

2020-08-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tests: Fix tests in Autotools builds

  * build/ax_boost_base.m4:
  * build/ax_boost_unit_test_framework.m4: Newer versions have been fetched
  from www.gnu.org/software/autoconf-archive

2020-08-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tests: Don't include deprecated Boost header files

2020-08-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add Context::get_source_for_surface()

  Fixes #5

2020-07-23  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Update .gitignore

  We don't need to track generated files that are in under MSVC_NMake/

2020-07-23  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Use Meson-style DLL and .lib naming if requested

  To make things more consistent and less prone to confusion, if 'USE_MESON_LIBS'
  is specified in the NMake command line, build the DLLs and .lib's that are
  named like the Meson counterparts.  Binaries built with Meson+Visual Studio
  and the ones that are built via NMake using 'USE_MESON_LIBS' are
  interchangeable, provided that they are built with the same Visual Studio
  version.

2020-07-23  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Fix builds from release tarballs

  This avoids needlessly enerating cairommconfig.h and cairomm.rc, and when we do
  need to generate these files, we ensure that they always have the right version
  info in them.
  
  Also streamline the build process that this file generating is done in the
  'all' target, so that one does not need to use the -prep-git-build' target
  beforehand.

2020-07-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Look for headers in $(PREFIX)\include also

  The needed headers can be in $(PREFIX)\include as well, so we ought to look for
  them there

2020-07-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Support ARM64 Windows builds

  This will make the NMake Makefiles capable of building ARM64 binaries of
  cairomm, which can be used on Windows 10 on ARM systems.

2020-06-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/reference/: Update for Doxygen >= 1.8.16

  * docs/reference/meson.build: Doxygen 1.8.16 and later does not store
  tag file names in the html files. This requires changes in meson.build
  and in doc-install.pl (in mm-common). Otherwise references to other modules
  won't be updated in the html files when they are installed.
  * docs/reference/Doxyfile.in: Remove PERL_PATH and MSCGEN_PATH.
  Doxygen since version 1.8.0 does not use them.

2020-06-25  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Meson/Visual Studio builds: Include toolset version by default

  This makes the built DLL and .lib's contain the toolset version if
  the build is carried out using Visual Studio 2017 or later, unless
  the 'msvc14x-parallel-installable' option is set to be false during
  configuration.
  
  The reasoning behind this change is that there may be subtle problems
  when, for instance, one tries to link to a Visual Studio 2017-built
  cairomm with Visual Studio 2019.  This is unfortunate as Microsoft
  did try hard to make interoperating between binaries built with Visual
  Studio 2017 and 2019 as easy as possible in terms of ABI and API, but
  unfortunately this may hit the corner cases where this compatibility
  does not work.
  
  As the name suggests, this attempts to make Visual Studio 2017
  and 2019 builds share a single set of underlying C DLLs easier,
  while avoiding possible breakages caused by such subtle differences.

2020-06-16  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Use toolset version in DLL/.lib filenames

  We now use the toolset version ('vc141' for Visual Studio 2017 and 'vc142' for
  Visual Studio 2019) in the DLL anbd .lib filenames by default, to be consistent
  with what is now being done in the 'cairo-1-14' branch.
  
  If using the old naming convention is desired, a command line option
  'USE_COMPAT_LIBS' is added to facilitate such builds

2020-06-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  README: Update with instructions for building cairomm

2020-05-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Drop gendef from the sources

  We are no longer using it, so just drop it from the source tree.

2020-05-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson: Don't use gendef on Visual Studio

  Instead, we use the newly-added CAIROMM_API which is defined to be
  __declspec(dllexport) to export the symbols directly.
  
  This will also allow some cleanup in the Meson build files, as we do not
  need to differentiate how the cairomm library is built on different
  compilers.

2020-05-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Stop using gendef.exe by

  Define CAIROMM_API as __declspec(dllexport) (when building) or
  __declspec(dllimport) (when using).
  
  This will enable us to reduce the size of the built cairomm DLL and
  .lib.

2020-05-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  cairomm/*.h: Decorate public symbols with CAIROMM_API

  This include the public class definitions and function prototypes, so
  that we can use compiler directives to export these items.  By doing so
  we will no longer need to use gendef.exe to export symbols for Visual
  Studio DLL builds.

2020-05-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  cairommconfig.h.[in|meson]: Add CAIROMM_API

  This macro can be used to decorate public class and API prototypes, so
  that we can use it to export symbols with compiler directives, such as
  __declspec(dllexport) in the case of Visual Studio-style builds.
  
  We can even decide to not use it by keeping CAIROMM_API empty, such as
  in the case of building static libraries or when using GCC's
  autoexporting mechanism.

2020-05-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  configure.ac: Substitute CAIROMM_EXTRA_LIBS during configuration

  CAIROMM_EXTRA_LIBS has been added to data/cairomm.pc.in. It's used only
  in Meson builds. During an Autotools build it must be replaced by an
  empty string.

2020-04-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Replace NULL by nullptr

  * cairomm/surface.cc:
  * tests/test-font-face.cc:
  * tests/test-scaled-font.cc: Replace NULL by nullptr
  * cairomm/surface.h: Remove the "#ifdef nil" section. It's not necessary.
  Cairomm-1.16 depends on libsigc++-3.0. Only libsigc++-2.0 defines nil.

2020-04-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Don't use zero as null pointer

  Turn on the -Wzero-as-null-pointer-constant warning when -Dwarnings=max
  or fatal. Replace 0 by nullptr where appropriate.

2020-04-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tests/test-scaled-font.cc: Remove an extra semicolon

  With -Dwarnings=fatal g++ reacts to such trifles.

2020-04-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson: Allow linking to shared Boost::Test

  This adds an option to the Meson builds so that we can choose to use a
  shared build of Boost::Test if needed.

2020-04-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake: Fix building tests

  This will make the tests build and link with Visual Studio + Boost DLL
  builds...
  
  However, some more work is required to make the tests recognized by the
  Boost test framework, which will be in the next commit.

2020-04-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

  tests: Use Boost's automatic test registration

  This makes it easier for all if we are going to choose between building
  static or dynamic builds of Boost, which will be covered in the next
  commit.

2020-04-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

  tests: Fix building tests with FreeType but no FontConfig

  Cairo could have been built with FreeType support but has no FontConfig
  support, so we need to check for that too.
  
  Also allow building the tests on Windows even if FontConfig is not
  found, as a result.

2020-04-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

  test-font-face.cc: Fix build on Windows

  The code must be updated for the Windows bits as well, as per commit 715d9dd9

2020-04-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Speed up builds

  Just use 'md' to create the intermediate build directories, instead of calling
  nmake on the NMake Makefile to create these directories.  This makes things
  faster by reducing the frequency that we need to create and read the file lists
  
  Fixes #22

2020-04-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Add rule to generate versioned files

  This will make building directly from a GIT checkout easier, by using PERL to
  read the configure.ac file to acquire the version info, and using this info to
  generate the full cairommconfig.h and cairomm.rc files that we need for our
  Visual Studio builds.
  
  This will also enable us to build from a Meson-generated source tarball,
  as we may well need to generate these files ourselves.

2020-04-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Split outdir by toolset version

  This reduces the likelihood of accidently mixing binaries linked against
  different CRT versions.

2020-04-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Support Meson-built libsigc++

  This allows one to link to the correct .lib that is produced by the
  Meson builds of libsigc++ in an easier way, by using USE_MESON_LIBS.

2020-04-29  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Use /utf-8 and /EHsc for the builds

  This makes builds more efficient and prevents warnings that are caused when
  attempting to build on an East Asian locale of Windows (which can indicate
  broken builds)

2020-04-25  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson: Improve installing pkg-config files

  We need to search for the headers and/or functions manually if the pkg-config
  files for Cairo are not found.

2020-04-25  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson: Improve cairomm pkg-config file

  We only put Cairo as a required package if Cairo was found via pkg-config, but
  if Cairo was found manually, we make the pkg-config file link to the cairo
  library directly (-lcairo).

2020-04-25  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Meson: Define _USE_MATH_DEFINES on Windows

  Visual Studio and some MinGW versions require defining this to use M_PI

2020-04-25  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson: Improve Cairo check

  The Visual Studio build files for Cairo do not generate pkg-config files for
  us, so we need to look for the cairo library and the header files.  Since we
  are doing this for Visual Studio builds only, we want to look for both cairo.h
  and cairo-win32.h.

2020-04-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add support for building cairomm with Meson

  cairomm can be built with either Autotools or Meson.
  
  Fixes #20

2020-04-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tests: Update the source code

2020-04-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  data/: Rename the .pc.in files

  * configure.ac: Update the call to AC_CONFIG_FILES() with the new file names.
  * data/*.pc.in: Don't include the API version (1.16) in the file names.
  This makes it easier to change the API name in the future. This is how .pc.in
  files are named in libsigc++, glibmm, etc.
  The API version is still included in the names of the generated .pc files.

2020-04-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Sources: Remove #define _USE_MATH_DEFINES

  We now pass in /D_USE_MATH_DEFINES in our NMake compiler flags, so
  there is no need to define them in the sources.  This will silence
  C4005 warnings (macro redefinition) in Visual Studio builds.
  
  Fixes #7

2020-04-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  build: Remove the Visual Studio projects

  We now use the NMake Makefiles to build cairomm, so we can now remove
  the Visual Studio projects.

2020-04-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  build: Add NMake Makefiles for MSVC builds

  This adds a set of NMake Makefiles to build cairomm, and its example
  programs and its test programs (the test programs are not buildable
  in their current state).  Visual Studio 2017 is still the minimum
  required version of Visual Studio required, with verion 15.8.0 or
  later recommended.
  
  The NMake Makefiles will consume cairomm/filelist.am, so that additions
  and removal of sources will only need to be done there, which will
  reduce the likelyhood of the MSVC build files getting out-of-date.
  
  Dist only the NMake Makefiles, and also dist the gendef,
  cairommconfig.h and cairomm.rc(.in) as we did before.  The Visual
  Studio projects will be dropped in the next commit.

2020-04-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  build: Rename MSVC_Net2017 to MSVC_NMake

  This is to prepare for the transition of the Visual Studio build files
  into NMake Makefiles rather than the Visual Studio project files, to
  ease future maintenance.

2020-04-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Build: Fix silent builds

  * configure.ac: Pass yes to AM_SILENT_RULES, thus enabling silent builds.
  * docs/reference/Doxyfile.in: Set QUIET=YES.
  Update for doxygen 1.8.11 (not necessary for silent builds).

2018-04-22  Ting-Wei Lan  <lantw@src.gnome.org>

  configure.ac: Require C++17.

  Because the lastest (unstable) libsigc++-3.0 release requires C++17.
  
  See
  https://bugs.freedesktop.org/show_bug.cgi?id=106172

2017-08-25  Murray Cumming  <murrayc@murrayc.com>

  1.15.5

2017-05-02  John Ralls  <jralls@ceridwen.us>

  enums.h: Guard the FT-specific include and the enum with an ifdef.

  To fix the build if there is no cairo-ft present. Bug #100894.

2017-04-30  John Ralls  <jralls@ceridwen.us>

  configure.ac: Require C++14, because libsigc++-3.0 does.

  Bug 100884 - Configure requires C++11 with no extensions...
  
  but clang detects C++14 features in libsigc++ headers.

2017-04-26  Murray Cumming  <murrayc@murrayc.com>

  1.15.4

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::RegionOverlap enum to Cairo::Region::Overlap.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::PatternType enum to Cairo::Pattern::Type.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::FontWeight enum to Cairo::ToyFontFace::Weight.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::FontSlant enum to Cairo::ToyFontFace::Slant.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::SurfaceType enum to Cairo::Surface::Type.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::HintMetrics enum to Cairo::FontOptions::HintMetrics.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::HintStyle enum to Cairo::FontOptions::HintStyle.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::Filter enum to Cairo::SurfacePattern::Filter.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::Extend enum to Cairo::Pattern::Extend.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::Format enum to Cairo::Surface::Format.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::DeviceType enum to Cairo::Device::DeviceType.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::LineJoin enum to Cairo::Context::LineJoin.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::LineCap enum to Cairo::Context::LineCap.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::FillRule enum to Cairo::Context::FillRule.

  And change this from an old-style enum to a C++11 enum class.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

  Change Cairo::Operator enum to Cairo::Context::Operator.

  And change this from an old-style enum to a C++11 enum class.

2017-03-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Visual Studio builds: Require Visual Studio 2017

  cairomm 1.16 requires libsigc++-3.0, which requires C++-14 features that
  are supported with Visual Studio 2017 or later, so update the projects
  and README files accordingly.  Also update the DLL version as the ABI
  version was updated for 1.16.
  
  Also, use the property sheets to define the version of libsigc++ so that
  it is easier to update it in case we need to in the future.
  
  Bug 100210

2017-03-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Win32: Remove leftovers from removing deprecated Win32::create()

  The removal of this member function missed out the implementation in
  win32_surface.cc, causing builds to break on Visual Studio at least.
  
  Bug 100210.

2016-12-13  Murray Cumming  <murrayc@murrayc.com>

  1.15.3

2016-12-09  Kalev Lember  <klember@redhat.com>

  Fix the build with MinGW headers

  Guard _USE_MATH_DEFINES with _WIN32 instead of _MSC_VER as it is needed
  for MinGW builds as well. While at this, also remove a duplicate version
  of the exact same define a few lines below.
  
  https://bugs.freedesktop.org/show_bug.cgi?id=92112

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

  RefPtr: Make this an alias for shared_ptr<> instead.

  Specifying a Deleter in make_refptr_for_instance().

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

  Add and use make_refptr_for_instance().

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

  Context: Remove unnecessary const casts.

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

  1.15.2

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

  Remove deprecated API.

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

  Remove old API that takes cairo_matrix_t*.

2016-11-15  Murray Cumming  <murrayc@murrayc.com>

  1.15.1

2016-11-15  Murray Cumming  <murrayc@murrayc.com>

  NEWS entry for 1.31.1 (from cairomm-1-14 branch)

2016-11-15  Murray Cumming  <murrayc@murrayc.com>

  NEWS entyr for 1.12.2 (from cairomm-1-12 branch)

2016-11-15  Murray Cumming  <murrayc@murrayc.com>

  NEWS entry for 1.12.1 (from cairomm-1-12 branch)

2016-11-15  Murray Cumming  <murrayc@murrayc.com>

  Make the ABI cairomm-1.16 instead of cairomm-1.14

  So we can have one more stable release cycle to get a little new API
  out before the (parallel-installing) ABI break.

2016-11-11  Murray Cumming  <murrayc@murrayc.com>

  Use libsigc++-3.0 instead of libsigc++-2.0

2016-11-11  Murray Cumming  <murrayc@murrayc.com>

  Change ABI from cairomm-1.0 to cairomm-1.14

2016-04-10  Murray Cumming  <murrayc@murrayc.com>

  C++11: RefPtr: Make operator bool explicit.

  See https://bugzilla.gnome.org/show_bug.cgi?id=626858#c4

2016-04-10  Murray Cumming  <murrayc@murrayc.com>

  RecordingSurface: Correct some whitespace.

2016-04-10  Jason Rhinelander  <jason@imaginary.ca>

  Added C++ wrapper around cairo_recording_surface

  Bug #121359

2016-02-09  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use override keyword on destructors.

2015-11-23  Murray Cumming  <murrayc@murrayc.com>

  RefPtr: Use nullptr instead of 0.

2015-09-21  Murray Cumming  <murrayc@murrayc.com>

  1.12.0

2015-09-21  Murray Cumming  <murrayc@murrayc.com>

  RefPtr: Use noexcept, as in Glib::RefPtr.

2015-09-10  Chun-wei Fan  <fanchunwei@src.gnome.org>

  cairomm/exception.h: Allow Build on Visual Studio 2013

  Visual Studio 2013 has one catch for its C++-11 support: It does
  not support noexcept, but has its own _NOEXCEPT for the same purpose.
  Add a define for it, while defining the _ALLOW_KEYWORD_MACROS as newer
  Visual Studio Versions do not allow one to define known keywords, even if
  it is not supported, by default.

2015-09-10  Chun-wei Fan  <fanchunwei@src.gnome.org>

  MSVC Builds: Support Visual Studio 2013 (and later) Only

  This removes the Visual Studio 2005 and 2008 projects, and updates
  the Visual Studio 2010 projects to become 2013 projects, as only
  Visual Studio 2013 and later support enough of C++-11 to build
  cairomm in its current state.
  
  Also update the README in MSVC_Net2013/ to reflect on this situation.

2015-08-21  Murray Cumming  <murrayc@murrayc.com>

  MSVC_Net2010/filelist.am: Correct the .props filenames

2015-08-20  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Overhaul The Visual Studio 2010 Projects

  Like the Visual Studio 2008 Projects, give the Visual Studio 2010 Projects
  an overhaul by using property sheets to consolidate commonly-used items,
  and moving all the projects to MSVC_Net2010, so that they can be more easily
  maintained.
  
  https://bugs.freedesktop.org/show_bug.cgi?id=84030

2015-08-20  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Update and Overhaul the Visual Studio 2008 Projects

  Move all the projects to MSVC_Net2008/, and add property sheets for the
  projects so that commonly-used items can be consolidated and referred from
  the projects, which will help simplify future maintenance.  Also remove
  items from the projects that aren't really needed, as they add quite a bit
  of clutter.  Add the newly-added source files to the cairomm project as
  well, as the cairomm project has bit rotted a little.
  
  https://bugs.freedesktop.org/show_bug.cgi?id=84030

2015-08-20  Chun-wei Fan  <fanchunwei@src.gnome.org>

  fontface/fontoption: Check for CAIRO_HAS_FC_FONT

  This updates the fontface and fontoptions sources so that they will check
  for whether Cairo was built with FontConfig (in addition to FreeType) so
  that cairomm would still build when we have Cairo built with FreeType but
  without FontConfig, which for example may well be the case on Windows
  builds.
  
  https://bugs.freedesktop.org/show_bug.cgi?id=84033

2015-08-20  Murray Cumming  <murrayc@murrayc.com>

  Add TODO about using std::shared_ptr<> instead.

2015-08-20  Murray Cumming  <murrayc@murrayc.com>

  RefPtr: Add move constructors and move operator=().

  Roughly based on the same changes in Glib::RefPtr<>.

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

  1.11.4

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use = delete instead of private constructors.

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use of nullptr.

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use auto.

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use the override keyword.

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use noexcept instead of throw().

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  configure.ac: Add some more warnings for --enable-warnings=fatal.

  Not using -Wshadow because that breaks the build:
  matrix.cc:28:80: error: declaration of 'y0' shadows a member of 'this' [-Werror=shadow]
   Matrix::Matrix(double xx, double yx, double xy, double yy, double x0, double y0)

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  configure.ac: Avoid deprecated libsigc++ API.

  No code changes were necessary.

2015-07-31  Murray Cumming  <murrayc@murrayc.com>

  Use (and require) C++11.

  And use the latest version of libsigc++, which also requires C++11.

2014-04-09  David Weiß  <david.weiss@ptvgroup.com>

  Update MSVC.Net 2010 project files.

  https://bugs.freedesktop.org/show_bug.cgi?id=76820

2014-02-21  Povilas Kanapickas  <povilas@radix.lt>

  Wrap cairo script device and script surface APIs

2014-02-21  Povilas Kanapickas  <povilas@radix.lt>

  Wrap FtFontFace::{get,set,unset}_synthesize

2014-02-21  Povilas Kanapickas  <povilas@radix.lt>

  Remove no longer useful .cvsignore files

2014-02-11  Murray Cumming  <murrayc@murrayc.com>

  Updating version to odd number for git.

2014-02-11  Murray Cumming  <murrayc@murrayc.com>

  1.11.2, because we use even micros for releases.

2014-02-11  Murray Cumming  <murrayc@murrayc.com>

  1.11.1

2014-02-11  Murray Cumming  <murrayc@murrayc.com>

  Autogenerate the ChangeLog

2014-01-28  Murray Cumming  <murrayc@murrayc.com>

  Improve some deprecation comments.

2014-01-28  Povilas Kanapickas  <povilas@radix.lt>

  Add Pattern::{set_extend,get_extend}

  * cairomm/pattern.{cc,h}: set_extend and get_extend functions apply not
    only to surface patterns, but to linear and radial gradients too.
    Bug #73775

2014-01-28  Anton Bachin  <antonbachin@yahoo.com>

  Allow use from Objective-C instead of just allowing building.

  * cairomm/fontface.h: Surround the include line in surface.h with
    some directives that undefine nil and then redefine it.
  * cairomm/surface.h: This aso undefined nil but this appears to be
    unnecessary.
  
    Bug #66328

2014-01-28  Murray Cumming  <murrayc@murrayc.com>

  Avoid dereferencing empty std::vector<>s.

  * cairomm/context.cc: Check with empty() before using [0] on
    a vector. Apparently gcc allows this, but MSVC (probably correctly)
    does not. This fixes a crash on MS Windows.
    Bug #36020 (Robert Kurjata)

2014-01-28  Murray Cumming  <murrayc@murrayc.com>

  ScaledFont: Add the missing get_extents() method implementation.

  Bug #53981 (cheshirekow)

2012-03-12  Mark Vender  <markv743@yahoo.co.uk>

  Use GNOME style in the documentation

2012-03-12  Murray Cumming  <murrayc@murrayc.com>

  Fix linker problem with the examples.

  * examples/Makefile.am: Add CAIROMM_LIBS.
  This is needed now to a change in behaviour of the linker
  in recent distro versions.

2012-03-12  Mark Vender  <markv743@yahoo.co.uk>

  Update the documentation

2011-05-09  Murray Cumming  <murrayc@murrayc.com>

  1.10.0

2010-12-31  Jonathon Jongsma  <jjongsma@gnome.org>

  Ignore some more msvc build files

2010-12-31  Jonathon Jongsma  <jjongsma@gnome.org>

  Bump micro version after release

2010-12-31  Jonathon Jongsma  <jjongsma@gnome.org>

  Disable fatal warnings on distcheck for now

  cairo.h has an extra comma at the end of an enumeration, which causes a warning,
  so making warnings fatal in distcheck makes it impossible to release.

2010-12-31  Jonathon Jongsma  <jjongsma@gnome.org>

  Update NEWS for 1.9.8 release, bump version

  Also require a newer cairo (1.10.0)

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Wrap cairo_surface_create_for_rectangle()

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Add PDF versioning API

  New PdfSurface functions:
    get_versions()
    restrict_to_version()
    version_to_string()

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Add Device documentation

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Add Device::Lock for acquiring devices safely

  To aid in acquiring devices in an exception-safe manner, a convenience class
  Device::Lock was added that acquires the specified device for the duration of
  the object.

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Wrap cairo_device_acquire|release()

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Wrap cairo_surface_get_device()

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Add Region documentation

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Wrap cairo_region_xor_*

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Wrap cairo_region_create_rectangles()

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Wrap Region::copy()

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Provide static factory functions for Region

  Since Region objects are ref-counted, don't allow them to be instantiated
  manually, but provide static create() functions for automatically managing them
  with RefPtrs.  Also, remember to check the error status when creating them.

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Fix Region api to throw exception rather than return status

  All other API throws exceptions instead of returning error statuses, so make
  this be consistent as well. (the only possible error for these operations is
  NO_MEMORY)

2010-12-30  Jonathon Jongsma  <jjongsma@gnome.org>

  Add new surface type enums

  These are not really used in cairomm, but it's nice to have them defined in any
  case.

2010-11-03  Murray Cumming  <murrayc@murrayc.com>

  A NEWS entry for a future release.

2010-11-03  Murray Cumming  <murrayc@murrayc.com>

  Context::arc(): Correct the documentation, as in the C documentation.

  * cairomm/context.h: arc(): Update the documentation based on the latest
  version of the cairo_arc() documentation, which was apparently fixed since
  we last wrote the C++ documentation based on it.
  This fixes bug #31345 (Christopher Head) about bad math in arc()
  documentation.

2010-10-26  Murray Cumming  <murrayc@murrayc.com>

  Post-release version increment

2010-10-26  Armin Burgmeier  <armin@arbur.net>

  Fix the build with MSVC (really)

  The previous commit only included the ChangeLog for some reason.
  
  2009-10-26  Armin Burgmeier  <armin@arbur.net>
  
  	* MSVC_Net2005/cairomm/cairomm.rc.in:
  	* MSVC_Net2008/cairomm/cairomm.rc.in: Replaced GENERIC_MAJOR_VERSION
  	et al. by CAIROMM_MAJOR_VERSION, so that they are properly replaced
  	during configure.
  
  	* MSVC_Net2005/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2005/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2005/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2005/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2005/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2005/examples/user-font/user-font.vcproj:
  	* MSVC_Net2008/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2008/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2008/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2008/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2008/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2008/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2008/examples/user-font/user-font.vcproj: Added
  	$(SolutionDir)/cairomm to the include search paths, so that
  	cairommconfig.h is found even if configure did not run.
  
  	* cairomm/fontface.cc: MSVC does not allow to reinterpret_cast a bool
  	to void*, so use an int instead.
  
  	* examples/surfaces/image-surface.cc:
  	* examples/surfaces/pdf-surface.cc:
  	* examples/surfaces/ps-surface.cc:
  	* examples/surfaces/svg-surface.cc:
  	* examples/text/text-rotate.cc: Define _USE_MATH_DEFINES before
  	including anything, to make sure we get the defines even if math.h
  	is included indirectly via another header.
  
  	* cairomm/context.cc: In set_dash(std::valarray<double>), copy the
  	valarray into a vector and then call set_dash(std::vector<double>).
  	The reason is that there is no guarantee that the memory in a
  	std::valarray is contiguous, and also that in MSVC's STL (and also in
  	the C++ standard) std::valarray<T>::operator[](size_t) const returns
  	a T, not a const T&, so &dashes[0] is a compiler error if dashes is a
  	const std::valarray<double>&.

2010-10-22  Armin Burgmeier  <armin@arbur.net>

  Added support for 64 bit and Visual Studio 2010.

  	* MSVC_Net2008/.cvsignore:
  	* MSVC_Net2005/examples/png-file/png-file.vcproj:
  	* MSVC_Net2008/examples/png-file/png-file.vcproj: Removed.
  
  	* MSVC_Net2005/README:
  	* MSVC_Net2005/cairomm.sln:
  	* MSVC_Net2005/cairomm/cairomm.vcproj:
  	* MSVC_Net2005/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2005/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2005/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2005/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2005/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2005/examples/user-font/user-font.vcproj:
  	* MSVC_Net2005/gendef/gendef.vcproj:
  	* MSVC_Net2008/README:
  	* MSVC_Net2008/cairomm.sln:
  	* MSVC_Net2008/cairomm/cairomm.vcproj:
  	* MSVC_Net2008/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2008/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2008/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2008/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2008/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2008/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2008/examples/user-font/user-font.vcproj:
  	* MSVC_Net2008/gendef/gendef.vcproj:
  	* MSVC_Net2010/README:
  	* MSVC_Net2010/cairomm.sln:
  	* MSVC_Net2010/cairomm/cairomm.rc.in:
  	* MSVC_Net2010/cairomm/cairomm.vcxproj:
  	* MSVC_Net2010/cairomm/cairomm.vcxproj.filters:
  	* MSVC_Net2010/examples/image-surface/image-surface.vcxproj:
  	* MSVC_Net2010/examples/image-surface/image-surface.vcxproj.filters:
  	* MSVC_Net2010/examples/pdf-surface/pdf-surface.vcxproj:
  	* MSVC_Net2010/examples/pdf-surface/pdf-surface.vcxproj.filters:
  	* MSVC_Net2010/examples/ps-surface/ps-surface.vcxproj:
  	* MSVC_Net2010/examples/ps-surface/ps-surface.vcxproj.filters:
  	* MSVC_Net2010/examples/svg-surface/svg-surface.vcxproj:
  	* MSVC_Net2010/examples/svg-surface/svg-surface.vcxproj.filters:
  	* MSVC_Net2010/examples/text-rotate/text-rotate.vcxproj:
  	* MSVC_Net2010/examples/text-rotate/text-rotate.vcxproj.filters:
  	* MSVC_Net2010/examples/toy-text/toy-text.vcxproj:
  	* MSVC_Net2010/examples/toy-text/toy-text.vcxproj.filters:
  	* MSVC_Net2010/examples/user-font/user-font.vcxproj:
  	* MSVC_Net2010/examples/user-font/user-font.vcxproj.filters:
  	* MSVC_Net2010/filelist.am:
  	* MSVC_Net2010/gendef/gendef.cc:
  	* MSVC_Net2010/gendef/gendef.vcxproj:
  	* MSVC_Net2010/gendef/gendef.vcxproj.filters:
  	* Makefile.am:
  	* configure.ac: Added support for 64 bit and Visual Studio 2010.

2010-10-22  Murray Cumming  <murrayc@murrayc.com>

  Update for the 1.9.4 release that I made without pulling

2010-09-10  Murray Cumming  <murrayc@murrayc.com>

  Context, Surface: Add some new methods.

  * cairomm/context.[h|cc]: Added in_clip().
  * cairomm/surface.[h|cc]: Added get_mime_data(), set_mime_data(),
    unset_mime_data().

2010-09-07  Murray Cumming  <murrayc@murrayc.com>

  Added Device class.

  	* cairomm/device.[h|cc]: Added these files, wrapping cairo_device_t.
    * cairomm/filelist.am:
    * cairomm/cairomm.h: Mention the new file.

2010-09-06  Murray Cumming  <murrayc@murrayc.com>

  1.9.2

2010-09-02  Murray Cumming  <murrayc@murrayc.com>

  Context: set_dash(): Make the dashes parameter const.

  * cairomm/context.[h|cc]: set_dash(): Add versions that take a const
    vector parameter, deprecating the old versions.

2010-09-02  Murray Cumming  <murrayc@murrayc.com>

  Context: Make some methods const, deprecating the non-const versions.

  * cairomm/context.h: device_to_user(, device_to_user_distance(),
    user_to_device(), user_to_device_distance(): Deprecate the non-const versions,
    adding const versions.

2010-09-02  Ian Britten  <britten@dilbert.caris.priv>

  2010-06-10 Ian Britten <britten@caris.com>

  	Cleanup of most -Weffc++ warnings (Continuation of previous commit)
  	Bug #28246
  
  	* cairomm/fontface.h (FontFace::FontFace):
  	* cairomm/path.h (Path::Path):
  	* cairomm/pattern.h (Pattern::Pattern):
  	* cairomm/scaledfont.h (ScaledFont::ScaledFont):
  	* cairomm/surface.h (Surface::Surface): Declare a private copy
  	constructor and assignment operator in order to explicitly prevent
  	objects from being copied by value.  That was never valid, and not
  	disallowing it seems to have been merely an oversight.
  
  	* cairomm/fontoptions.cc:
  	* cairomm/scaledfont.cc: Initialize member(s) in initialization list.
  
  	* cairomm/scaledfont.h: Declared ~ScaledFont() virtual

2010-07-19  Murray Cumming  <murrayc@murrayc.com>

  1.9.1

2010-07-06  Murray Cumming  <murrayc@murrayc.com>

  Add Region, wrapping cairo_region_t, new in cairo 1.10.

  * cairomm/region.[h|cc]: Added this class, wrapping it like other
      reference-counted types, such as Pattern.
      * cairomm/cairomm.h: Add an include of it here.
      * cairomm/filelist.am: Mention the new files here.

2010-06-07  Daniel Elstner  <danielk@openismus.com>

  Disallow copying of Cairo::Context objects

  * cairomm/context.h (Cairo::Context): Declare a private copy
  constructor and assignment operator in order to explicitly prevent
  objects from being copied by value.  That was never valid, and not
  disallowing it seems to have been merely an oversight.

2010-06-07  Daniel Elstner  <danielk@openismus.com>

  Do not unnecessarily cast booleans to pointers

  * cairomm/fontface.cc (USER_DATA_KEY_DEFAULT_TEXT_TO_GLYPHS): Put
  dummy object into an anonymous namespace and make it static.
  (UserFontFace::text_to_glyphs): Do not cast a boolean to a pointer
  in order to indicate state via the font face's user data.  There are
  fairly safe alternative casts to do this, but it is much simpler to
  just take the address of any existing object to get a non-0 pointer.
  (UserFontFace::UserFontFace): Remove unnecessary casts.

2010-06-07  Armin Burgmeier  <armin@arbur.net>

  Fix the build with MSVC

  2009-10-26  Armin Burgmeier  <armin@arbur.net>
  
  	* MSVC_Net2005/cairomm/cairomm.rc.in:
  	* MSVC_Net2008/cairomm/cairomm.rc.in: Replaced GENERIC_MAJOR_VERSION
  	et al. by CAIROMM_MAJOR_VERSION, so that they are properly replaced
  	during configure.
  
  	* MSVC_Net2005/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2005/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2005/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2005/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2005/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2005/examples/user-font/user-font.vcproj:
  	* MSVC_Net2008/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2008/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2008/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2008/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2008/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2008/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2008/examples/user-font/user-font.vcproj: Added
  	$(SolutionDir)/cairomm to the include search paths, so that
  	cairommconfig.h is found even if configure did not run.
  
  	* cairomm/fontface.cc: MSVC does not allow to reinterpret_cast a bool
  	to void*, so use an int instead.
  
  	* cairomm/context.cc:
  	* examples/surfaces/image-surface.cc:
  	* examples/surfaces/pdf-surface.cc:
  	* examples/surfaces/ps-surface.cc:
  	* examples/surfaces/svg-surface.cc:
  	* examples/text/text-rotate.cc: Define _USE_MATH_DEFINES before
  	including anything, to make sure we get the defines even if math.h
  	is included indirectly via another header.

2010-06-07  Augusto Jun Devegili  <monipol@gmx.com>

  Put ifdefs around 32-bit-only API, to fix the build on 64-bit machines.

  * cairomm/quartz_font.[h|cc]: Use #ifndef __LP64__, as cairo does.

2010-06-07  Murray Cumming  <murrayc@murrayc.com>

  Fix the ChangeLog.

2010-06-07  Murray Cumming  <murrayc@murrayc.com>

  Actually install cairomm-xlib-xrender-1.0.pc.

  * configure.ac: Fix a typo in the check for xlib-xrender support in
      cairo. Fixes bug #27066.

2010-04-20  Daniel Elstner  <daniel.kitta@gmail.com>

  Clean up configure.ac and add silent rules support

  * configure.ac (AC_INIT): Specify correct URLs for bug reports and the
  project home page.
  (AM_SILENT_RULES): Call macro if defined.
  (MM_PREREQ): Require mm-common 0.8.
  (BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB): Rewrite the fragile shell code
  of the boost check.

2009-10-19  Jonathon Jongsma  <jjongsma@gnome.org>

  bump to 1.8.4, update NEWS

2009-08-13  Jonathon Jongsma  <jjongsma@gnome.org>

  Don't force tests to be enabled when CAIROMM_DEVEL is defined

  This was hacked in to ensure that I always built with tests enabled, but the
  boost configure detection scripts are broken right now on my setup, so this just
  hinders my ability to get things done.  remove it.

2009-08-13  Daniel Elstner  <danielk@openismus.com>

  Distribute mm-common documentation utilities

  * docs/Makefile.am (dist_noinst_DATA): List the utility scripts
  installed by mm-common-prepare here, so they will be distributed.

2009-08-13  Daniel Elstner  <danielk@openismus.com>

  Add missing call to MM_CONFIG_DOCTOOL_DIR

  * configure.ac: Call MM_CONFIG_DOCTOOL_DIR([docs]) to indicate to
  mm-common-prepare that this module cannot depend on the utilities
  shipped with glibmm, and needs its own copies.

2009-08-13  Daniel Elstner  <danielk@openismus.com>

  Fix left-over cairomm/cairommconfig.h includes

  * cairomm/cairomm.h: Remove directory prefix from cairommconfig.h
  include statement.
  * cairomm/context.cc: Include <cmath> unconditionally instead of
  conditionally including <math.h>.
  * examples/surfaces/*.cc: ditto,
  * examples/text/text-rotate.cc: ditto.

2009-08-13  Daniel Elstner  <danielk@openismus.com>

  Review and clean up after build overhaul

  * autogen.sh: Pass --enable-maintainer-mode to ./configure since the
  automatic rebuild of the reference documentation is only enabled in
  maintainer mode.  AM_MAINTAINER_MODE is already in configure.ac.
  * configure.ac (AC_CONFIG_HEADERS): Prepend build/config.h to the
  list of header files, because the first file in the list has its .in
  file generated by autoheader, and will thus include every AC_DEFINE
  from every Autoconf macro that is used.  The macros defined in the
  installed cairommconfig.h header should be namespaced and limited to
  meta information about the installed cairomm library.
  Also move cairommconfig.h to the top-level directory, in order to
  avoid the need to add the cairomm/ subdirectory to the include path.
  (PKG_CHECK_MODULES): Collapse the checks for optional cairo modules
  into a loop, and use PKG_CHECK_EXISTS() instead of the full-blown
  PKG_CHECK_MODULES().  Also, be a bit cleverer about the lists of .pc
  files and module names generated along the way.
  (AC_CONFIG_FILES): List all potentially installed files literally,
  instead of creating the list of output files dynamically.  This is
  much simpler and also gets us free shipping.  Remove data/Makefile.
  * cairommconfig.h.in: Add file to repository, as it should not be
  autogenerated.  Of the content, keep only the CAIROMM_ namespaced
  macros.
  * cairomm/context*.cc: Remove cairomm/ prefix from cairommconfig.h
  include statements.  This was already wrong before, but moving the
  file around made it visible.
  * Makefile.am: Clean up a bit.
  (DIST_SUBDIRS): Have Automake figure it out automatically.
  (cairomm_include_HEADERS): Remove, as cairomm/cairomm.h is already
  installed in cairomm/Makefile.am.
  (nodist_cairomm_libinclude_HEADERS): Relocate cairommconfig.h to
  the top-level directory.
  (nodist_pkgconfig_DATA): Use $(CAIROMM_INSTALL_PC) substitution from
  configure.ac to install the appropriate pkg-config data files.
  * cairomm/Makefile.am: Rewrite without using compile-binding.am, as
  it is not really the appropriate tool for the cairomm job.
  * cairomm/filelist.am (cairomm_cc): Rename from $(files_extra_cc).
  (cairomm_public_h): Rename variable from $(files_extra_h) and remove
  cairommconfig.h from the list.
  (cairomm_private_h): Rename variable from $(files_extra_ph).
  * docs/Makefile.am (doc_input): Adjust variable names.
  (dist_noinst_DATA): Add reference/cairomm.css to the list.
  (pubdocbase): Define for completeness.
  (htmlrefpub): Correct documentation URL.
  * docs/Doxyfile.in: Strip trailing whitespace from every line.
  (STRIP_FROM_PATH), (STRIP_FROM_INC_PATH), (INCLUDE_PATH): Do not
  strip the cairomm/ subdirectory prefix from the displayed filenames.
  (EXCLUDE): Remove list of files to exclude, since the list of input
  files is specified explicitly with the new build organization.
  (EXPAND_AS_DEFINED): Expand version number macros, although at the
  moment they are probably not used anywhere in the public headers.
  * data/cairomm-*.pc.in: Use @PACKAGE_VERSION@ instead of @VERSION@.
  * data/cairomm-1.0.pc.in (htmlrefpub): Correct documentation URL.
  (Cflags): Add missing -I${libdir}/@CAIROMM_MODULE_NAME@/include.
  * data/Makefile.am: Delete now unused build file.
  * docs/reference/Makefile.am: Delete left-over build file.

2009-08-13  David King  <davidk@openismus.com>

  Get rid of all Makefile.am in the MSVC dirs

  * MSVC_Net2005/**/.cvsignore:
  * MSVC_Net2008/**/.cvsignore: Remove obsolete .cvsignore files.
  * MSVC_Net2005/**/Makefile.am:
  * MSVC_Net2008/**/Makefile.am: Remove recursive build files.
  * MSVC_Net2005/filelist.am:
  * MSVC_Net2008/filelist.am: Recursively list all files that should go
  into the distribution.
  * configure.ac (AC_CONFIG_FILES): Remove all Makefile outputs to the
  MSVC subdirectories.
   (AC_CONFIG_COMMANDS): Copy the configuration header files into the
  MSVC subdirectories by making config.status execute custom
  configuration commands. This is easier than doing it at the Makefile
  level, where it was previously implemented.
  * Makefile.am: Include the filelist.am files from the MSVC
  subdirectories.
   (SUBDIRS): Remove MSVC_Net200[58] directories from the list.
   (dist_noinst_DATA): Distribute the MSVC project files.
   (DISTCLEANFILES): Include the copied configuration header files in a
   distclean.

2009-08-13  David King  <davidk@openismus.com>

  Switch to mm-common documentation build infrastructure

  * .gitignore: Add new generated documentation files.
  * Makefile.am: Remove old documentation generation build.
  * configure.ac:
  * docs/reference/Makefile.am: Remove, with switch to non-recursive
  documentation build.
  * data/cairomm-1.0.pc.in:
  * docs/Makefile.am: Switch to new documentation build infrastructure
  from mm-common.
  * docs/reference/Doxyfile.in: Modernise and disable several unused
  features of the Doxygen output.

2009-08-13  David King  <davidk@openismus.com>

  Simplify build system of examples and cairomm subdirectores

  * .gitignore: Add INSTALL, mm-common *.am files and .dirstamp.
  * Makefile.am: Change VERSION to PACKAGE_VERSION. Begin transition
  to use of new build infrastructure.
  * cairomm/Makefile.am: Simplify by moving significant portions to
  toplevel Makefile.am.
  * cairomm/filelist.am: List of files for libcairomm. Move private
  source files to files_extra_cc.
  * configure.ac: Use MM_INIT_MODULE and remove example subdirectory
  Makefile.am.
  * examples/surfaces/Makefile.am:
  * examples/text/Makefile.am: Remove.
  * examples/Makefile.am: Convert examples tree to non-recursive
  build, with single, slimmer Makefile.am.

2009-08-13  David King  <davidk@openismus.com>

  Initial changes to ease transition to mm-common build infrastructure

  * autogen.sh: Replace with a simple wrapper around mm-common-prepare
  and autoreconf.
  * build/*.m4: Move from m4 directory.
  * Makefile.am: Rename m4 directory to build.
  * configure.ac: Rename from configure.in, as it is recommended by
  Autoconf developers and currently required by mm-common-prepare. Major
  update to take advantage of mm-common build infrastructure.
  * INSTALL: Remove from repository, using GNU install instructions
  instead.
  * cairomm/Makefile.am: Remove unnecessary win32 conditionals.

2009-08-07  Christopher Harvey  <chris@basementcode.com>

  Added some documentation to the rel_* functions in the Context class

2009-07-08  Jonathon Jongsma  <jjongsma@gnome.org>

  update NEWS for release

2009-07-06  Jonathon Jongsma  <jjongsma@gnome.org>

  Bump version number for release 1.8.2

2009-07-05  Jānis Rukšāns  <thedogfarted@gmail.com>

  Restore 1.6.x API / ABI that was unintentionally broken in 1.8.x

2009-01-26  Jonathon Jongsma  <jjongsma@gnome.org>

  Bump version to 1.8.0 release

2009-01-20  Jonathon Jongsma  <jjongsma@gnome.org>

  Fix documentation of ImageSurface::create()

  	* cairomm/surface.h: fixed the documentation for ImageSurface::create() to
  	match the cairo C documentation (it must have changed since we initially
  	copied the documentation -- it'd really be nice to have a way to automatically
  	generate the C++ documentation...)

2008-12-20  Jonathon Jongsma  <jjongsma@gnome.org>

  fix some distcheck failures

2008-12-20  Jonathon Jongsma  <jjongsma@gnome.org>

  Update NEWS and bump version to 1.7.2

2008-12-20  Jonathon Jongsma  <jjongsma@gnome.org>

  scaled_matrix() -> scaling_matrix()

2008-12-20  Armin Burgmeier  <armin@arbur.net>

  Updated MSVC project files

  2008-12-20  Armin Burgmeier  <armin@openismus.com>
  
  	* cairomm/pattern.h: Forward-declared Matrix as a class instead of as
  	a struct, to prevent MSVC from complaining about "'Cairo::Matrix' :
  	type name first seen using 'struct' now seen using 'class'".
  
  	* MSVC_Net2005/examples/png_file:
  	* MSVC_Net2008/examples/png_file: Removed, as the corresponding
  	example has been removed.
  
  	* MSVC_Net2005/cairomm/cairomm.vcproj:
  	* MSVC_Net2008/cairomm/cairomm.vcproj: Link against libsigc++, added
  	matrix.h, win32_font.h, matrix.cc and win32_font.cc to the project.
  
  	* MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2005/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2005/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj:
  	* MSVC_Net2008/examples/ps-surface/ps-surface.vcproj:
  	* MSVC_Net2008/examples/svg-surface/svg-surface.vcproj:
  	* MSVC_Net2008/examples/text-rotate/text-rotate.vcproj:
  	* MSVC_Net2008/examples/text-rotate/text-rotate.vcproj: Adapt path to
  	source files.
  
  	* MSVC_Net2005/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2005/examples/image-surface/Makefile.am:
  	* MSVC_Net2005/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2005/examples/toy-text/Makefile.am:
  	* MSVC_Net2005/examples/user-font/user-font.vcproj:
  	* MSVC_Net2005/examples/user-font/Makefile.am:
  	* MSVC_Net2005/examples/Makefile.am: Added MSVC2005 projects for these
  	examples.
  
  	* MSVC_Net2008/examples/image-surface/image-surface.vcproj:
  	* MSVC_Net2008/examples/image-surface/Makefile.am:
  	* MSVC_Net2008/examples/toy-text/toy-text.vcproj:
  	* MSVC_Net2008/examples/toy-text/Makefile.am:
  	* MSVC_Net2008/examples/user-font/user-font.vcproj:
  	* MSVC_Net2008/examples/user-font/Makefile.am:
  	* MSVC_Net2008/examples/Makefile.am: Added MSVC2008 projects for these
  	examples.
  
  	* MSVC_Net2005/cairomm.sln:
  	* MSVC_Net2008/cairomm.sln: Added the new example projects to the
  	corresponding solution.
  
  	* configure.in: Create Makefiles in the newly added directories.

2008-12-15  Jonathon Jongsma  <jjongsma@gnome.org>

  Revert virtual ScaledFont destructor (no ABI break)

  	* cairomm/scaledfont.h: revert the virtual destructor since it's unnecessary
  	and an ABI change.  The ScaledFont subclasses don't have any virtual functions
  	or any subclass-specific data that needs to be cleaned up, so a virtual
  	destructor is not really necessary here.
  	* tests/test-scaled-font.cc: a little paranoia test just to ensure that the
  	base destructor is called correctly reducing the ref count when we delete a
  	FtFontFace

2008-12-15  Jonathon Jongsma  <jjongsma@gnome.org>

  Add tests and fix a bug in UserFontFace

  	* cairomm/fontface.cc: fixed a bug in UserFont where I was incorrectly using a
  	function static variable and so it was not returning negative numbers for
  	num_glyphs when I expected it to
  	* tests/Makefile.am:
  	* tests/test-font-face.cc:
  	* tests/test-user-font.cc: Added tests for UserFontFace

2008-12-14  Jonathon Jongsma  <jjongsma@gnome.org>

  Really fix ScaledFont::get_font_face() bug

  	* cairomm/scaledfont.cc: actually fix a reference-counting issue with
  	ScaledFont::get_font_face() that I thought I had fixed in b1d01ff7
  	* tests/test-scaled-font.cc: add a test for the get_font_face() bug

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  update ignores again

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  bump version since we forgot to do it after release

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  Cross-reference typedef-ed structs

  	* cairomm/types.h: add cross-reference links to the cairo manual for all types
  	that are just typedefs of C structs

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  Minor changes to text-rotate example

  	* .gitignore: ignore the new example executable names
  	* examples/text/Makefile.am: normalize the text-rotate example
  	executable name
  	* examples/text/text-rotate.cc: print a message to the terminal explaining
  	that a file was written

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  Add surface examples to doxygen documentation

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  Restructure examples directory

  	Restructure the examples directory so that there aren't so many subdirs, which
  	tends to slow down builds since they can't be done in parallel.  Also
  	'standardize' the executable names a bit more and give the source files
  	meaningful names rather than 'main.cc' or similar
  
  	* configure.in:
  	* examples/.cvsignore: Removed.
  	* examples/Makefile.am:
  	* examples/README:
  	* examples/pdf-surface/.cvsignore: Removed.
  	* examples/pdf-surface/Makefile.am: Removed.
  	* examples/png_file/.cvsignore: Removed.
  	* examples/png_file/Makefile.am: Removed.
  	* examples/ps-surface/.cvsignore: Removed.
  	* examples/ps-surface/Makefile.am: Removed.
  	* examples/surfaces/image-surface.cc: Renamed from examples/png_file/main.cc.
  	* examples/surfaces/pdf-surface.cc: Renamed from examples/pdf-surface/main.cc.
  	* examples/surfaces/ps-surface.cc: Renamed from examples/ps-surface/main.cc.
  	* examples/surfaces/svg-surface.cc: Renamed from examples/svg-surface/main.cc.
  	* examples/svg-surface/.cvsignore: Removed.
  	* examples/svg-surface/Makefile.am: Removed.

2008-12-12  Jonathon Jongsma  <jjongsma@gnome.org>

  Add clear warning about lifetime of UserFontFace objects

  Also include examples in doxygen documentation

2008-12-11  Jonathon Jongsma  <jjongsma@gnome.org>

  update ignores

2008-12-11  Jonathon Jongsma  <jjongsma@gnome.org>

  Enhance the UserFontFace example

  	* examples/text/user-font.cc: enhanced the UserFontFace example quite a bit so
  	that it shows a few different virtual functions and actually draws different
  	sized boxes for different characters

2008-12-11  Jonathon Jongsma  <jjongsma@gnome.org>

  Fix up UserFontFace documentation from redesign

2008-12-08  Jonathon Jongsma  <jjongsma@gnome.org>

  Added a very simple UserFontFace example

  	* examples/text/Makefile.am:
  	* examples/text/user-font.cc: Added a very simple example of using a
  	UserFontFace to draw text

2008-12-08  Jonathon Jongsma  <jjongsma@gnome.org>

  Fix UserFontFace::init()

  	* cairomm/fontface.cc: Fix the default implementation of UserFontFace::init()
  	to set up the font extents parameter correctly according to the documentation

2008-12-08  Jonathon Jongsma  <jjongsma@gnome.org>

  Fix the UserFontFace::text_to_glyphs default vfunc

  	* cairomm/fontface.cc: 'fix' the text_to_glyphs implementation so that the
  	default virtual function will be bypassed and the unicode_to_glyph will be
  	called instead.  This is done in the C implementation by passing a negative
  	value for the num_glyphs output parameter, but since we're using a std::vector
  	for the glyphs, it's not possible to return a negative value.  So I'm using an
  	ugly hack that will set a boolean flag the first time the default
  	text_to_glyphs vfunc is called (which implies that that function has not been
  	reimplemented in a derived class), and if we check that boolean flag and it is
  	set, we will pass a negative value down to the C caller

