diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-05-23 22:35:23 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-05-23 22:35:23 +0100 |
| commit | f02b0b7dd767112f13a42dedf98a8e942fd27dc3 (patch) | |
| tree | b9179c4d29b78c722cb269a7fee8528ad7d7a2f6 /src | |
| parent | cf391f688a73956a8ee4caa1f896cef39d4b2607 (diff) | |
| parent | 4835e35b1d483922ff6c80e6ed3a4d7055233e1b (diff) | |
Merge branch 'master' of ssh://git.carlh.net/home/carl/git/dcpomatic
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/render_subtitles.cc | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/render_subtitles.cc b/src/lib/render_subtitles.cc index ed7d131fd..16c6a3c4e 100644 --- a/src/lib/render_subtitles.cc +++ b/src/lib/render_subtitles.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014-2015 Carl Hetherington <cth@carlh.net> + Copyright (C) 2014-2016 Carl Hetherington <cth@carlh.net> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,6 +23,7 @@ #include "cross.h" #include "font.h" #include "dcpomatic_assert.h" +#include <fontconfig/fontconfig.h> #include <cairomm/cairomm.h> #include <pangomm.h> #include <boost/foreach.hpp> @@ -81,6 +82,7 @@ render_line (list<dcp::SubtitleString> subtitles, list<shared_ptr<Font> > fonts, shared_ptr<Image> image (new Image (AV_PIX_FMT_RGBA, dcp::Size (target.width, height), false)); image->make_black (); +#ifdef DCPOMATIC_HAVE_FORMAT_STRIDE_FOR_WIDTH Cairo::RefPtr<Cairo::ImageSurface> surface = Cairo::ImageSurface::create ( image->data()[0], Cairo::FORMAT_ARGB32, @@ -88,6 +90,18 @@ render_line (list<dcp::SubtitleString> subtitles, list<shared_ptr<Font> > fonts, image->size().height, Cairo::ImageSurface::format_stride_for_width (Cairo::FORMAT_ARGB32, image->size().width) ); +#else + /* Centos 5 does not have Cairo::ImageSurface::format_stride_for_width, so just use width * 4 + which I hope is safe (if slow) + */ + Cairo::RefPtr<Cairo::ImageSurface> surface = Cairo::ImageSurface::create ( + image->data()[0], + Cairo::FORMAT_ARGB32, + image->size().width, + image->size().height, + image->size().width * 4 + ); +#endif Cairo::RefPtr<Cairo::Context> context = Cairo::Context::create (surface); |
