Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit ef71101

Browse files
authored
Merge pull request #61 from livecode/peter-b/libcairo-quartz
libcairo: Build fixes for revpdfprinter on iOS 10 and MacOS
2 parents 8859b6e + e9a9b71 commit ef71101

4 files changed

Lines changed: 25 additions & 11 deletions

File tree

libcairo/libcairo.gyp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@
416416
'src/pixman-implementation.c',
417417
'src/pixman-linear-gradient.c',
418418
'src/pixman-matrix.c',
419-
#'src/pixman-mips-dspr2.c',
419+
'src/pixman-mips-dspr2.c',
420420
'src/pixman-mips.c',
421421
'src/pixman-mmx.c',
422422
'src/pixman-noop.c',
@@ -427,11 +427,11 @@
427427
'src/pixman-region32.c',
428428
'src/pixman-solid-fill.c',
429429
'src/pixman-sse2.c',
430-
#'src/pixman-ssse3.c',
430+
'src/pixman-ssse3.c',
431431
'src/pixman-timer.c',
432432
'src/pixman-trap.c',
433433
'src/pixman-utils.c',
434-
#'src/pixman-vmx.c',
434+
'src/pixman-vmx.c',
435435
'src/pixman-x86.c',
436436
'src/pixman.c',
437437

@@ -447,6 +447,8 @@
447447
[
448448
['exclude', '^src/cairo-(wgl|tee|egl|gl|directfb|eagle|ft|os2|png|ps|qt|quartz|skia|script|svg|vg|win32|xcb|xlib|xml|cogl|drm).*\\.c(pp)?$'],
449449
['exclude', '^src/pixman-(vmx).*\\.c$'],
450+
['exclude', '^src/pixman-ssse3\\.c$'],
451+
['exclude', '^src/pixman-mips-dspr2\\.c$']
450452
],
451453

452454
# These files don't compile and aren't needed, seemingly

libcairo/src/cairo-features.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
#define HAVE_STDINT_H 1
1010
#define CAIRO_HAS_QUARTZ_SURFACE 1
1111
#define CAIRO_HAS_QUARTZ_FONT 1
12+
#define CAIRO_HAS_QUARTZ_APPLICATION_SERVICES 1
13+
#define CAIRO_HAS_QUARTZ_CORE_GRAPHICS 1
14+
#define CAIRO_HAS_QUARTZ_ATSUFONTID 1
1215
#ifdef __BIG_ENDIAN__
1316
#define WORDS_BIGENDIAN 1
1417
#define FLOAT_WORDS_BIGENDIAN 1
@@ -22,6 +25,7 @@
2225
#define HAVE_STDINT_H 1
2326
#define CAIRO_HAS_QUARTZ_SURFACE 1
2427
#define CAIRO_HAS_QUARTZ_FONT 1
28+
#define CAIRO_HAS_QUARTZ_CORE_GRAPHICS 1
2529
#endif
2630

2731
#ifdef _WINDOWS

libcairo/src/cairo-quartz-font.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,10 @@ static int (*CGFontGetAscentPtr) (CGFontRef fontRef) = NULL;
9292
static int (*CGFontGetDescentPtr) (CGFontRef fontRef) = NULL;
9393
static int (*CGFontGetLeadingPtr) (CGFontRef fontRef) = NULL;
9494

95+
#ifdef CAIRO_HAS_QUARTZ_ATSUFONTID
9596
/* Not public anymore in 64-bits nor in 10.7 */
96-
static ATSFontRef (*FMGetATSFontRefFromFontPtr) (FMFont iFont) = NULL;
97+
static ATSFontRef (*FMGetATSFontRefFromFontPtr) (ATSUFontID iFont) = NULL;
98+
#endif /* CAIRO_HAS_QUARTZ_ATSUFONTID */
9799

98100
static cairo_bool_t _cairo_quartz_font_symbol_lookup_done = FALSE;
99101
static cairo_bool_t _cairo_quartz_font_symbols_present = FALSE;
@@ -133,7 +135,9 @@ quartz_font_ensure_symbols(void)
133135
CGContextGetAllowsFontSmoothingPtr = dlsym(RTLD_DEFAULT, "CGContextGetAllowsFontSmoothing");
134136
CGContextSetAllowsFontSmoothingPtr = dlsym(RTLD_DEFAULT, "CGContextSetAllowsFontSmoothing");
135137

138+
#ifdef CAIRO_HAS_QUARTZ_ATSUFONTID
136139
FMGetATSFontRefFromFontPtr = dlsym(RTLD_DEFAULT, "FMGetATSFontRefFromFont");
140+
#endif /* CAIRO_HAS_QUARTZ_ATSUFONTID */
137141

138142
if ((CGFontCreateWithFontNamePtr || CGFontCreateWithNamePtr) &&
139143
CGFontGetGlyphBBoxesPtr &&
@@ -814,6 +818,7 @@ _cairo_quartz_scaled_font_get_cg_font_ref (cairo_scaled_font_t *abstract_font)
814818
/*
815819
* compat with old ATSUI backend
816820
*/
821+
#ifdef CAIRO_HAS_QUARTZ_ATSUFONTID
817822

818823
/**
819824
* cairo_quartz_font_face_create_for_atsu_font_id:
@@ -857,3 +862,5 @@ cairo_atsui_font_face_create_for_atsu_font_id (ATSUFontID font_id)
857862
{
858863
return cairo_quartz_font_face_create_for_atsu_font_id (font_id);
859864
}
865+
866+
#endif /* CAIRO_HAS_QUARTZ_ATSUFONTID */

libcairo/src/cairo-quartz.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,13 @@
4040

4141
#if CAIRO_HAS_QUARTZ_SURFACE
4242

43-
#include <TargetConditionals.h>
43+
#if CAIRO_HAS_QUARTZ_CORE_GRAPHICS
44+
#include <CoreGraphics/CoreGraphics.h>
45+
#include <CoreText/CoreText.h>
46+
#endif
4447

45-
#if TARGET_OS_IPHONE
46-
# include <CoreGraphics/CoreGraphics.h>
47-
# include <CoreText/CoreText.h>
48-
# define ATSUFontID uint32_t
49-
#else
50-
# include <ApplicationServices/ApplicationServices.h>
48+
#if CAIRO_HAS_QUARTZ_APPLICATION_SERVICES
49+
#include <ApplicationServices/ApplicationServices.h>
5150
#endif
5251

5352
CAIRO_BEGIN_DECLS
@@ -74,8 +73,10 @@ cairo_quartz_surface_get_cg_context (cairo_surface_t *surface);
7473
cairo_public cairo_font_face_t *
7574
cairo_quartz_font_face_create_for_cgfont (CGFontRef font);
7675

76+
#if CAIRO_HAS_QUARTZ_ATSUFONTID
7777
cairo_public cairo_font_face_t *
7878
cairo_quartz_font_face_create_for_atsu_font_id (ATSUFontID font_id);
79+
#endif /* CAIRO_HAS_QUARTZ_ATSUFONTID */
7980

8081
#endif /* CAIRO_HAS_QUARTZ_FONT */
8182

0 commit comments

Comments
 (0)