Coverage Report

Created: 2026-08-14 08:24

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/cairo/src/cairoint.h
Line
Count
Source
1
/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
2
/* cairo - a vector graphics library with display and print output
3
 *
4
 * Copyright © 2002 University of Southern California
5
 * Copyright © 2005 Red Hat, Inc.
6
 *
7
 * This library is free software; you can redistribute it and/or
8
 * modify it either under the terms of the GNU Lesser General Public
9
 * License version 2.1 as published by the Free Software Foundation
10
 * (the "LGPL") or, at your option, under the terms of the Mozilla
11
 * Public License Version 1.1 (the "MPL"). If you do not alter this
12
 * notice, a recipient may use your version of this file under either
13
 * the MPL or the LGPL.
14
 *
15
 * You should have received a copy of the LGPL along with this library
16
 * in the file COPYING-LGPL-2.1; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
18
 * You should have received a copy of the MPL along with this library
19
 * in the file COPYING-MPL-1.1
20
 *
21
 * The contents of this file are subject to the Mozilla Public License
22
 * Version 1.1 (the "License"); you may not use this file except in
23
 * compliance with the License. You may obtain a copy of the License at
24
 * http://www.mozilla.org/MPL/
25
 *
26
 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
27
 * OF ANY KIND, either express or implied. See the LGPL or the MPL for
28
 * the specific language governing rights and limitations.
29
 *
30
 * The Original Code is the cairo graphics library.
31
 *
32
 * The Initial Developer of the Original Code is University of Southern
33
 * California.
34
 *
35
 * Contributor(s):
36
 *  Carl D. Worth <cworth@cworth.org>
37
 */
38
39
/*
40
 * These definitions are solely for use by the implementation of cairo
41
 * and constitute no kind of standard.  If you need any of these
42
 * functions, please drop me a note.  Either the library needs new
43
 * functionality, or there's a way to do what you need using the
44
 * existing published interfaces. cworth@cworth.org
45
 */
46
47
#ifndef _CAIROINT_H_
48
#define _CAIROINT_H_
49
50
#include "config.h"
51
52
#include <assert.h>
53
#include <stdlib.h>
54
#include <string.h>
55
#include <stdarg.h>
56
#include <stddef.h>
57
58
#include <math.h>
59
#include <limits.h>
60
#include <stdio.h>
61
62
#include "cairo.h"
63
#include <pixman.h>
64
65
#include "cairo-compiler-private.h"
66
#include "cairo-error-private.h"
67
68
#if CAIRO_HAS_PDF_SURFACE    || \
69
    CAIRO_HAS_PS_SURFACE     || \
70
    CAIRO_HAS_SCRIPT_SURFACE
71
#define CAIRO_HAS_DEFLATE_STREAM 1
72
#endif
73
74
#if CAIRO_HAS_PS_SURFACE  || \
75
    CAIRO_HAS_PDF_SURFACE || \
76
    CAIRO_HAS_SVG_SURFACE || \
77
    CAIRO_HAS_WIN32_SURFACE
78
#define CAIRO_HAS_FONT_SUBSET 1
79
#endif
80
81
#if CAIRO_HAS_PS_SURFACE  || \
82
    CAIRO_HAS_PDF_SURFACE || \
83
    CAIRO_HAS_FONT_SUBSET
84
#define CAIRO_HAS_PDF_OPERATORS 1
85
#endif
86
87
CAIRO_BEGIN_DECLS
88
89
#undef MIN
90
111M
#define MIN(a, b) ((a) < (b) ? (a) : (b))
91
92
#undef MAX
93
110M
#define MAX(a, b) ((a) > (b) ? (a) : (b))
94
95
#if _XOPEN_SOURCE >= 600 || defined (_ISOC99_SOURCE)
96
1.00M
#define ISFINITE(x) isfinite (x)
97
#else
98
#define ISFINITE(x) ((x) * (x) >= 0.) /* check for NaNs */
99
#endif
100
101
#ifndef FALSE
102
157M
#define FALSE 0
103
#endif
104
105
#ifndef TRUE
106
109M
#define TRUE 1
107
#endif
108
109
#ifndef M_PI
110
#define M_PI 3.14159265358979323846
111
#endif
112
113
#ifndef M_SQRT2
114
#define M_SQRT2 1.41421356237309504880
115
#endif
116
117
#ifndef M_SQRT1_2
118
#define M_SQRT1_2 0.707106781186547524400844362104849039
119
#endif
120
121
#undef  ARRAY_LENGTH
122
24.5M
#define ARRAY_LENGTH(__array) ((int) (sizeof (__array) / sizeof (__array[0])))
123
124
#undef STRINGIFY
125
#undef STRINGIFY_ARG
126
0
#define STRINGIFY(macro_or_string)    STRINGIFY_ARG (macro_or_string)
127
0
#define STRINGIFY_ARG(contents)       #contents
128
129
#if defined (__GNUC__)
130
18.9M
#define cairo_container_of(ptr, type, member) ({ \
131
18.9M
    const __typeof__ (((type *) 0)->member) *mptr__ = (ptr); \
132
18.9M
    (type *) ((char *) mptr__ - offsetof (type, member)); \
133
18.9M
})
134
#else
135
#define cairo_container_of(ptr, type, member) \
136
    ((type *)((char *) (ptr) - (char *) &((type *)0)->member))
137
#endif
138
139
140
0
#define ASSERT_NOT_REACHED    \
141
0
do {         \
142
0
    assert (!"reached");    \
143
0
} while (0)
144
#define COMPILE_TIME_ASSERT1(condition, line)   \
145
    typedef int compile_time_assertion_at_line_##line##_failed [(condition)?1:-1]
146
#define COMPILE_TIME_ASSERT0(condition, line) COMPILE_TIME_ASSERT1(condition, line)
147
#define COMPILE_TIME_ASSERT(condition)    COMPILE_TIME_ASSERT0(condition, __LINE__)
148
149
#define CAIRO_ALPHA_IS_CLEAR(alpha) ((alpha) <= ((double)0x00ff / (double)0xffff))
150
8.43M
#define CAIRO_ALPHA_SHORT_IS_CLEAR(alpha) ((alpha) <= 0x00ff)
151
152
195k
#define CAIRO_ALPHA_IS_OPAQUE(alpha) ((alpha) >= ((double)0xff00 / (double)0xffff))
153
2.79M
#define CAIRO_ALPHA_SHORT_IS_OPAQUE(alpha) ((alpha) >= 0xff00)
154
1.46k
#define CAIRO_ALPHA_IS_ZERO(alpha) ((alpha) <= 0.0)
155
156
8.43M
#define CAIRO_COLOR_IS_CLEAR(color) CAIRO_ALPHA_SHORT_IS_CLEAR ((color)->alpha_short)
157
2.78M
#define CAIRO_COLOR_IS_OPAQUE(color) CAIRO_ALPHA_SHORT_IS_OPAQUE ((color)->alpha_short)
158
159
/* Reverse the bits in a byte with 7 operations (no 64-bit):
160
 * Devised by Sean Anderson, July 13, 2001.
161
 * Source: http://graphics.stanford.edu/~seander/bithacks.html#ReverseByteWith32Bits
162
 */
163
9.29M
#define CAIRO_BITSWAP8(c) ((((c) * 0x0802LU & 0x22110LU) | ((c) * 0x8020LU & 0x88440LU)) * 0x10101LU >> 16)
164
165
/* Return the number of 1 bits in mask.
166
 *
167
 * GCC 3.4 supports a "population count" builtin, which on many targets is
168
 * implemented with a single instruction. There is a fallback definition
169
 * in libgcc in case a target does not have one, which should be just as
170
 * good as the open-coded solution below, (which is "HACKMEM 169").
171
 */
172
static inline int cairo_const
173
_cairo_popcount (uint32_t mask)
174
0
{
175
0
#if defined (__GNUC__)
176
0
    return __builtin_popcount (mask);
177
#else
178
    register int y;
179
180
    y = (mask >> 1) &033333333333;
181
    y = mask - y - ((y >>1) & 033333333333);
182
    return (((y + (y >> 3)) & 030707070707) % 077);
183
#endif
184
0
}
Unexecuted instantiation: cairo-font-face.c:_cairo_popcount
Unexecuted instantiation: cairo-font-options.c:_cairo_popcount
Unexecuted instantiation: cairo-image-surface.c:_cairo_popcount
Unexecuted instantiation: cairo-matrix.c:_cairo_popcount
Unexecuted instantiation: cairo-misc.c:_cairo_popcount
Unexecuted instantiation: cairo-mutex.c:_cairo_popcount
Unexecuted instantiation: cairo-path.c:_cairo_popcount
Unexecuted instantiation: cairo-pattern.c:_cairo_popcount
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_popcount
Unexecuted instantiation: cairo-recording-surface.c:_cairo_popcount
Unexecuted instantiation: cairo-rectangle.c:_cairo_popcount
Unexecuted instantiation: cairo-region.c:_cairo_popcount
Unexecuted instantiation: cairo-scaled-font.c:_cairo_popcount
Unexecuted instantiation: cairo-spline.c:_cairo_popcount
Unexecuted instantiation: cairo-stroke-style.c:_cairo_popcount
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_popcount
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_popcount
Unexecuted instantiation: cairo-surface.c:_cairo_popcount
Unexecuted instantiation: cairo-traps.c:_cairo_popcount
Unexecuted instantiation: cairo-unicode.c:_cairo_popcount
Unexecuted instantiation: cairo-user-font.c:_cairo_popcount
Unexecuted instantiation: cairo.c:_cairo_popcount
Unexecuted instantiation: cairo-ft-font.c:_cairo_popcount
Unexecuted instantiation: cairo-colr-glyph-render.c:_cairo_popcount
Unexecuted instantiation: cairo-svg-glyph-render.c:_cairo_popcount
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_popcount
Unexecuted instantiation: cairo-array.c:_cairo_popcount
Unexecuted instantiation: cairo-boxes.c:_cairo_popcount
Unexecuted instantiation: cairo-cache.c:_cairo_popcount
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_popcount
Unexecuted instantiation: cairo-clip.c:_cairo_popcount
Unexecuted instantiation: cairo-color.c:_cairo_popcount
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_popcount
Unexecuted instantiation: cairo-compositor.c:_cairo_popcount
Unexecuted instantiation: cairo-damage.c:_cairo_popcount
Unexecuted instantiation: cairo-debug.c:_cairo_popcount
Unexecuted instantiation: cairo-default-context.c:_cairo_popcount
Unexecuted instantiation: cairo-device.c:_cairo_popcount
Unexecuted instantiation: cairo-error.c:_cairo_popcount
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_popcount
Unexecuted instantiation: cairo-freed-pool.c:_cairo_popcount
Unexecuted instantiation: cairo-gstate.c:_cairo_popcount
Unexecuted instantiation: cairo-hash.c:_cairo_popcount
Unexecuted instantiation: cairo-image-compositor.c:_cairo_popcount
Unexecuted instantiation: cairo-image-source.c:_cairo_popcount
Unexecuted instantiation: cairo-line.c:_cairo_popcount
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_popcount
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_popcount
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_popcount
Unexecuted instantiation: cairo-no-compositor.c:_cairo_popcount
Unexecuted instantiation: cairo-observer.c:_cairo_popcount
Unexecuted instantiation: cairo-path-bounds.c:_cairo_popcount
Unexecuted instantiation: cairo-path-fill.c:_cairo_popcount
Unexecuted instantiation: cairo-path-fixed.c:_cairo_popcount
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_popcount
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_popcount
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_popcount
Unexecuted instantiation: cairo-path-stroke.c:_cairo_popcount
Unexecuted instantiation: cairo-pen.c:_cairo_popcount
Unexecuted instantiation: cairo-polygon.c:_cairo_popcount
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_popcount
Unexecuted instantiation: cairo-slope.c:_cairo_popcount
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_popcount
Unexecuted instantiation: cairo-spans.c:_cairo_popcount
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_popcount
Unexecuted instantiation: cairo-surface-offset.c:_cairo_popcount
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_popcount
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_popcount
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_popcount
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_popcount
Unexecuted instantiation: cairo-png.c:_cairo_popcount
Unexecuted instantiation: cairo-arc.c:_cairo_popcount
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_popcount
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_popcount
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_popcount
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_popcount
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_popcount
Unexecuted instantiation: cairo-clip-region.c:_cairo_popcount
Unexecuted instantiation: cairo-clip-surface.c:_cairo_popcount
Unexecuted instantiation: cairo-contour.c:_cairo_popcount
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_popcount
Unexecuted instantiation: cairo-freelist.c:_cairo_popcount
Unexecuted instantiation: cairo-hull.c:_cairo_popcount
Unexecuted instantiation: cairo-output-stream.c:_cairo_popcount
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_popcount
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_popcount
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_popcount
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_popcount
Unexecuted instantiation: cairo-wideint.c:_cairo_popcount
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_popcount
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_popcount
Unexecuted instantiation: cairo-image-info.c:_cairo_popcount
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_popcount
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_popcount
Unexecuted instantiation: cairo-version.c:_cairo_popcount
Unexecuted instantiation: cairo-cff-subset.c:_cairo_popcount
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_popcount
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_popcount
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_popcount
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_popcount
Unexecuted instantiation: cairo-type1-subset.c:_cairo_popcount
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_popcount
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_popcount
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_popcount
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_popcount
Unexecuted instantiation: cairo-tag-stack.c:_cairo_popcount
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_popcount
185
186
static cairo_always_inline cairo_bool_t
187
_cairo_is_little_endian (void)
188
0
{
189
0
    static const int i = 1;
190
0
    return *((char *) &i) == 0x01;
191
0
}
Unexecuted instantiation: cairo-font-face.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-font-options.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-image-surface.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-matrix.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-misc.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-mutex.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-path.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-pattern.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-recording-surface.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-rectangle.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-region.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-scaled-font.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-spline.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-stroke-style.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-surface.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-traps.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-unicode.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-user-font.c:_cairo_is_little_endian
Unexecuted instantiation: cairo.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-ft-font.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-colr-glyph-render.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-svg-glyph-render.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-array.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-boxes.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-cache.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-clip.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-color.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-compositor.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-damage.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-debug.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-default-context.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-device.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-error.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-freed-pool.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-gstate.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-hash.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-image-compositor.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-image-source.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-line.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-no-compositor.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-observer.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-path-bounds.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-path-fill.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-path-fixed.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-path-stroke.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-pen.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-polygon.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-slope.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-spans.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-surface-offset.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-png.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-arc.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-clip-region.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-clip-surface.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-contour.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-freelist.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-hull.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-output-stream.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-wideint.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-image-info.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-version.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-cff-subset.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-type1-subset.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-tag-stack.c:_cairo_is_little_endian
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_is_little_endian
192
193
#ifdef WORDS_BIGENDIAN
194
#define CAIRO_BITSWAP8_IF_LITTLE_ENDIAN(c) (c)
195
#else
196
9.29M
#define CAIRO_BITSWAP8_IF_LITTLE_ENDIAN(c) CAIRO_BITSWAP8(c)
197
#endif
198
199
#ifdef WORDS_BIGENDIAN
200
201
#define cpu_to_be16(v) (v)
202
#define be16_to_cpu(v) (v)
203
#define cpu_to_be32(v) (v)
204
#define be32_to_cpu(v) (v)
205
206
#else
207
208
static inline uint16_t cairo_const
209
cpu_to_be16(uint16_t v)
210
19.7M
{
211
19.7M
    return (v << 8) | (v >> 8);
212
19.7M
}
Unexecuted instantiation: cairo-font-face.c:cpu_to_be16
Unexecuted instantiation: cairo-font-options.c:cpu_to_be16
Unexecuted instantiation: cairo-image-surface.c:cpu_to_be16
Unexecuted instantiation: cairo-matrix.c:cpu_to_be16
Unexecuted instantiation: cairo-misc.c:cpu_to_be16
Unexecuted instantiation: cairo-mutex.c:cpu_to_be16
Unexecuted instantiation: cairo-path.c:cpu_to_be16
Unexecuted instantiation: cairo-pattern.c:cpu_to_be16
Unexecuted instantiation: cairo-raster-source-pattern.c:cpu_to_be16
Unexecuted instantiation: cairo-recording-surface.c:cpu_to_be16
Unexecuted instantiation: cairo-rectangle.c:cpu_to_be16
Unexecuted instantiation: cairo-region.c:cpu_to_be16
Unexecuted instantiation: cairo-scaled-font.c:cpu_to_be16
Unexecuted instantiation: cairo-spline.c:cpu_to_be16
Unexecuted instantiation: cairo-stroke-style.c:cpu_to_be16
Unexecuted instantiation: cairo-surface-snapshot.c:cpu_to_be16
Unexecuted instantiation: cairo-surface-wrapper.c:cpu_to_be16
Unexecuted instantiation: cairo-surface.c:cpu_to_be16
Unexecuted instantiation: cairo-traps.c:cpu_to_be16
Unexecuted instantiation: cairo-unicode.c:cpu_to_be16
Unexecuted instantiation: cairo-user-font.c:cpu_to_be16
Unexecuted instantiation: cairo.c:cpu_to_be16
Unexecuted instantiation: cairo-ft-font.c:cpu_to_be16
Unexecuted instantiation: cairo-colr-glyph-render.c:cpu_to_be16
Unexecuted instantiation: cairo-svg-glyph-render.c:cpu_to_be16
Unexecuted instantiation: cairo-analysis-surface.c:cpu_to_be16
Unexecuted instantiation: cairo-array.c:cpu_to_be16
Unexecuted instantiation: cairo-boxes.c:cpu_to_be16
Unexecuted instantiation: cairo-cache.c:cpu_to_be16
Unexecuted instantiation: cairo-clip-boxes.c:cpu_to_be16
Unexecuted instantiation: cairo-clip.c:cpu_to_be16
Unexecuted instantiation: cairo-color.c:cpu_to_be16
Unexecuted instantiation: cairo-composite-rectangles.c:cpu_to_be16
Unexecuted instantiation: cairo-compositor.c:cpu_to_be16
Unexecuted instantiation: cairo-damage.c:cpu_to_be16
Unexecuted instantiation: cairo-debug.c:cpu_to_be16
Unexecuted instantiation: cairo-default-context.c:cpu_to_be16
Unexecuted instantiation: cairo-device.c:cpu_to_be16
Unexecuted instantiation: cairo-error.c:cpu_to_be16
Unexecuted instantiation: cairo-font-face-twin.c:cpu_to_be16
Unexecuted instantiation: cairo-freed-pool.c:cpu_to_be16
Unexecuted instantiation: cairo-gstate.c:cpu_to_be16
Unexecuted instantiation: cairo-hash.c:cpu_to_be16
Unexecuted instantiation: cairo-image-compositor.c:cpu_to_be16
Unexecuted instantiation: cairo-image-source.c:cpu_to_be16
Unexecuted instantiation: cairo-line.c:cpu_to_be16
Unexecuted instantiation: cairo-mask-compositor.c:cpu_to_be16
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:cpu_to_be16
Unexecuted instantiation: cairo-mono-scan-converter.c:cpu_to_be16
Unexecuted instantiation: cairo-no-compositor.c:cpu_to_be16
Unexecuted instantiation: cairo-observer.c:cpu_to_be16
Unexecuted instantiation: cairo-path-bounds.c:cpu_to_be16
Unexecuted instantiation: cairo-path-fill.c:cpu_to_be16
Unexecuted instantiation: cairo-path-fixed.c:cpu_to_be16
Unexecuted instantiation: cairo-path-in-fill.c:cpu_to_be16
Unexecuted instantiation: cairo-path-stroke-boxes.c:cpu_to_be16
Unexecuted instantiation: cairo-path-stroke-polygon.c:cpu_to_be16
Unexecuted instantiation: cairo-path-stroke.c:cpu_to_be16
Unexecuted instantiation: cairo-pen.c:cpu_to_be16
Unexecuted instantiation: cairo-polygon.c:cpu_to_be16
Unexecuted instantiation: cairo-shape-mask-compositor.c:cpu_to_be16
Unexecuted instantiation: cairo-slope.c:cpu_to_be16
Unexecuted instantiation: cairo-spans-compositor.c:cpu_to_be16
Unexecuted instantiation: cairo-spans.c:cpu_to_be16
Unexecuted instantiation: cairo-stroke-dash.c:cpu_to_be16
Unexecuted instantiation: cairo-surface-offset.c:cpu_to_be16
Unexecuted instantiation: cairo-tor-scan-converter.c:cpu_to_be16
Unexecuted instantiation: cairo-tor22-scan-converter.c:cpu_to_be16
Unexecuted instantiation: cairo-toy-font-face.c:cpu_to_be16
Unexecuted instantiation: cairo-traps-compositor.c:cpu_to_be16
Unexecuted instantiation: cairo-png.c:cpu_to_be16
Unexecuted instantiation: cairo-arc.c:cpu_to_be16
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:cpu_to_be16
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:cpu_to_be16
Unexecuted instantiation: cairo-bentley-ottmann.c:cpu_to_be16
Unexecuted instantiation: cairo-boxes-intersect.c:cpu_to_be16
Unexecuted instantiation: cairo-clip-polygon.c:cpu_to_be16
Unexecuted instantiation: cairo-clip-region.c:cpu_to_be16
Unexecuted instantiation: cairo-clip-surface.c:cpu_to_be16
Unexecuted instantiation: cairo-contour.c:cpu_to_be16
Unexecuted instantiation: cairo-font-face-twin-data.c:cpu_to_be16
Unexecuted instantiation: cairo-freelist.c:cpu_to_be16
Unexecuted instantiation: cairo-hull.c:cpu_to_be16
Unexecuted instantiation: cairo-output-stream.c:cpu_to_be16
Unexecuted instantiation: cairo-path-stroke-traps.c:cpu_to_be16
Unexecuted instantiation: cairo-polygon-intersect.c:cpu_to_be16
Unexecuted instantiation: cairo-polygon-reduce.c:cpu_to_be16
Unexecuted instantiation: cairo-rectangular-scan-converter.c:cpu_to_be16
Unexecuted instantiation: cairo-wideint.c:cpu_to_be16
Unexecuted instantiation: cairo-pdf-surface.c:cpu_to_be16
Unexecuted instantiation: cairo-pdf-interchange.c:cpu_to_be16
Unexecuted instantiation: cairo-image-info.c:cpu_to_be16
Unexecuted instantiation: cairo-paginated-surface.c:cpu_to_be16
Unexecuted instantiation: cairo-surface-clipper.c:cpu_to_be16
Unexecuted instantiation: cairo-version.c:cpu_to_be16
cairo-cff-subset.c:cpu_to_be16
Line
Count
Source
210
17.6k
{
211
17.6k
    return (v << 8) | (v >> 8);
212
17.6k
}
Unexecuted instantiation: cairo-scaled-font-subsets.c:cpu_to_be16
cairo-truetype-subset.c:cpu_to_be16
Line
Count
Source
210
19.7M
{
211
19.7M
    return (v << 8) | (v >> 8);
212
19.7M
}
Unexecuted instantiation: cairo-type1-fallback.c:cpu_to_be16
Unexecuted instantiation: cairo-type1-glyph-names.c:cpu_to_be16
Unexecuted instantiation: cairo-type1-subset.c:cpu_to_be16
Unexecuted instantiation: cairo-type3-glyph-surface.c:cpu_to_be16
Unexecuted instantiation: cairo-pdf-operators.c:cpu_to_be16
Unexecuted instantiation: cairo-pdf-shading.c:cpu_to_be16
Unexecuted instantiation: cairo-tag-attributes.c:cpu_to_be16
Unexecuted instantiation: cairo-tag-stack.c:cpu_to_be16
Unexecuted instantiation: cairo-deflate-stream.c:cpu_to_be16
213
214
static inline uint16_t cairo_const
215
be16_to_cpu(uint16_t v)
216
18.8M
{
217
18.8M
    return cpu_to_be16 (v);
218
18.8M
}
Unexecuted instantiation: cairo-font-face.c:be16_to_cpu
Unexecuted instantiation: cairo-font-options.c:be16_to_cpu
Unexecuted instantiation: cairo-image-surface.c:be16_to_cpu
Unexecuted instantiation: cairo-matrix.c:be16_to_cpu
Unexecuted instantiation: cairo-misc.c:be16_to_cpu
Unexecuted instantiation: cairo-mutex.c:be16_to_cpu
Unexecuted instantiation: cairo-path.c:be16_to_cpu
Unexecuted instantiation: cairo-pattern.c:be16_to_cpu
Unexecuted instantiation: cairo-raster-source-pattern.c:be16_to_cpu
Unexecuted instantiation: cairo-recording-surface.c:be16_to_cpu
Unexecuted instantiation: cairo-rectangle.c:be16_to_cpu
Unexecuted instantiation: cairo-region.c:be16_to_cpu
Unexecuted instantiation: cairo-scaled-font.c:be16_to_cpu
Unexecuted instantiation: cairo-spline.c:be16_to_cpu
Unexecuted instantiation: cairo-stroke-style.c:be16_to_cpu
Unexecuted instantiation: cairo-surface-snapshot.c:be16_to_cpu
Unexecuted instantiation: cairo-surface-wrapper.c:be16_to_cpu
Unexecuted instantiation: cairo-surface.c:be16_to_cpu
Unexecuted instantiation: cairo-traps.c:be16_to_cpu
Unexecuted instantiation: cairo-unicode.c:be16_to_cpu
Unexecuted instantiation: cairo-user-font.c:be16_to_cpu
Unexecuted instantiation: cairo.c:be16_to_cpu
Unexecuted instantiation: cairo-ft-font.c:be16_to_cpu
Unexecuted instantiation: cairo-colr-glyph-render.c:be16_to_cpu
Unexecuted instantiation: cairo-svg-glyph-render.c:be16_to_cpu
Unexecuted instantiation: cairo-analysis-surface.c:be16_to_cpu
Unexecuted instantiation: cairo-array.c:be16_to_cpu
Unexecuted instantiation: cairo-boxes.c:be16_to_cpu
Unexecuted instantiation: cairo-cache.c:be16_to_cpu
Unexecuted instantiation: cairo-clip-boxes.c:be16_to_cpu
Unexecuted instantiation: cairo-clip.c:be16_to_cpu
Unexecuted instantiation: cairo-color.c:be16_to_cpu
Unexecuted instantiation: cairo-composite-rectangles.c:be16_to_cpu
Unexecuted instantiation: cairo-compositor.c:be16_to_cpu
Unexecuted instantiation: cairo-damage.c:be16_to_cpu
Unexecuted instantiation: cairo-debug.c:be16_to_cpu
Unexecuted instantiation: cairo-default-context.c:be16_to_cpu
Unexecuted instantiation: cairo-device.c:be16_to_cpu
Unexecuted instantiation: cairo-error.c:be16_to_cpu
Unexecuted instantiation: cairo-font-face-twin.c:be16_to_cpu
Unexecuted instantiation: cairo-freed-pool.c:be16_to_cpu
Unexecuted instantiation: cairo-gstate.c:be16_to_cpu
Unexecuted instantiation: cairo-hash.c:be16_to_cpu
Unexecuted instantiation: cairo-image-compositor.c:be16_to_cpu
Unexecuted instantiation: cairo-image-source.c:be16_to_cpu
Unexecuted instantiation: cairo-line.c:be16_to_cpu
Unexecuted instantiation: cairo-mask-compositor.c:be16_to_cpu
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:be16_to_cpu
Unexecuted instantiation: cairo-mono-scan-converter.c:be16_to_cpu
Unexecuted instantiation: cairo-no-compositor.c:be16_to_cpu
Unexecuted instantiation: cairo-observer.c:be16_to_cpu
Unexecuted instantiation: cairo-path-bounds.c:be16_to_cpu
Unexecuted instantiation: cairo-path-fill.c:be16_to_cpu
Unexecuted instantiation: cairo-path-fixed.c:be16_to_cpu
Unexecuted instantiation: cairo-path-in-fill.c:be16_to_cpu
Unexecuted instantiation: cairo-path-stroke-boxes.c:be16_to_cpu
Unexecuted instantiation: cairo-path-stroke-polygon.c:be16_to_cpu
Unexecuted instantiation: cairo-path-stroke.c:be16_to_cpu
Unexecuted instantiation: cairo-pen.c:be16_to_cpu
Unexecuted instantiation: cairo-polygon.c:be16_to_cpu
Unexecuted instantiation: cairo-shape-mask-compositor.c:be16_to_cpu
Unexecuted instantiation: cairo-slope.c:be16_to_cpu
Unexecuted instantiation: cairo-spans-compositor.c:be16_to_cpu
Unexecuted instantiation: cairo-spans.c:be16_to_cpu
Unexecuted instantiation: cairo-stroke-dash.c:be16_to_cpu
Unexecuted instantiation: cairo-surface-offset.c:be16_to_cpu
Unexecuted instantiation: cairo-tor-scan-converter.c:be16_to_cpu
Unexecuted instantiation: cairo-tor22-scan-converter.c:be16_to_cpu
Unexecuted instantiation: cairo-toy-font-face.c:be16_to_cpu
Unexecuted instantiation: cairo-traps-compositor.c:be16_to_cpu
Unexecuted instantiation: cairo-png.c:be16_to_cpu
Unexecuted instantiation: cairo-arc.c:be16_to_cpu
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:be16_to_cpu
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:be16_to_cpu
Unexecuted instantiation: cairo-bentley-ottmann.c:be16_to_cpu
Unexecuted instantiation: cairo-boxes-intersect.c:be16_to_cpu
Unexecuted instantiation: cairo-clip-polygon.c:be16_to_cpu
Unexecuted instantiation: cairo-clip-region.c:be16_to_cpu
Unexecuted instantiation: cairo-clip-surface.c:be16_to_cpu
Unexecuted instantiation: cairo-contour.c:be16_to_cpu
Unexecuted instantiation: cairo-font-face-twin-data.c:be16_to_cpu
Unexecuted instantiation: cairo-freelist.c:be16_to_cpu
Unexecuted instantiation: cairo-hull.c:be16_to_cpu
Unexecuted instantiation: cairo-output-stream.c:be16_to_cpu
Unexecuted instantiation: cairo-path-stroke-traps.c:be16_to_cpu
Unexecuted instantiation: cairo-polygon-intersect.c:be16_to_cpu
Unexecuted instantiation: cairo-polygon-reduce.c:be16_to_cpu
Unexecuted instantiation: cairo-rectangular-scan-converter.c:be16_to_cpu
Unexecuted instantiation: cairo-wideint.c:be16_to_cpu
Unexecuted instantiation: cairo-pdf-surface.c:be16_to_cpu
Unexecuted instantiation: cairo-pdf-interchange.c:be16_to_cpu
Unexecuted instantiation: cairo-image-info.c:be16_to_cpu
Unexecuted instantiation: cairo-paginated-surface.c:be16_to_cpu
Unexecuted instantiation: cairo-surface-clipper.c:be16_to_cpu
Unexecuted instantiation: cairo-version.c:be16_to_cpu
cairo-cff-subset.c:be16_to_cpu
Line
Count
Source
216
1.08k
{
217
1.08k
    return cpu_to_be16 (v);
218
1.08k
}
Unexecuted instantiation: cairo-scaled-font-subsets.c:be16_to_cpu
cairo-truetype-subset.c:be16_to_cpu
Line
Count
Source
216
18.8M
{
217
18.8M
    return cpu_to_be16 (v);
218
18.8M
}
Unexecuted instantiation: cairo-type1-fallback.c:be16_to_cpu
Unexecuted instantiation: cairo-type1-glyph-names.c:be16_to_cpu
Unexecuted instantiation: cairo-type1-subset.c:be16_to_cpu
Unexecuted instantiation: cairo-type3-glyph-surface.c:be16_to_cpu
Unexecuted instantiation: cairo-pdf-operators.c:be16_to_cpu
Unexecuted instantiation: cairo-pdf-shading.c:be16_to_cpu
Unexecuted instantiation: cairo-tag-attributes.c:be16_to_cpu
Unexecuted instantiation: cairo-tag-stack.c:be16_to_cpu
Unexecuted instantiation: cairo-deflate-stream.c:be16_to_cpu
219
220
static inline uint32_t cairo_const
221
cpu_to_be32(uint32_t v)
222
11.3M
{
223
11.3M
    return (v >> 24) | ((v >> 8) & 0xff00) | ((v << 8) & 0xff0000) | (v << 24);
224
11.3M
}
Unexecuted instantiation: cairo-font-face.c:cpu_to_be32
Unexecuted instantiation: cairo-font-options.c:cpu_to_be32
Unexecuted instantiation: cairo-image-surface.c:cpu_to_be32
Unexecuted instantiation: cairo-matrix.c:cpu_to_be32
Unexecuted instantiation: cairo-misc.c:cpu_to_be32
Unexecuted instantiation: cairo-mutex.c:cpu_to_be32
Unexecuted instantiation: cairo-path.c:cpu_to_be32
Unexecuted instantiation: cairo-pattern.c:cpu_to_be32
Unexecuted instantiation: cairo-raster-source-pattern.c:cpu_to_be32
Unexecuted instantiation: cairo-recording-surface.c:cpu_to_be32
Unexecuted instantiation: cairo-rectangle.c:cpu_to_be32
Unexecuted instantiation: cairo-region.c:cpu_to_be32
Unexecuted instantiation: cairo-scaled-font.c:cpu_to_be32
Unexecuted instantiation: cairo-spline.c:cpu_to_be32
Unexecuted instantiation: cairo-stroke-style.c:cpu_to_be32
Unexecuted instantiation: cairo-surface-snapshot.c:cpu_to_be32
Unexecuted instantiation: cairo-surface-wrapper.c:cpu_to_be32
Unexecuted instantiation: cairo-surface.c:cpu_to_be32
Unexecuted instantiation: cairo-traps.c:cpu_to_be32
Unexecuted instantiation: cairo-unicode.c:cpu_to_be32
Unexecuted instantiation: cairo-user-font.c:cpu_to_be32
Unexecuted instantiation: cairo.c:cpu_to_be32
Unexecuted instantiation: cairo-ft-font.c:cpu_to_be32
Unexecuted instantiation: cairo-colr-glyph-render.c:cpu_to_be32
Unexecuted instantiation: cairo-svg-glyph-render.c:cpu_to_be32
Unexecuted instantiation: cairo-analysis-surface.c:cpu_to_be32
Unexecuted instantiation: cairo-array.c:cpu_to_be32
Unexecuted instantiation: cairo-boxes.c:cpu_to_be32
Unexecuted instantiation: cairo-cache.c:cpu_to_be32
Unexecuted instantiation: cairo-clip-boxes.c:cpu_to_be32
Unexecuted instantiation: cairo-clip.c:cpu_to_be32
Unexecuted instantiation: cairo-color.c:cpu_to_be32
Unexecuted instantiation: cairo-composite-rectangles.c:cpu_to_be32
Unexecuted instantiation: cairo-compositor.c:cpu_to_be32
Unexecuted instantiation: cairo-damage.c:cpu_to_be32
Unexecuted instantiation: cairo-debug.c:cpu_to_be32
Unexecuted instantiation: cairo-default-context.c:cpu_to_be32
Unexecuted instantiation: cairo-device.c:cpu_to_be32
Unexecuted instantiation: cairo-error.c:cpu_to_be32
Unexecuted instantiation: cairo-font-face-twin.c:cpu_to_be32
Unexecuted instantiation: cairo-freed-pool.c:cpu_to_be32
Unexecuted instantiation: cairo-gstate.c:cpu_to_be32
Unexecuted instantiation: cairo-hash.c:cpu_to_be32
Unexecuted instantiation: cairo-image-compositor.c:cpu_to_be32
Unexecuted instantiation: cairo-image-source.c:cpu_to_be32
Unexecuted instantiation: cairo-line.c:cpu_to_be32
Unexecuted instantiation: cairo-mask-compositor.c:cpu_to_be32
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:cpu_to_be32
Unexecuted instantiation: cairo-mono-scan-converter.c:cpu_to_be32
Unexecuted instantiation: cairo-no-compositor.c:cpu_to_be32
Unexecuted instantiation: cairo-observer.c:cpu_to_be32
Unexecuted instantiation: cairo-path-bounds.c:cpu_to_be32
Unexecuted instantiation: cairo-path-fill.c:cpu_to_be32
Unexecuted instantiation: cairo-path-fixed.c:cpu_to_be32
Unexecuted instantiation: cairo-path-in-fill.c:cpu_to_be32
Unexecuted instantiation: cairo-path-stroke-boxes.c:cpu_to_be32
Unexecuted instantiation: cairo-path-stroke-polygon.c:cpu_to_be32
Unexecuted instantiation: cairo-path-stroke.c:cpu_to_be32
Unexecuted instantiation: cairo-pen.c:cpu_to_be32
Unexecuted instantiation: cairo-polygon.c:cpu_to_be32
Unexecuted instantiation: cairo-shape-mask-compositor.c:cpu_to_be32
Unexecuted instantiation: cairo-slope.c:cpu_to_be32
Unexecuted instantiation: cairo-spans-compositor.c:cpu_to_be32
Unexecuted instantiation: cairo-spans.c:cpu_to_be32
Unexecuted instantiation: cairo-stroke-dash.c:cpu_to_be32
Unexecuted instantiation: cairo-surface-offset.c:cpu_to_be32
Unexecuted instantiation: cairo-tor-scan-converter.c:cpu_to_be32
Unexecuted instantiation: cairo-tor22-scan-converter.c:cpu_to_be32
Unexecuted instantiation: cairo-toy-font-face.c:cpu_to_be32
Unexecuted instantiation: cairo-traps-compositor.c:cpu_to_be32
Unexecuted instantiation: cairo-png.c:cpu_to_be32
Unexecuted instantiation: cairo-arc.c:cpu_to_be32
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:cpu_to_be32
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:cpu_to_be32
Unexecuted instantiation: cairo-bentley-ottmann.c:cpu_to_be32
Unexecuted instantiation: cairo-boxes-intersect.c:cpu_to_be32
Unexecuted instantiation: cairo-clip-polygon.c:cpu_to_be32
Unexecuted instantiation: cairo-clip-region.c:cpu_to_be32
Unexecuted instantiation: cairo-clip-surface.c:cpu_to_be32
Unexecuted instantiation: cairo-contour.c:cpu_to_be32
Unexecuted instantiation: cairo-font-face-twin-data.c:cpu_to_be32
Unexecuted instantiation: cairo-freelist.c:cpu_to_be32
Unexecuted instantiation: cairo-hull.c:cpu_to_be32
Unexecuted instantiation: cairo-output-stream.c:cpu_to_be32
Unexecuted instantiation: cairo-path-stroke-traps.c:cpu_to_be32
Unexecuted instantiation: cairo-polygon-intersect.c:cpu_to_be32
Unexecuted instantiation: cairo-polygon-reduce.c:cpu_to_be32
Unexecuted instantiation: cairo-rectangular-scan-converter.c:cpu_to_be32
Unexecuted instantiation: cairo-wideint.c:cpu_to_be32
Unexecuted instantiation: cairo-pdf-surface.c:cpu_to_be32
Unexecuted instantiation: cairo-pdf-interchange.c:cpu_to_be32
Unexecuted instantiation: cairo-image-info.c:cpu_to_be32
Unexecuted instantiation: cairo-paginated-surface.c:cpu_to_be32
Unexecuted instantiation: cairo-surface-clipper.c:cpu_to_be32
Unexecuted instantiation: cairo-version.c:cpu_to_be32
Unexecuted instantiation: cairo-cff-subset.c:cpu_to_be32
Unexecuted instantiation: cairo-scaled-font-subsets.c:cpu_to_be32
cairo-truetype-subset.c:cpu_to_be32
Line
Count
Source
222
11.3M
{
223
11.3M
    return (v >> 24) | ((v >> 8) & 0xff00) | ((v << 8) & 0xff0000) | (v << 24);
224
11.3M
}
Unexecuted instantiation: cairo-type1-fallback.c:cpu_to_be32
Unexecuted instantiation: cairo-type1-glyph-names.c:cpu_to_be32
Unexecuted instantiation: cairo-type1-subset.c:cpu_to_be32
Unexecuted instantiation: cairo-type3-glyph-surface.c:cpu_to_be32
Unexecuted instantiation: cairo-pdf-operators.c:cpu_to_be32
Unexecuted instantiation: cairo-pdf-shading.c:cpu_to_be32
Unexecuted instantiation: cairo-tag-attributes.c:cpu_to_be32
Unexecuted instantiation: cairo-tag-stack.c:cpu_to_be32
Unexecuted instantiation: cairo-deflate-stream.c:cpu_to_be32
225
226
static inline uint32_t cairo_const
227
be32_to_cpu(uint32_t v)
228
11.2M
{
229
11.2M
    return cpu_to_be32 (v);
230
11.2M
}
Unexecuted instantiation: cairo-font-face.c:be32_to_cpu
Unexecuted instantiation: cairo-font-options.c:be32_to_cpu
Unexecuted instantiation: cairo-image-surface.c:be32_to_cpu
Unexecuted instantiation: cairo-matrix.c:be32_to_cpu
Unexecuted instantiation: cairo-misc.c:be32_to_cpu
Unexecuted instantiation: cairo-mutex.c:be32_to_cpu
Unexecuted instantiation: cairo-path.c:be32_to_cpu
Unexecuted instantiation: cairo-pattern.c:be32_to_cpu
Unexecuted instantiation: cairo-raster-source-pattern.c:be32_to_cpu
Unexecuted instantiation: cairo-recording-surface.c:be32_to_cpu
Unexecuted instantiation: cairo-rectangle.c:be32_to_cpu
Unexecuted instantiation: cairo-region.c:be32_to_cpu
Unexecuted instantiation: cairo-scaled-font.c:be32_to_cpu
Unexecuted instantiation: cairo-spline.c:be32_to_cpu
Unexecuted instantiation: cairo-stroke-style.c:be32_to_cpu
Unexecuted instantiation: cairo-surface-snapshot.c:be32_to_cpu
Unexecuted instantiation: cairo-surface-wrapper.c:be32_to_cpu
Unexecuted instantiation: cairo-surface.c:be32_to_cpu
Unexecuted instantiation: cairo-traps.c:be32_to_cpu
Unexecuted instantiation: cairo-unicode.c:be32_to_cpu
Unexecuted instantiation: cairo-user-font.c:be32_to_cpu
Unexecuted instantiation: cairo.c:be32_to_cpu
Unexecuted instantiation: cairo-ft-font.c:be32_to_cpu
Unexecuted instantiation: cairo-colr-glyph-render.c:be32_to_cpu
Unexecuted instantiation: cairo-svg-glyph-render.c:be32_to_cpu
Unexecuted instantiation: cairo-analysis-surface.c:be32_to_cpu
Unexecuted instantiation: cairo-array.c:be32_to_cpu
Unexecuted instantiation: cairo-boxes.c:be32_to_cpu
Unexecuted instantiation: cairo-cache.c:be32_to_cpu
Unexecuted instantiation: cairo-clip-boxes.c:be32_to_cpu
Unexecuted instantiation: cairo-clip.c:be32_to_cpu
Unexecuted instantiation: cairo-color.c:be32_to_cpu
Unexecuted instantiation: cairo-composite-rectangles.c:be32_to_cpu
Unexecuted instantiation: cairo-compositor.c:be32_to_cpu
Unexecuted instantiation: cairo-damage.c:be32_to_cpu
Unexecuted instantiation: cairo-debug.c:be32_to_cpu
Unexecuted instantiation: cairo-default-context.c:be32_to_cpu
Unexecuted instantiation: cairo-device.c:be32_to_cpu
Unexecuted instantiation: cairo-error.c:be32_to_cpu
Unexecuted instantiation: cairo-font-face-twin.c:be32_to_cpu
Unexecuted instantiation: cairo-freed-pool.c:be32_to_cpu
Unexecuted instantiation: cairo-gstate.c:be32_to_cpu
Unexecuted instantiation: cairo-hash.c:be32_to_cpu
Unexecuted instantiation: cairo-image-compositor.c:be32_to_cpu
Unexecuted instantiation: cairo-image-source.c:be32_to_cpu
Unexecuted instantiation: cairo-line.c:be32_to_cpu
Unexecuted instantiation: cairo-mask-compositor.c:be32_to_cpu
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:be32_to_cpu
Unexecuted instantiation: cairo-mono-scan-converter.c:be32_to_cpu
Unexecuted instantiation: cairo-no-compositor.c:be32_to_cpu
Unexecuted instantiation: cairo-observer.c:be32_to_cpu
Unexecuted instantiation: cairo-path-bounds.c:be32_to_cpu
Unexecuted instantiation: cairo-path-fill.c:be32_to_cpu
Unexecuted instantiation: cairo-path-fixed.c:be32_to_cpu
Unexecuted instantiation: cairo-path-in-fill.c:be32_to_cpu
Unexecuted instantiation: cairo-path-stroke-boxes.c:be32_to_cpu
Unexecuted instantiation: cairo-path-stroke-polygon.c:be32_to_cpu
Unexecuted instantiation: cairo-path-stroke.c:be32_to_cpu
Unexecuted instantiation: cairo-pen.c:be32_to_cpu
Unexecuted instantiation: cairo-polygon.c:be32_to_cpu
Unexecuted instantiation: cairo-shape-mask-compositor.c:be32_to_cpu
Unexecuted instantiation: cairo-slope.c:be32_to_cpu
Unexecuted instantiation: cairo-spans-compositor.c:be32_to_cpu
Unexecuted instantiation: cairo-spans.c:be32_to_cpu
Unexecuted instantiation: cairo-stroke-dash.c:be32_to_cpu
Unexecuted instantiation: cairo-surface-offset.c:be32_to_cpu
Unexecuted instantiation: cairo-tor-scan-converter.c:be32_to_cpu
Unexecuted instantiation: cairo-tor22-scan-converter.c:be32_to_cpu
Unexecuted instantiation: cairo-toy-font-face.c:be32_to_cpu
Unexecuted instantiation: cairo-traps-compositor.c:be32_to_cpu
Unexecuted instantiation: cairo-png.c:be32_to_cpu
Unexecuted instantiation: cairo-arc.c:be32_to_cpu
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:be32_to_cpu
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:be32_to_cpu
Unexecuted instantiation: cairo-bentley-ottmann.c:be32_to_cpu
Unexecuted instantiation: cairo-boxes-intersect.c:be32_to_cpu
Unexecuted instantiation: cairo-clip-polygon.c:be32_to_cpu
Unexecuted instantiation: cairo-clip-region.c:be32_to_cpu
Unexecuted instantiation: cairo-clip-surface.c:be32_to_cpu
Unexecuted instantiation: cairo-contour.c:be32_to_cpu
Unexecuted instantiation: cairo-font-face-twin-data.c:be32_to_cpu
Unexecuted instantiation: cairo-freelist.c:be32_to_cpu
Unexecuted instantiation: cairo-hull.c:be32_to_cpu
Unexecuted instantiation: cairo-output-stream.c:be32_to_cpu
Unexecuted instantiation: cairo-path-stroke-traps.c:be32_to_cpu
Unexecuted instantiation: cairo-polygon-intersect.c:be32_to_cpu
Unexecuted instantiation: cairo-polygon-reduce.c:be32_to_cpu
Unexecuted instantiation: cairo-rectangular-scan-converter.c:be32_to_cpu
Unexecuted instantiation: cairo-wideint.c:be32_to_cpu
Unexecuted instantiation: cairo-pdf-surface.c:be32_to_cpu
Unexecuted instantiation: cairo-pdf-interchange.c:be32_to_cpu
Unexecuted instantiation: cairo-image-info.c:be32_to_cpu
Unexecuted instantiation: cairo-paginated-surface.c:be32_to_cpu
Unexecuted instantiation: cairo-surface-clipper.c:be32_to_cpu
Unexecuted instantiation: cairo-version.c:be32_to_cpu
Unexecuted instantiation: cairo-cff-subset.c:be32_to_cpu
Unexecuted instantiation: cairo-scaled-font-subsets.c:be32_to_cpu
cairo-truetype-subset.c:be32_to_cpu
Line
Count
Source
228
11.2M
{
229
11.2M
    return cpu_to_be32 (v);
230
11.2M
}
Unexecuted instantiation: cairo-type1-fallback.c:be32_to_cpu
Unexecuted instantiation: cairo-type1-glyph-names.c:be32_to_cpu
Unexecuted instantiation: cairo-type1-subset.c:be32_to_cpu
Unexecuted instantiation: cairo-type3-glyph-surface.c:be32_to_cpu
Unexecuted instantiation: cairo-pdf-operators.c:be32_to_cpu
Unexecuted instantiation: cairo-pdf-shading.c:be32_to_cpu
Unexecuted instantiation: cairo-tag-attributes.c:be32_to_cpu
Unexecuted instantiation: cairo-tag-stack.c:be32_to_cpu
Unexecuted instantiation: cairo-deflate-stream.c:be32_to_cpu
231
232
#endif
233
234
/* Unaligned big endian access
235
 */
236
237
static inline uint16_t get_unaligned_be16 (const unsigned char *p)
238
44.4k
{
239
44.4k
    return p[0] << 8 | p[1];
240
44.4k
}
Unexecuted instantiation: cairo-font-face.c:get_unaligned_be16
Unexecuted instantiation: cairo-font-options.c:get_unaligned_be16
Unexecuted instantiation: cairo-image-surface.c:get_unaligned_be16
Unexecuted instantiation: cairo-matrix.c:get_unaligned_be16
Unexecuted instantiation: cairo-misc.c:get_unaligned_be16
Unexecuted instantiation: cairo-mutex.c:get_unaligned_be16
Unexecuted instantiation: cairo-path.c:get_unaligned_be16
Unexecuted instantiation: cairo-pattern.c:get_unaligned_be16
Unexecuted instantiation: cairo-raster-source-pattern.c:get_unaligned_be16
Unexecuted instantiation: cairo-recording-surface.c:get_unaligned_be16
Unexecuted instantiation: cairo-rectangle.c:get_unaligned_be16
Unexecuted instantiation: cairo-region.c:get_unaligned_be16
Unexecuted instantiation: cairo-scaled-font.c:get_unaligned_be16
Unexecuted instantiation: cairo-spline.c:get_unaligned_be16
Unexecuted instantiation: cairo-stroke-style.c:get_unaligned_be16
Unexecuted instantiation: cairo-surface-snapshot.c:get_unaligned_be16
Unexecuted instantiation: cairo-surface-wrapper.c:get_unaligned_be16
Unexecuted instantiation: cairo-surface.c:get_unaligned_be16
Unexecuted instantiation: cairo-traps.c:get_unaligned_be16
Unexecuted instantiation: cairo-unicode.c:get_unaligned_be16
Unexecuted instantiation: cairo-user-font.c:get_unaligned_be16
Unexecuted instantiation: cairo.c:get_unaligned_be16
Unexecuted instantiation: cairo-ft-font.c:get_unaligned_be16
Unexecuted instantiation: cairo-colr-glyph-render.c:get_unaligned_be16
Unexecuted instantiation: cairo-svg-glyph-render.c:get_unaligned_be16
Unexecuted instantiation: cairo-analysis-surface.c:get_unaligned_be16
Unexecuted instantiation: cairo-array.c:get_unaligned_be16
Unexecuted instantiation: cairo-boxes.c:get_unaligned_be16
Unexecuted instantiation: cairo-cache.c:get_unaligned_be16
Unexecuted instantiation: cairo-clip-boxes.c:get_unaligned_be16
Unexecuted instantiation: cairo-clip.c:get_unaligned_be16
Unexecuted instantiation: cairo-color.c:get_unaligned_be16
Unexecuted instantiation: cairo-composite-rectangles.c:get_unaligned_be16
Unexecuted instantiation: cairo-compositor.c:get_unaligned_be16
Unexecuted instantiation: cairo-damage.c:get_unaligned_be16
Unexecuted instantiation: cairo-debug.c:get_unaligned_be16
Unexecuted instantiation: cairo-default-context.c:get_unaligned_be16
Unexecuted instantiation: cairo-device.c:get_unaligned_be16
Unexecuted instantiation: cairo-error.c:get_unaligned_be16
Unexecuted instantiation: cairo-font-face-twin.c:get_unaligned_be16
Unexecuted instantiation: cairo-freed-pool.c:get_unaligned_be16
Unexecuted instantiation: cairo-gstate.c:get_unaligned_be16
Unexecuted instantiation: cairo-hash.c:get_unaligned_be16
Unexecuted instantiation: cairo-image-compositor.c:get_unaligned_be16
Unexecuted instantiation: cairo-image-source.c:get_unaligned_be16
Unexecuted instantiation: cairo-line.c:get_unaligned_be16
Unexecuted instantiation: cairo-mask-compositor.c:get_unaligned_be16
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:get_unaligned_be16
Unexecuted instantiation: cairo-mono-scan-converter.c:get_unaligned_be16
Unexecuted instantiation: cairo-no-compositor.c:get_unaligned_be16
Unexecuted instantiation: cairo-observer.c:get_unaligned_be16
Unexecuted instantiation: cairo-path-bounds.c:get_unaligned_be16
Unexecuted instantiation: cairo-path-fill.c:get_unaligned_be16
Unexecuted instantiation: cairo-path-fixed.c:get_unaligned_be16
Unexecuted instantiation: cairo-path-in-fill.c:get_unaligned_be16
Unexecuted instantiation: cairo-path-stroke-boxes.c:get_unaligned_be16
Unexecuted instantiation: cairo-path-stroke-polygon.c:get_unaligned_be16
Unexecuted instantiation: cairo-path-stroke.c:get_unaligned_be16
Unexecuted instantiation: cairo-pen.c:get_unaligned_be16
Unexecuted instantiation: cairo-polygon.c:get_unaligned_be16
Unexecuted instantiation: cairo-shape-mask-compositor.c:get_unaligned_be16
Unexecuted instantiation: cairo-slope.c:get_unaligned_be16
Unexecuted instantiation: cairo-spans-compositor.c:get_unaligned_be16
Unexecuted instantiation: cairo-spans.c:get_unaligned_be16
Unexecuted instantiation: cairo-stroke-dash.c:get_unaligned_be16
Unexecuted instantiation: cairo-surface-offset.c:get_unaligned_be16
Unexecuted instantiation: cairo-tor-scan-converter.c:get_unaligned_be16
Unexecuted instantiation: cairo-tor22-scan-converter.c:get_unaligned_be16
Unexecuted instantiation: cairo-toy-font-face.c:get_unaligned_be16
Unexecuted instantiation: cairo-traps-compositor.c:get_unaligned_be16
Unexecuted instantiation: cairo-png.c:get_unaligned_be16
Unexecuted instantiation: cairo-arc.c:get_unaligned_be16
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:get_unaligned_be16
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:get_unaligned_be16
Unexecuted instantiation: cairo-bentley-ottmann.c:get_unaligned_be16
Unexecuted instantiation: cairo-boxes-intersect.c:get_unaligned_be16
Unexecuted instantiation: cairo-clip-polygon.c:get_unaligned_be16
Unexecuted instantiation: cairo-clip-region.c:get_unaligned_be16
Unexecuted instantiation: cairo-clip-surface.c:get_unaligned_be16
Unexecuted instantiation: cairo-contour.c:get_unaligned_be16
Unexecuted instantiation: cairo-font-face-twin-data.c:get_unaligned_be16
Unexecuted instantiation: cairo-freelist.c:get_unaligned_be16
Unexecuted instantiation: cairo-hull.c:get_unaligned_be16
Unexecuted instantiation: cairo-output-stream.c:get_unaligned_be16
Unexecuted instantiation: cairo-path-stroke-traps.c:get_unaligned_be16
Unexecuted instantiation: cairo-polygon-intersect.c:get_unaligned_be16
Unexecuted instantiation: cairo-polygon-reduce.c:get_unaligned_be16
Unexecuted instantiation: cairo-rectangular-scan-converter.c:get_unaligned_be16
Unexecuted instantiation: cairo-wideint.c:get_unaligned_be16
Unexecuted instantiation: cairo-pdf-surface.c:get_unaligned_be16
Unexecuted instantiation: cairo-pdf-interchange.c:get_unaligned_be16
Unexecuted instantiation: cairo-image-info.c:get_unaligned_be16
Unexecuted instantiation: cairo-paginated-surface.c:get_unaligned_be16
Unexecuted instantiation: cairo-surface-clipper.c:get_unaligned_be16
Unexecuted instantiation: cairo-version.c:get_unaligned_be16
cairo-cff-subset.c:get_unaligned_be16
Line
Count
Source
238
44.4k
{
239
44.4k
    return p[0] << 8 | p[1];
240
44.4k
}
Unexecuted instantiation: cairo-scaled-font-subsets.c:get_unaligned_be16
Unexecuted instantiation: cairo-truetype-subset.c:get_unaligned_be16
Unexecuted instantiation: cairo-type1-fallback.c:get_unaligned_be16
Unexecuted instantiation: cairo-type1-glyph-names.c:get_unaligned_be16
Unexecuted instantiation: cairo-type1-subset.c:get_unaligned_be16
Unexecuted instantiation: cairo-type3-glyph-surface.c:get_unaligned_be16
Unexecuted instantiation: cairo-pdf-operators.c:get_unaligned_be16
Unexecuted instantiation: cairo-pdf-shading.c:get_unaligned_be16
Unexecuted instantiation: cairo-tag-attributes.c:get_unaligned_be16
Unexecuted instantiation: cairo-tag-stack.c:get_unaligned_be16
Unexecuted instantiation: cairo-deflate-stream.c:get_unaligned_be16
241
242
static inline uint32_t get_unaligned_be32 (const unsigned char *p)
243
148
{
244
148
    return (uint32_t)p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3];
245
148
}
Unexecuted instantiation: cairo-font-face.c:get_unaligned_be32
Unexecuted instantiation: cairo-font-options.c:get_unaligned_be32
Unexecuted instantiation: cairo-image-surface.c:get_unaligned_be32
Unexecuted instantiation: cairo-matrix.c:get_unaligned_be32
Unexecuted instantiation: cairo-misc.c:get_unaligned_be32
Unexecuted instantiation: cairo-mutex.c:get_unaligned_be32
Unexecuted instantiation: cairo-path.c:get_unaligned_be32
Unexecuted instantiation: cairo-pattern.c:get_unaligned_be32
Unexecuted instantiation: cairo-raster-source-pattern.c:get_unaligned_be32
Unexecuted instantiation: cairo-recording-surface.c:get_unaligned_be32
Unexecuted instantiation: cairo-rectangle.c:get_unaligned_be32
Unexecuted instantiation: cairo-region.c:get_unaligned_be32
Unexecuted instantiation: cairo-scaled-font.c:get_unaligned_be32
Unexecuted instantiation: cairo-spline.c:get_unaligned_be32
Unexecuted instantiation: cairo-stroke-style.c:get_unaligned_be32
Unexecuted instantiation: cairo-surface-snapshot.c:get_unaligned_be32
Unexecuted instantiation: cairo-surface-wrapper.c:get_unaligned_be32
Unexecuted instantiation: cairo-surface.c:get_unaligned_be32
Unexecuted instantiation: cairo-traps.c:get_unaligned_be32
Unexecuted instantiation: cairo-unicode.c:get_unaligned_be32
Unexecuted instantiation: cairo-user-font.c:get_unaligned_be32
Unexecuted instantiation: cairo.c:get_unaligned_be32
Unexecuted instantiation: cairo-ft-font.c:get_unaligned_be32
Unexecuted instantiation: cairo-colr-glyph-render.c:get_unaligned_be32
Unexecuted instantiation: cairo-svg-glyph-render.c:get_unaligned_be32
Unexecuted instantiation: cairo-analysis-surface.c:get_unaligned_be32
Unexecuted instantiation: cairo-array.c:get_unaligned_be32
Unexecuted instantiation: cairo-boxes.c:get_unaligned_be32
Unexecuted instantiation: cairo-cache.c:get_unaligned_be32
Unexecuted instantiation: cairo-clip-boxes.c:get_unaligned_be32
Unexecuted instantiation: cairo-clip.c:get_unaligned_be32
Unexecuted instantiation: cairo-color.c:get_unaligned_be32
Unexecuted instantiation: cairo-composite-rectangles.c:get_unaligned_be32
Unexecuted instantiation: cairo-compositor.c:get_unaligned_be32
Unexecuted instantiation: cairo-damage.c:get_unaligned_be32
Unexecuted instantiation: cairo-debug.c:get_unaligned_be32
Unexecuted instantiation: cairo-default-context.c:get_unaligned_be32
Unexecuted instantiation: cairo-device.c:get_unaligned_be32
Unexecuted instantiation: cairo-error.c:get_unaligned_be32
Unexecuted instantiation: cairo-font-face-twin.c:get_unaligned_be32
Unexecuted instantiation: cairo-freed-pool.c:get_unaligned_be32
Unexecuted instantiation: cairo-gstate.c:get_unaligned_be32
Unexecuted instantiation: cairo-hash.c:get_unaligned_be32
Unexecuted instantiation: cairo-image-compositor.c:get_unaligned_be32
Unexecuted instantiation: cairo-image-source.c:get_unaligned_be32
Unexecuted instantiation: cairo-line.c:get_unaligned_be32
Unexecuted instantiation: cairo-mask-compositor.c:get_unaligned_be32
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:get_unaligned_be32
Unexecuted instantiation: cairo-mono-scan-converter.c:get_unaligned_be32
Unexecuted instantiation: cairo-no-compositor.c:get_unaligned_be32
Unexecuted instantiation: cairo-observer.c:get_unaligned_be32
Unexecuted instantiation: cairo-path-bounds.c:get_unaligned_be32
Unexecuted instantiation: cairo-path-fill.c:get_unaligned_be32
Unexecuted instantiation: cairo-path-fixed.c:get_unaligned_be32
Unexecuted instantiation: cairo-path-in-fill.c:get_unaligned_be32
Unexecuted instantiation: cairo-path-stroke-boxes.c:get_unaligned_be32
Unexecuted instantiation: cairo-path-stroke-polygon.c:get_unaligned_be32
Unexecuted instantiation: cairo-path-stroke.c:get_unaligned_be32
Unexecuted instantiation: cairo-pen.c:get_unaligned_be32
Unexecuted instantiation: cairo-polygon.c:get_unaligned_be32
Unexecuted instantiation: cairo-shape-mask-compositor.c:get_unaligned_be32
Unexecuted instantiation: cairo-slope.c:get_unaligned_be32
Unexecuted instantiation: cairo-spans-compositor.c:get_unaligned_be32
Unexecuted instantiation: cairo-spans.c:get_unaligned_be32
Unexecuted instantiation: cairo-stroke-dash.c:get_unaligned_be32
Unexecuted instantiation: cairo-surface-offset.c:get_unaligned_be32
Unexecuted instantiation: cairo-tor-scan-converter.c:get_unaligned_be32
Unexecuted instantiation: cairo-tor22-scan-converter.c:get_unaligned_be32
Unexecuted instantiation: cairo-toy-font-face.c:get_unaligned_be32
Unexecuted instantiation: cairo-traps-compositor.c:get_unaligned_be32
Unexecuted instantiation: cairo-png.c:get_unaligned_be32
Unexecuted instantiation: cairo-arc.c:get_unaligned_be32
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:get_unaligned_be32
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:get_unaligned_be32
Unexecuted instantiation: cairo-bentley-ottmann.c:get_unaligned_be32
Unexecuted instantiation: cairo-boxes-intersect.c:get_unaligned_be32
Unexecuted instantiation: cairo-clip-polygon.c:get_unaligned_be32
Unexecuted instantiation: cairo-clip-region.c:get_unaligned_be32
Unexecuted instantiation: cairo-clip-surface.c:get_unaligned_be32
Unexecuted instantiation: cairo-contour.c:get_unaligned_be32
Unexecuted instantiation: cairo-font-face-twin-data.c:get_unaligned_be32
Unexecuted instantiation: cairo-freelist.c:get_unaligned_be32
Unexecuted instantiation: cairo-hull.c:get_unaligned_be32
Unexecuted instantiation: cairo-output-stream.c:get_unaligned_be32
Unexecuted instantiation: cairo-path-stroke-traps.c:get_unaligned_be32
Unexecuted instantiation: cairo-polygon-intersect.c:get_unaligned_be32
Unexecuted instantiation: cairo-polygon-reduce.c:get_unaligned_be32
Unexecuted instantiation: cairo-rectangular-scan-converter.c:get_unaligned_be32
Unexecuted instantiation: cairo-wideint.c:get_unaligned_be32
Unexecuted instantiation: cairo-pdf-surface.c:get_unaligned_be32
Unexecuted instantiation: cairo-pdf-interchange.c:get_unaligned_be32
cairo-image-info.c:get_unaligned_be32
Line
Count
Source
243
148
{
244
148
    return (uint32_t)p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3];
245
148
}
Unexecuted instantiation: cairo-paginated-surface.c:get_unaligned_be32
Unexecuted instantiation: cairo-surface-clipper.c:get_unaligned_be32
Unexecuted instantiation: cairo-version.c:get_unaligned_be32
Unexecuted instantiation: cairo-cff-subset.c:get_unaligned_be32
Unexecuted instantiation: cairo-scaled-font-subsets.c:get_unaligned_be32
Unexecuted instantiation: cairo-truetype-subset.c:get_unaligned_be32
Unexecuted instantiation: cairo-type1-fallback.c:get_unaligned_be32
Unexecuted instantiation: cairo-type1-glyph-names.c:get_unaligned_be32
Unexecuted instantiation: cairo-type1-subset.c:get_unaligned_be32
Unexecuted instantiation: cairo-type3-glyph-surface.c:get_unaligned_be32
Unexecuted instantiation: cairo-pdf-operators.c:get_unaligned_be32
Unexecuted instantiation: cairo-pdf-shading.c:get_unaligned_be32
Unexecuted instantiation: cairo-tag-attributes.c:get_unaligned_be32
Unexecuted instantiation: cairo-tag-stack.c:get_unaligned_be32
Unexecuted instantiation: cairo-deflate-stream.c:get_unaligned_be32
246
247
static inline void put_unaligned_be16 (uint16_t v, unsigned char *p)
248
0
{
249
0
    p[0] = (v >> 8) & 0xff;
250
0
    p[1] = v & 0xff;
251
0
}
Unexecuted instantiation: cairo-font-face.c:put_unaligned_be16
Unexecuted instantiation: cairo-font-options.c:put_unaligned_be16
Unexecuted instantiation: cairo-image-surface.c:put_unaligned_be16
Unexecuted instantiation: cairo-matrix.c:put_unaligned_be16
Unexecuted instantiation: cairo-misc.c:put_unaligned_be16
Unexecuted instantiation: cairo-mutex.c:put_unaligned_be16
Unexecuted instantiation: cairo-path.c:put_unaligned_be16
Unexecuted instantiation: cairo-pattern.c:put_unaligned_be16
Unexecuted instantiation: cairo-raster-source-pattern.c:put_unaligned_be16
Unexecuted instantiation: cairo-recording-surface.c:put_unaligned_be16
Unexecuted instantiation: cairo-rectangle.c:put_unaligned_be16
Unexecuted instantiation: cairo-region.c:put_unaligned_be16
Unexecuted instantiation: cairo-scaled-font.c:put_unaligned_be16
Unexecuted instantiation: cairo-spline.c:put_unaligned_be16
Unexecuted instantiation: cairo-stroke-style.c:put_unaligned_be16
Unexecuted instantiation: cairo-surface-snapshot.c:put_unaligned_be16
Unexecuted instantiation: cairo-surface-wrapper.c:put_unaligned_be16
Unexecuted instantiation: cairo-surface.c:put_unaligned_be16
Unexecuted instantiation: cairo-traps.c:put_unaligned_be16
Unexecuted instantiation: cairo-unicode.c:put_unaligned_be16
Unexecuted instantiation: cairo-user-font.c:put_unaligned_be16
Unexecuted instantiation: cairo.c:put_unaligned_be16
Unexecuted instantiation: cairo-ft-font.c:put_unaligned_be16
Unexecuted instantiation: cairo-colr-glyph-render.c:put_unaligned_be16
Unexecuted instantiation: cairo-svg-glyph-render.c:put_unaligned_be16
Unexecuted instantiation: cairo-analysis-surface.c:put_unaligned_be16
Unexecuted instantiation: cairo-array.c:put_unaligned_be16
Unexecuted instantiation: cairo-boxes.c:put_unaligned_be16
Unexecuted instantiation: cairo-cache.c:put_unaligned_be16
Unexecuted instantiation: cairo-clip-boxes.c:put_unaligned_be16
Unexecuted instantiation: cairo-clip.c:put_unaligned_be16
Unexecuted instantiation: cairo-color.c:put_unaligned_be16
Unexecuted instantiation: cairo-composite-rectangles.c:put_unaligned_be16
Unexecuted instantiation: cairo-compositor.c:put_unaligned_be16
Unexecuted instantiation: cairo-damage.c:put_unaligned_be16
Unexecuted instantiation: cairo-debug.c:put_unaligned_be16
Unexecuted instantiation: cairo-default-context.c:put_unaligned_be16
Unexecuted instantiation: cairo-device.c:put_unaligned_be16
Unexecuted instantiation: cairo-error.c:put_unaligned_be16
Unexecuted instantiation: cairo-font-face-twin.c:put_unaligned_be16
Unexecuted instantiation: cairo-freed-pool.c:put_unaligned_be16
Unexecuted instantiation: cairo-gstate.c:put_unaligned_be16
Unexecuted instantiation: cairo-hash.c:put_unaligned_be16
Unexecuted instantiation: cairo-image-compositor.c:put_unaligned_be16
Unexecuted instantiation: cairo-image-source.c:put_unaligned_be16
Unexecuted instantiation: cairo-line.c:put_unaligned_be16
Unexecuted instantiation: cairo-mask-compositor.c:put_unaligned_be16
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:put_unaligned_be16
Unexecuted instantiation: cairo-mono-scan-converter.c:put_unaligned_be16
Unexecuted instantiation: cairo-no-compositor.c:put_unaligned_be16
Unexecuted instantiation: cairo-observer.c:put_unaligned_be16
Unexecuted instantiation: cairo-path-bounds.c:put_unaligned_be16
Unexecuted instantiation: cairo-path-fill.c:put_unaligned_be16
Unexecuted instantiation: cairo-path-fixed.c:put_unaligned_be16
Unexecuted instantiation: cairo-path-in-fill.c:put_unaligned_be16
Unexecuted instantiation: cairo-path-stroke-boxes.c:put_unaligned_be16
Unexecuted instantiation: cairo-path-stroke-polygon.c:put_unaligned_be16
Unexecuted instantiation: cairo-path-stroke.c:put_unaligned_be16
Unexecuted instantiation: cairo-pen.c:put_unaligned_be16
Unexecuted instantiation: cairo-polygon.c:put_unaligned_be16
Unexecuted instantiation: cairo-shape-mask-compositor.c:put_unaligned_be16
Unexecuted instantiation: cairo-slope.c:put_unaligned_be16
Unexecuted instantiation: cairo-spans-compositor.c:put_unaligned_be16
Unexecuted instantiation: cairo-spans.c:put_unaligned_be16
Unexecuted instantiation: cairo-stroke-dash.c:put_unaligned_be16
Unexecuted instantiation: cairo-surface-offset.c:put_unaligned_be16
Unexecuted instantiation: cairo-tor-scan-converter.c:put_unaligned_be16
Unexecuted instantiation: cairo-tor22-scan-converter.c:put_unaligned_be16
Unexecuted instantiation: cairo-toy-font-face.c:put_unaligned_be16
Unexecuted instantiation: cairo-traps-compositor.c:put_unaligned_be16
Unexecuted instantiation: cairo-png.c:put_unaligned_be16
Unexecuted instantiation: cairo-arc.c:put_unaligned_be16
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:put_unaligned_be16
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:put_unaligned_be16
Unexecuted instantiation: cairo-bentley-ottmann.c:put_unaligned_be16
Unexecuted instantiation: cairo-boxes-intersect.c:put_unaligned_be16
Unexecuted instantiation: cairo-clip-polygon.c:put_unaligned_be16
Unexecuted instantiation: cairo-clip-region.c:put_unaligned_be16
Unexecuted instantiation: cairo-clip-surface.c:put_unaligned_be16
Unexecuted instantiation: cairo-contour.c:put_unaligned_be16
Unexecuted instantiation: cairo-font-face-twin-data.c:put_unaligned_be16
Unexecuted instantiation: cairo-freelist.c:put_unaligned_be16
Unexecuted instantiation: cairo-hull.c:put_unaligned_be16
Unexecuted instantiation: cairo-output-stream.c:put_unaligned_be16
Unexecuted instantiation: cairo-path-stroke-traps.c:put_unaligned_be16
Unexecuted instantiation: cairo-polygon-intersect.c:put_unaligned_be16
Unexecuted instantiation: cairo-polygon-reduce.c:put_unaligned_be16
Unexecuted instantiation: cairo-rectangular-scan-converter.c:put_unaligned_be16
Unexecuted instantiation: cairo-wideint.c:put_unaligned_be16
Unexecuted instantiation: cairo-pdf-surface.c:put_unaligned_be16
Unexecuted instantiation: cairo-pdf-interchange.c:put_unaligned_be16
Unexecuted instantiation: cairo-image-info.c:put_unaligned_be16
Unexecuted instantiation: cairo-paginated-surface.c:put_unaligned_be16
Unexecuted instantiation: cairo-surface-clipper.c:put_unaligned_be16
Unexecuted instantiation: cairo-version.c:put_unaligned_be16
Unexecuted instantiation: cairo-cff-subset.c:put_unaligned_be16
Unexecuted instantiation: cairo-scaled-font-subsets.c:put_unaligned_be16
Unexecuted instantiation: cairo-truetype-subset.c:put_unaligned_be16
Unexecuted instantiation: cairo-type1-fallback.c:put_unaligned_be16
Unexecuted instantiation: cairo-type1-glyph-names.c:put_unaligned_be16
Unexecuted instantiation: cairo-type1-subset.c:put_unaligned_be16
Unexecuted instantiation: cairo-type3-glyph-surface.c:put_unaligned_be16
Unexecuted instantiation: cairo-pdf-operators.c:put_unaligned_be16
Unexecuted instantiation: cairo-pdf-shading.c:put_unaligned_be16
Unexecuted instantiation: cairo-tag-attributes.c:put_unaligned_be16
Unexecuted instantiation: cairo-tag-stack.c:put_unaligned_be16
Unexecuted instantiation: cairo-deflate-stream.c:put_unaligned_be16
252
253
static inline void put_unaligned_be32 (uint32_t v, unsigned char *p)
254
636
{
255
636
    p[0] = (v >> 24) & 0xff;
256
636
    p[1] = (v >> 16) & 0xff;
257
636
    p[2] = (v >> 8)  & 0xff;
258
636
    p[3] = v & 0xff;
259
636
}
Unexecuted instantiation: cairo-font-face.c:put_unaligned_be32
Unexecuted instantiation: cairo-font-options.c:put_unaligned_be32
Unexecuted instantiation: cairo-image-surface.c:put_unaligned_be32
Unexecuted instantiation: cairo-matrix.c:put_unaligned_be32
Unexecuted instantiation: cairo-misc.c:put_unaligned_be32
Unexecuted instantiation: cairo-mutex.c:put_unaligned_be32
Unexecuted instantiation: cairo-path.c:put_unaligned_be32
Unexecuted instantiation: cairo-pattern.c:put_unaligned_be32
Unexecuted instantiation: cairo-raster-source-pattern.c:put_unaligned_be32
Unexecuted instantiation: cairo-recording-surface.c:put_unaligned_be32
Unexecuted instantiation: cairo-rectangle.c:put_unaligned_be32
Unexecuted instantiation: cairo-region.c:put_unaligned_be32
Unexecuted instantiation: cairo-scaled-font.c:put_unaligned_be32
Unexecuted instantiation: cairo-spline.c:put_unaligned_be32
Unexecuted instantiation: cairo-stroke-style.c:put_unaligned_be32
Unexecuted instantiation: cairo-surface-snapshot.c:put_unaligned_be32
Unexecuted instantiation: cairo-surface-wrapper.c:put_unaligned_be32
Unexecuted instantiation: cairo-surface.c:put_unaligned_be32
Unexecuted instantiation: cairo-traps.c:put_unaligned_be32
Unexecuted instantiation: cairo-unicode.c:put_unaligned_be32
Unexecuted instantiation: cairo-user-font.c:put_unaligned_be32
Unexecuted instantiation: cairo.c:put_unaligned_be32
Unexecuted instantiation: cairo-ft-font.c:put_unaligned_be32
Unexecuted instantiation: cairo-colr-glyph-render.c:put_unaligned_be32
Unexecuted instantiation: cairo-svg-glyph-render.c:put_unaligned_be32
Unexecuted instantiation: cairo-analysis-surface.c:put_unaligned_be32
Unexecuted instantiation: cairo-array.c:put_unaligned_be32
Unexecuted instantiation: cairo-boxes.c:put_unaligned_be32
Unexecuted instantiation: cairo-cache.c:put_unaligned_be32
Unexecuted instantiation: cairo-clip-boxes.c:put_unaligned_be32
Unexecuted instantiation: cairo-clip.c:put_unaligned_be32
Unexecuted instantiation: cairo-color.c:put_unaligned_be32
Unexecuted instantiation: cairo-composite-rectangles.c:put_unaligned_be32
Unexecuted instantiation: cairo-compositor.c:put_unaligned_be32
Unexecuted instantiation: cairo-damage.c:put_unaligned_be32
Unexecuted instantiation: cairo-debug.c:put_unaligned_be32
Unexecuted instantiation: cairo-default-context.c:put_unaligned_be32
Unexecuted instantiation: cairo-device.c:put_unaligned_be32
Unexecuted instantiation: cairo-error.c:put_unaligned_be32
Unexecuted instantiation: cairo-font-face-twin.c:put_unaligned_be32
Unexecuted instantiation: cairo-freed-pool.c:put_unaligned_be32
Unexecuted instantiation: cairo-gstate.c:put_unaligned_be32
Unexecuted instantiation: cairo-hash.c:put_unaligned_be32
Unexecuted instantiation: cairo-image-compositor.c:put_unaligned_be32
Unexecuted instantiation: cairo-image-source.c:put_unaligned_be32
Unexecuted instantiation: cairo-line.c:put_unaligned_be32
Unexecuted instantiation: cairo-mask-compositor.c:put_unaligned_be32
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:put_unaligned_be32
Unexecuted instantiation: cairo-mono-scan-converter.c:put_unaligned_be32
Unexecuted instantiation: cairo-no-compositor.c:put_unaligned_be32
Unexecuted instantiation: cairo-observer.c:put_unaligned_be32
Unexecuted instantiation: cairo-path-bounds.c:put_unaligned_be32
Unexecuted instantiation: cairo-path-fill.c:put_unaligned_be32
Unexecuted instantiation: cairo-path-fixed.c:put_unaligned_be32
Unexecuted instantiation: cairo-path-in-fill.c:put_unaligned_be32
Unexecuted instantiation: cairo-path-stroke-boxes.c:put_unaligned_be32
Unexecuted instantiation: cairo-path-stroke-polygon.c:put_unaligned_be32
Unexecuted instantiation: cairo-path-stroke.c:put_unaligned_be32
Unexecuted instantiation: cairo-pen.c:put_unaligned_be32
Unexecuted instantiation: cairo-polygon.c:put_unaligned_be32
Unexecuted instantiation: cairo-shape-mask-compositor.c:put_unaligned_be32
Unexecuted instantiation: cairo-slope.c:put_unaligned_be32
Unexecuted instantiation: cairo-spans-compositor.c:put_unaligned_be32
Unexecuted instantiation: cairo-spans.c:put_unaligned_be32
Unexecuted instantiation: cairo-stroke-dash.c:put_unaligned_be32
Unexecuted instantiation: cairo-surface-offset.c:put_unaligned_be32
Unexecuted instantiation: cairo-tor-scan-converter.c:put_unaligned_be32
Unexecuted instantiation: cairo-tor22-scan-converter.c:put_unaligned_be32
Unexecuted instantiation: cairo-toy-font-face.c:put_unaligned_be32
Unexecuted instantiation: cairo-traps-compositor.c:put_unaligned_be32
Unexecuted instantiation: cairo-png.c:put_unaligned_be32
Unexecuted instantiation: cairo-arc.c:put_unaligned_be32
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:put_unaligned_be32
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:put_unaligned_be32
Unexecuted instantiation: cairo-bentley-ottmann.c:put_unaligned_be32
Unexecuted instantiation: cairo-boxes-intersect.c:put_unaligned_be32
Unexecuted instantiation: cairo-clip-polygon.c:put_unaligned_be32
Unexecuted instantiation: cairo-clip-region.c:put_unaligned_be32
Unexecuted instantiation: cairo-clip-surface.c:put_unaligned_be32
Unexecuted instantiation: cairo-contour.c:put_unaligned_be32
Unexecuted instantiation: cairo-font-face-twin-data.c:put_unaligned_be32
Unexecuted instantiation: cairo-freelist.c:put_unaligned_be32
Unexecuted instantiation: cairo-hull.c:put_unaligned_be32
Unexecuted instantiation: cairo-output-stream.c:put_unaligned_be32
Unexecuted instantiation: cairo-path-stroke-traps.c:put_unaligned_be32
Unexecuted instantiation: cairo-polygon-intersect.c:put_unaligned_be32
Unexecuted instantiation: cairo-polygon-reduce.c:put_unaligned_be32
Unexecuted instantiation: cairo-rectangular-scan-converter.c:put_unaligned_be32
Unexecuted instantiation: cairo-wideint.c:put_unaligned_be32
Unexecuted instantiation: cairo-pdf-surface.c:put_unaligned_be32
Unexecuted instantiation: cairo-pdf-interchange.c:put_unaligned_be32
Unexecuted instantiation: cairo-image-info.c:put_unaligned_be32
Unexecuted instantiation: cairo-paginated-surface.c:put_unaligned_be32
Unexecuted instantiation: cairo-surface-clipper.c:put_unaligned_be32
Unexecuted instantiation: cairo-version.c:put_unaligned_be32
cairo-cff-subset.c:put_unaligned_be32
Line
Count
Source
254
636
{
255
636
    p[0] = (v >> 24) & 0xff;
256
636
    p[1] = (v >> 16) & 0xff;
257
636
    p[2] = (v >> 8)  & 0xff;
258
636
    p[3] = v & 0xff;
259
636
}
Unexecuted instantiation: cairo-scaled-font-subsets.c:put_unaligned_be32
Unexecuted instantiation: cairo-truetype-subset.c:put_unaligned_be32
Unexecuted instantiation: cairo-type1-fallback.c:put_unaligned_be32
Unexecuted instantiation: cairo-type1-glyph-names.c:put_unaligned_be32
Unexecuted instantiation: cairo-type1-subset.c:put_unaligned_be32
Unexecuted instantiation: cairo-type3-glyph-surface.c:put_unaligned_be32
Unexecuted instantiation: cairo-pdf-operators.c:put_unaligned_be32
Unexecuted instantiation: cairo-pdf-shading.c:put_unaligned_be32
Unexecuted instantiation: cairo-tag-attributes.c:put_unaligned_be32
Unexecuted instantiation: cairo-tag-stack.c:put_unaligned_be32
Unexecuted instantiation: cairo-deflate-stream.c:put_unaligned_be32
260
261
#include "cairo-ctype-inline.h"
262
#include "cairo-types-private.h"
263
#include "cairo-cache-private.h"
264
#include "cairo-reference-count-private.h"
265
#include "cairo-spans-private.h"
266
#include "cairo-surface-private.h"
267
268
cairo_private void
269
_cairo_box_from_doubles (cairo_box_t *box,
270
       double *x1, double *y1,
271
       double *x2, double *y2);
272
273
cairo_private void
274
_cairo_box_to_doubles (const cairo_box_t *box,
275
           double *x1, double *y1,
276
           double *x2, double *y2);
277
278
cairo_private void
279
_cairo_box_from_rectangle (cairo_box_t                 *box,
280
         const cairo_rectangle_int_t *rectangle);
281
282
cairo_private void
283
_cairo_box_round_to_rectangle (const cairo_box_t     *box,
284
             cairo_rectangle_int_t *rectangle);
285
286
cairo_private void
287
_cairo_box_add_curve_to (cairo_box_t         *extents,
288
       const cairo_point_t *a,
289
       const cairo_point_t *b,
290
       const cairo_point_t *c,
291
       const cairo_point_t *d);
292
293
cairo_private void
294
_cairo_boxes_get_extents (const cairo_box_t *boxes,
295
        int num_boxes,
296
        cairo_box_t *extents);
297
298
cairo_private extern const cairo_rectangle_int_t _cairo_empty_rectangle;
299
cairo_private extern const cairo_rectangle_int_t _cairo_unbounded_rectangle;
300
301
static inline void
302
_cairo_unbounded_rectangle_init (cairo_rectangle_int_t *rect)
303
5.63M
{
304
5.63M
    *rect = _cairo_unbounded_rectangle;
305
5.63M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-font-options.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-image-surface.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-matrix.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-misc.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-mutex.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-path.c:_cairo_unbounded_rectangle_init
cairo-pattern.c:_cairo_unbounded_rectangle_init
Line
Count
Source
303
5.61M
{
304
5.61M
    *rect = _cairo_unbounded_rectangle;
305
5.61M
}
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-recording-surface.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-rectangle.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-region.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-scaled-font.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-spline.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-stroke-style.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_unbounded_rectangle_init
cairo-surface-wrapper.c:_cairo_unbounded_rectangle_init
Line
Count
Source
303
2.22k
{
304
2.22k
    *rect = _cairo_unbounded_rectangle;
305
2.22k
}
cairo-surface.c:_cairo_unbounded_rectangle_init
Line
Count
Source
303
18.0k
{
304
18.0k
    *rect = _cairo_unbounded_rectangle;
305
18.0k
}
Unexecuted instantiation: cairo-traps.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-unicode.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-user-font.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-ft-font.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-colr-glyph-render.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-svg-glyph-render.c:_cairo_unbounded_rectangle_init
cairo-analysis-surface.c:_cairo_unbounded_rectangle_init
Line
Count
Source
303
479
{
304
479
    *rect = _cairo_unbounded_rectangle;
305
479
}
Unexecuted instantiation: cairo-array.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-boxes.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-cache.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-clip.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-color.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-compositor.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-damage.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-debug.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-default-context.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-device.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-error.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-freed-pool.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-gstate.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-hash.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-image-compositor.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-image-source.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-line.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-no-compositor.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-observer.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-path-bounds.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-path-fill.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-path-fixed.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-path-stroke.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-pen.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-polygon.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-slope.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-spans.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-surface-offset.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-png.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-arc.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-clip-region.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-clip-surface.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-contour.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-freelist.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-hull.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-output-stream.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-wideint.c:_cairo_unbounded_rectangle_init
cairo-pdf-surface.c:_cairo_unbounded_rectangle_init
Line
Count
Source
303
479
{
304
479
    *rect = _cairo_unbounded_rectangle;
305
479
}
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-image-info.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-version.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-cff-subset.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-type1-subset.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-tag-stack.c:_cairo_unbounded_rectangle_init
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_unbounded_rectangle_init
306
307
cairo_private_no_warn cairo_bool_t
308
_cairo_rectangle_intersect (cairo_rectangle_int_t *dst,
309
          const cairo_rectangle_int_t *src);
310
311
static inline cairo_bool_t
312
_cairo_rectangle_intersects (const cairo_rectangle_int_t *dst,
313
           const cairo_rectangle_int_t *src)
314
2.80M
{
315
2.80M
    return !(src->x >= dst->x + dst->width  ||
316
2.80M
       src->x + src->width <= dst->x  ||
317
2.80M
       src->y >= dst->y + dst->height ||
318
2.80M
       src->y + src->height <= dst->y);
319
2.80M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-font-options.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-image-surface.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-matrix.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-misc.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-mutex.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-path.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-pattern.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_rectangle_intersects
cairo-recording-surface.c:_cairo_rectangle_intersects
Line
Count
Source
314
2.80M
{
315
2.80M
    return !(src->x >= dst->x + dst->width  ||
316
2.80M
       src->x + src->width <= dst->x  ||
317
2.80M
       src->y >= dst->y + dst->height ||
318
2.80M
       src->y + src->height <= dst->y);
319
2.80M
}
Unexecuted instantiation: cairo-rectangle.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-region.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-scaled-font.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-spline.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-stroke-style.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-surface.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-traps.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-unicode.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-user-font.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-ft-font.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-colr-glyph-render.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-svg-glyph-render.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-array.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-boxes.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-cache.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-clip.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-color.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-compositor.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-damage.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-debug.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-default-context.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-device.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-error.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-freed-pool.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-gstate.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-hash.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-image-compositor.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-image-source.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-line.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-no-compositor.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-observer.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-path-bounds.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-path-fill.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-path-fixed.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-path-stroke.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-pen.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-polygon.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-slope.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-spans.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-surface-offset.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-png.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-arc.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-clip-region.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-clip-surface.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-contour.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-freelist.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-hull.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-output-stream.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-wideint.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-image-info.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-version.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-cff-subset.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-type1-subset.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-tag-stack.c:_cairo_rectangle_intersects
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_rectangle_intersects
320
321
static inline cairo_bool_t
322
_cairo_rectangle_contains_rectangle (const cairo_rectangle_int_t *a,
323
             const cairo_rectangle_int_t *b)
324
7.06M
{
325
7.06M
    return (a->x <= b->x &&
326
7.04M
      a->x + a->width >= b->x + b->width &&
327
7.03M
      a->y <= b->y &&
328
7.03M
      a->y + a->height >= b->y + b->height);
329
7.06M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-font-options.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-image-surface.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-matrix.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-misc.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-mutex.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-path.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-pattern.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-recording-surface.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-rectangle.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-region.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-scaled-font.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-spline.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-stroke-style.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-surface.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-traps.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-unicode.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-user-font.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-ft-font.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-colr-glyph-render.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-svg-glyph-render.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-array.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-boxes.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-cache.c:_cairo_rectangle_contains_rectangle
cairo-clip-boxes.c:_cairo_rectangle_contains_rectangle
Line
Count
Source
324
7.06M
{
325
7.06M
    return (a->x <= b->x &&
326
7.04M
      a->x + a->width >= b->x + b->width &&
327
7.03M
      a->y <= b->y &&
328
7.03M
      a->y + a->height >= b->y + b->height);
329
7.06M
}
Unexecuted instantiation: cairo-clip.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-color.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-compositor.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-damage.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-debug.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-default-context.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-device.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-error.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-freed-pool.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-gstate.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-hash.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-image-compositor.c:_cairo_rectangle_contains_rectangle
cairo-image-source.c:_cairo_rectangle_contains_rectangle
Line
Count
Source
324
335
{
325
335
    return (a->x <= b->x &&
326
307
      a->x + a->width >= b->x + b->width &&
327
303
      a->y <= b->y &&
328
303
      a->y + a->height >= b->y + b->height);
329
335
}
Unexecuted instantiation: cairo-line.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-no-compositor.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-observer.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-path-bounds.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-path-fill.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-path-fixed.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-path-stroke.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-pen.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-polygon.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-slope.c:_cairo_rectangle_contains_rectangle
cairo-spans-compositor.c:_cairo_rectangle_contains_rectangle
Line
Count
Source
324
231
{
325
231
    return (a->x <= b->x &&
326
211
      a->x + a->width >= b->x + b->width &&
327
211
      a->y <= b->y &&
328
208
      a->y + a->height >= b->y + b->height);
329
231
}
Unexecuted instantiation: cairo-spans.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-surface-offset.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-png.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-arc.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-clip-region.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-clip-surface.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-contour.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-freelist.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-hull.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-output-stream.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-wideint.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-image-info.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-version.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-cff-subset.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-type1-subset.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-tag-stack.c:_cairo_rectangle_contains_rectangle
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_rectangle_contains_rectangle
330
331
cairo_private void
332
_cairo_rectangle_int_from_double (cairo_rectangle_int_t *recti,
333
          const cairo_rectangle_t *rectf);
334
335
/* Extends the dst rectangle to also contain src.
336
 * If one of the rectangles is empty, the result is undefined
337
 */
338
cairo_private void
339
_cairo_rectangle_union (cairo_rectangle_int_t *dst,
340
      const cairo_rectangle_int_t *src);
341
342
cairo_private cairo_bool_t
343
_cairo_box_intersects_line_segment (const cairo_box_t *box,
344
                              cairo_line_t *line) cairo_pure;
345
346
cairo_private cairo_bool_t
347
_cairo_spline_intersects (const cairo_point_t *a,
348
        const cairo_point_t *b,
349
        const cairo_point_t *c,
350
        const cairo_point_t *d,
351
        const cairo_box_t *box) cairo_pure;
352
353
typedef struct {
354
    const cairo_user_data_key_t *key;
355
    void *user_data;
356
    cairo_destroy_func_t destroy;
357
} cairo_user_data_slot_t;
358
359
cairo_private void
360
_cairo_user_data_array_init (cairo_user_data_array_t *array);
361
362
cairo_private void
363
_cairo_user_data_array_fini (cairo_user_data_array_t *array);
364
365
cairo_private void *
366
_cairo_user_data_array_get_data (cairo_user_data_array_t     *array,
367
         const cairo_user_data_key_t *key);
368
369
cairo_private cairo_status_t
370
_cairo_user_data_array_set_data (cairo_user_data_array_t     *array,
371
         const cairo_user_data_key_t *key,
372
         void          *user_data,
373
         cairo_destroy_func_t       destroy);
374
375
cairo_private cairo_status_t
376
_cairo_user_data_array_copy (cairo_user_data_array_t    *dst,
377
           const cairo_user_data_array_t  *src);
378
379
cairo_private void
380
_cairo_user_data_array_foreach (cairo_user_data_array_t     *array,
381
        void (*func) (const void *key,
382
                void *elt,
383
                void *closure),
384
        void *closure);
385
386
17.0k
#define _CAIRO_HASH_INIT_VALUE 5381
387
388
cairo_private uintptr_t
389
_cairo_hash_string (const char *c);
390
391
cairo_private uintptr_t
392
_cairo_hash_bytes (uintptr_t hash,
393
       const void *bytes,
394
       unsigned int length);
395
396
cairo_private uintptr_t
397
_cairo_hash_uintptr (uintptr_t hash,
398
                     uintptr_t u);
399
400
/* We use bits 24-27 to store phases for subpixel positions */
401
3.96M
#define _cairo_scaled_glyph_index(g) ((unsigned long)((g)->hash_entry.hash & 0xffffff))
402
725k
#define _cairo_scaled_glyph_xphase(g) (int)(((g)->hash_entry.hash >> 24) & 3)
403
725k
#define _cairo_scaled_glyph_yphase(g) (int)(((g)->hash_entry.hash >> 26) & 3)
404
278k
#define _cairo_scaled_glyph_set_index(g, i)  ((g)->hash_entry.hash = (i))
405
406
#include "cairo-scaled-font-private.h"
407
408
struct _cairo_font_face {
409
    /* hash_entry must be first */
410
    cairo_hash_entry_t hash_entry;
411
    cairo_status_t status;
412
    cairo_reference_count_t ref_count;
413
    cairo_user_data_array_t user_data;
414
    const cairo_font_face_backend_t *backend;
415
};
416
417
cairo_private void
418
_cairo_default_context_reset_static_data (void);
419
420
cairo_private void
421
_cairo_toy_font_face_reset_static_data (void);
422
423
cairo_private void
424
_cairo_ft_font_reset_static_data (void);
425
426
cairo_private void
427
_cairo_win32_font_reset_static_data (void);
428
429
/* the font backend interface */
430
431
struct _cairo_unscaled_font_backend {
432
    cairo_bool_t (*destroy) (void *unscaled_font);
433
};
434
435
/* #cairo_toy_font_face_t - simple family/slant/weight font faces used for
436
 * the built-in font API
437
 */
438
439
typedef struct _cairo_toy_font_face {
440
    cairo_font_face_t base;
441
    const char *family;
442
    cairo_bool_t owns_family;
443
    cairo_font_slant_t slant;
444
    cairo_font_weight_t weight;
445
446
    cairo_font_face_t *impl_face; /* The non-toy font face this actually uses */
447
} cairo_toy_font_face_t;
448
449
typedef enum _cairo_scaled_glyph_info {
450
    CAIRO_SCALED_GLYPH_INFO_METRICS  = (1 << 0),
451
    CAIRO_SCALED_GLYPH_INFO_SURFACE  = (1 << 1),
452
    CAIRO_SCALED_GLYPH_INFO_PATH   = (1 << 2),
453
    CAIRO_SCALED_GLYPH_INFO_RECORDING_SURFACE = (1 << 3),
454
    CAIRO_SCALED_GLYPH_INFO_COLOR_SURFACE = (1 << 4)
455
} cairo_scaled_glyph_info_t;
456
457
typedef struct _cairo_scaled_font_subset {
458
    cairo_scaled_font_t *scaled_font;
459
    unsigned int font_id;
460
    unsigned int subset_id;
461
462
    /* Index of glyphs array is subset_glyph_index.
463
     * Value of glyphs array is scaled_font_glyph_index.
464
     */
465
    unsigned long *glyphs;
466
    char          **utf8;
467
    char          **glyph_names;
468
    int           *to_latin_char;
469
    unsigned long *latin_to_subset_glyph_index;
470
    unsigned int num_glyphs;
471
    cairo_bool_t is_composite;
472
    cairo_bool_t is_scaled;
473
    cairo_bool_t is_latin;
474
} cairo_scaled_font_subset_t;
475
476
struct _cairo_scaled_font_backend {
477
    cairo_font_type_t type;
478
479
    void
480
    (*fini)   (void     *scaled_font);
481
482
    /*
483
     * Get the requested glyph info.
484
     * @scaled_font: a #cairo_scaled_font_t
485
     * @scaled_glyph: a #cairo_scaled_glyph_t the glyph
486
     * @info: a #cairo_scaled_glyph_info_t which information to retrieve
487
     *  %CAIRO_SCALED_GLYPH_INFO_METRICS - glyph metrics and bounding box
488
     *  %CAIRO_SCALED_GLYPH_INFO_SURFACE - surface holding glyph image
489
     *  %CAIRO_SCALED_GLYPH_INFO_PATH - path holding glyph outline in device space
490
     *  %CAIRO_SCALED_GLYPH_INFO_RECORDING_SURFACE - surface holding recording of glyph
491
     *  %CAIRO_SCALED_GLYPH_INFO_COLOR_SURFACE - surface holding color glyph image
492
     * @foreground_color - foreground color to use when rendering color fonts. Use NULL
493
     * if not requesting CAIRO_SCALED_GLYPH_INFO_COLOR_SURFACE or foreground color is unknown.
494
     */
495
    cairo_warn cairo_int_status_t
496
    (*scaled_glyph_init)  (void          *scaled_font,
497
         cairo_scaled_glyph_t      *scaled_glyph,
498
         cairo_scaled_glyph_info_t    info,
499
                                 const cairo_color_t         *foreground_color);
500
501
    /* A backend only needs to implement this or ucs4_to_index(), not
502
     * both. This allows the backend to do something more sophisticated
503
     * then just converting characters one by one.
504
     */
505
    cairo_warn cairo_int_status_t
506
    (*text_to_glyphs) (void                       *scaled_font,
507
           double              x,
508
           double              y,
509
           const char           *utf8,
510
           int               utf8_len,
511
           cairo_glyph_t           **glyphs,
512
           int              *num_glyphs,
513
           cairo_text_cluster_t      **clusters,
514
           int              *num_clusters,
515
           cairo_text_cluster_flags_t *cluster_flags);
516
517
    /* Get the glyph index for the given unicode code point.
518
     * @scaled_font: a #cairo_scaled_font_t
519
     * @ucs4: unicode code point
520
     * Returns glyph index or 0 if not found.
521
     */
522
    unsigned long
523
    (*ucs4_to_index)    (void          *scaled_font,
524
         uint32_t         ucs4);
525
526
    /* Read data from a sfnt font table.
527
     * @scaled_font: font
528
     * @tag: 4 byte table name specifying the table to read.
529
     * @offset: offset into the table
530
     * @buffer: buffer to write data into. Caller must ensure there is sufficient space.
531
     *          If NULL, return the size of the table in @length.
532
     * @length: If @buffer is NULL, the size of the table will be returned in @length.
533
     *          If @buffer is not null, @length specifies the number of bytes to read.
534
     *
535
     * If less than @length bytes are available to read this function
536
     * returns CAIRO_INT_STATUS_UNSUPPORTED. Note that requesting more
537
     * bytes than are available in the table may continue reading data
538
     * from the following table and return success. If this is
539
     * undesirable the caller should first query the table size. If an
540
     * error occurs the output value of @length is undefined.
541
     *
542
     * Returns CAIRO_INT_STATUS_UNSUPPORTED if not a sfnt style font or table not found.
543
     */
544
    cairo_warn cairo_int_status_t
545
    (*load_truetype_table)(void           *scaled_font,
546
                           unsigned long         tag,
547
                           long                  offset,
548
                           unsigned char        *buffer,
549
                           unsigned long        *length);
550
551
    /* ucs4 is set to -1 if the unicode character could not be found
552
     * for the glyph */
553
    cairo_warn cairo_int_status_t
554
    (*index_to_ucs4)(void                       *scaled_font,
555
         unsigned long               index,
556
                     uint32_t                   *ucs4);
557
558
    /* Determine if this scaled font differs from the outlines in the font tables.
559
     * eg synthesized bold/italic or a non default variant of a variable font.
560
     * @scaled_font: font
561
     * @is_sythetic: returns TRUE if scaled font is synthetic
562
     * Returns cairo status
563
     */
564
    cairo_warn cairo_int_status_t
565
    (*is_synthetic)(void                       *scaled_font,
566
        cairo_bool_t               *is_synthetic);
567
568
    /* For type 1 fonts, return the glyph name for a given glyph index.
569
     * A glyph index and list of glyph names in the Type 1 fonts is provided.
570
     * The function returns the index of the glyph in the list of glyph names.
571
     * @scaled_font: font
572
     * @glyph_names: the names of each glyph in the Type 1 font in the
573
     *   order they appear in the CharStrings array
574
     * @num_glyph_names: the number of names in the glyph_names array
575
     * @glyph_index: the given glyph index
576
     * @glyph_array_index: (index into glyph_names) the glyph name corresponding
577
     *  to the glyph_index
578
     */
579
    cairo_warn cairo_int_status_t
580
    (*index_to_glyph_name)(void                 *scaled_font,
581
         char                **glyph_names,
582
         int                   num_glyph_names,
583
         unsigned long         glyph_index,
584
         unsigned long        *glyph_array_index);
585
586
    /* Read data from a PostScript font.
587
     * @scaled_font: font
588
     * @offset: offset into the table
589
     * @buffer: buffer to write data into. Caller must ensure there is sufficient space.
590
     *          If NULL, return the size of the table in @length.
591
     * @length: If @buffer is NULL, the size of the table will be returned in @length.
592
     *          If @buffer is not null, @length specifies the number of bytes to read.
593
     *
594
     * If less than @length bytes are available to read this function
595
     * returns CAIRO_INT_STATUS_UNSUPPORTED. If an error occurs the
596
     * output value of @length is undefined.
597
     *
598
     * Returns CAIRO_INT_STATUS_UNSUPPORTED if not a Type 1 font.
599
     */
600
    cairo_warn cairo_int_status_t
601
    (*load_type1_data)    (void           *scaled_font,
602
                           long                  offset,
603
                           unsigned char        *buffer,
604
                           unsigned long        *length);
605
606
    /* Check if font has any color glyphs.
607
     * @scaled_font: font
608
     * Returns TRUE if font contains any color glyphs
609
     */
610
    cairo_bool_t
611
    (*has_color_glyphs)   (void                 *scaled_font);
612
};
613
614
struct _cairo_font_face_backend {
615
    cairo_font_type_t type;
616
617
    cairo_warn cairo_status_t
618
    (*create_for_toy)  (cairo_toy_font_face_t *toy_face,
619
      cairo_font_face_t      **font_face);
620
621
    /* The destroy() function is allowed to resurrect the font face
622
     * by re-referencing. This is needed for the FreeType backend.
623
     */
624
    cairo_bool_t
625
    (*destroy)     (void      *font_face);
626
627
    cairo_warn cairo_status_t
628
    (*scaled_font_create) (void       *font_face,
629
         const cairo_matrix_t   *font_matrix,
630
         const cairo_matrix_t   *ctm,
631
         const cairo_font_options_t *options,
632
         cairo_scaled_font_t         **scaled_font);
633
634
    cairo_font_face_t *
635
    (*get_implementation) (void       *font_face,
636
         const cairo_matrix_t   *font_matrix,
637
         const cairo_matrix_t   *ctm,
638
         const cairo_font_options_t *options);
639
};
640
641
extern const cairo_private struct _cairo_font_face_backend _cairo_user_font_face_backend;
642
643
/* concrete font backends */
644
#if CAIRO_HAS_FT_FONT
645
646
extern const cairo_private struct _cairo_font_face_backend _cairo_ft_font_face_backend;
647
648
#endif
649
650
#if CAIRO_HAS_WIN32_FONT
651
652
extern const cairo_private struct _cairo_font_face_backend _cairo_win32_font_face_backend;
653
654
#endif
655
656
#if CAIRO_HAS_DWRITE_FONT
657
658
extern const cairo_private struct _cairo_font_face_backend _cairo_dwrite_font_face_backend;
659
660
#endif
661
662
#if CAIRO_HAS_QUARTZ_FONT
663
664
extern const cairo_private struct _cairo_font_face_backend _cairo_quartz_font_face_backend;
665
666
#endif
667
668
26.7k
#define CAIRO_EXTEND_SURFACE_DEFAULT CAIRO_EXTEND_NONE
669
275k
#define CAIRO_EXTEND_GRADIENT_DEFAULT CAIRO_EXTEND_PAD
670
301k
#define CAIRO_FILTER_DEFAULT CAIRO_FILTER_GOOD
671
672
extern const cairo_private cairo_solid_pattern_t _cairo_pattern_clear;
673
extern const cairo_private cairo_solid_pattern_t _cairo_pattern_black;
674
extern const cairo_private cairo_solid_pattern_t _cairo_pattern_white;
675
676
struct _cairo_surface_attributes {
677
    cairo_matrix_t matrix;
678
    cairo_extend_t extend;
679
    cairo_filter_t filter;
680
    cairo_bool_t has_component_alpha;
681
    int      x_offset;
682
    int      y_offset;
683
    void     *extra;
684
};
685
686
228
#define CAIRO_FONT_SLANT_DEFAULT   CAIRO_FONT_SLANT_NORMAL
687
228
#define CAIRO_FONT_WEIGHT_DEFAULT  CAIRO_FONT_WEIGHT_NORMAL
688
689
#define CAIRO_WIN32_FONT_FAMILY_DEFAULT "Arial"
690
#define CAIRO_DWRITE_FONT_FAMILY_DEFAULT "Arial"
691
#define CAIRO_QUARTZ_FONT_FAMILY_DEFAULT  "Helvetica"
692
456
#define CAIRO_FT_FONT_FAMILY_DEFAULT     ""
693
6
#define CAIRO_USER_FONT_FAMILY_DEFAULT     "@cairo:"
694
695
#if   CAIRO_HAS_DWRITE_FONT
696
697
#define CAIRO_FONT_FAMILY_DEFAULT CAIRO_DWRITE_FONT_FAMILY_DEFAULT
698
#define CAIRO_FONT_FACE_BACKEND_DEFAULT &_cairo_dwrite_font_face_backend
699
700
#elif CAIRO_HAS_WIN32_FONT
701
702
#define CAIRO_FONT_FAMILY_DEFAULT CAIRO_WIN32_FONT_FAMILY_DEFAULT
703
#define CAIRO_FONT_FACE_BACKEND_DEFAULT &_cairo_win32_font_face_backend
704
705
#elif CAIRO_HAS_QUARTZ_FONT
706
707
#define CAIRO_FONT_FAMILY_DEFAULT CAIRO_QUARTZ_FONT_FAMILY_DEFAULT
708
#define CAIRO_FONT_FACE_BACKEND_DEFAULT &_cairo_quartz_font_face_backend
709
710
#elif CAIRO_HAS_FT_FONT
711
712
456
#define CAIRO_FONT_FAMILY_DEFAULT CAIRO_FT_FONT_FAMILY_DEFAULT
713
3
#define CAIRO_FONT_FACE_BACKEND_DEFAULT &_cairo_ft_font_face_backend
714
715
#else
716
717
#define CAIRO_FONT_FAMILY_DEFAULT CAIRO_FT_FONT_FAMILY_DEFAULT
718
#define CAIRO_FONT_FACE_BACKEND_DEFAULT &_cairo_user_font_face_backend
719
720
#endif
721
722
18.2k
#define CAIRO_GSTATE_OPERATOR_DEFAULT CAIRO_OPERATOR_OVER
723
18.2k
#define CAIRO_GSTATE_TOLERANCE_DEFAULT  0.1
724
18.2k
#define CAIRO_GSTATE_FILL_RULE_DEFAULT  CAIRO_FILL_RULE_WINDING
725
18.2k
#define CAIRO_GSTATE_LINE_WIDTH_DEFAULT 2.0
726
18.2k
#define CAIRO_GSTATE_LINE_CAP_DEFAULT CAIRO_LINE_CAP_BUTT
727
18.2k
#define CAIRO_GSTATE_LINE_JOIN_DEFAULT  CAIRO_LINE_JOIN_MITER
728
18.2k
#define CAIRO_GSTATE_MITER_LIMIT_DEFAULT  10.0
729
36.5k
#define CAIRO_GSTATE_DEFAULT_FONT_SIZE  10.0
730
731
448k
#define CAIRO_SURFACE_RESOLUTION_DEFAULT 72.0
732
448k
#define CAIRO_SURFACE_FALLBACK_RESOLUTION_DEFAULT 300.0
733
734
typedef struct _cairo_stroke_face {
735
    cairo_point_t ccw;
736
    cairo_point_t point;
737
    cairo_point_t cw;
738
    cairo_slope_t dev_vector;
739
    cairo_point_double_t dev_slope;
740
    cairo_point_double_t usr_vector;
741
    double length;
742
} cairo_stroke_face_t;
743
744
/* cairo.c */
745
746
static inline double cairo_const
747
_cairo_restrict_value (double value, double min, double max)
748
7.42M
{
749
7.42M
    if (value < min)
750
0
  return min;
751
7.42M
    else if (value > max)
752
1.19k
  return max;
753
7.42M
    else
754
7.42M
  return value;
755
7.42M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_restrict_value
Unexecuted instantiation: cairo-font-options.c:_cairo_restrict_value
Unexecuted instantiation: cairo-image-surface.c:_cairo_restrict_value
Unexecuted instantiation: cairo-matrix.c:_cairo_restrict_value
Unexecuted instantiation: cairo-misc.c:_cairo_restrict_value
Unexecuted instantiation: cairo-mutex.c:_cairo_restrict_value
Unexecuted instantiation: cairo-path.c:_cairo_restrict_value
cairo-pattern.c:_cairo_restrict_value
Line
Count
Source
748
3.53M
{
749
3.53M
    if (value < min)
750
0
  return min;
751
3.53M
    else if (value > max)
752
0
  return max;
753
3.53M
    else
754
3.53M
  return value;
755
3.53M
}
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_restrict_value
Unexecuted instantiation: cairo-recording-surface.c:_cairo_restrict_value
Unexecuted instantiation: cairo-rectangle.c:_cairo_restrict_value
Unexecuted instantiation: cairo-region.c:_cairo_restrict_value
Unexecuted instantiation: cairo-scaled-font.c:_cairo_restrict_value
Unexecuted instantiation: cairo-spline.c:_cairo_restrict_value
Unexecuted instantiation: cairo-stroke-style.c:_cairo_restrict_value
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_restrict_value
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_restrict_value
Unexecuted instantiation: cairo-surface.c:_cairo_restrict_value
Unexecuted instantiation: cairo-traps.c:_cairo_restrict_value
Unexecuted instantiation: cairo-unicode.c:_cairo_restrict_value
Unexecuted instantiation: cairo-user-font.c:_cairo_restrict_value
Unexecuted instantiation: cairo.c:_cairo_restrict_value
Unexecuted instantiation: cairo-ft-font.c:_cairo_restrict_value
Unexecuted instantiation: cairo-colr-glyph-render.c:_cairo_restrict_value
Unexecuted instantiation: cairo-svg-glyph-render.c:_cairo_restrict_value
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_restrict_value
Unexecuted instantiation: cairo-array.c:_cairo_restrict_value
Unexecuted instantiation: cairo-boxes.c:_cairo_restrict_value
Unexecuted instantiation: cairo-cache.c:_cairo_restrict_value
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_restrict_value
Unexecuted instantiation: cairo-clip.c:_cairo_restrict_value
Unexecuted instantiation: cairo-color.c:_cairo_restrict_value
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_restrict_value
Unexecuted instantiation: cairo-compositor.c:_cairo_restrict_value
Unexecuted instantiation: cairo-damage.c:_cairo_restrict_value
Unexecuted instantiation: cairo-debug.c:_cairo_restrict_value
cairo-default-context.c:_cairo_restrict_value
Line
Count
Source
748
37.9k
{
749
37.9k
    if (value < min)
750
0
  return min;
751
37.9k
    else if (value > max)
752
0
  return max;
753
37.9k
    else
754
37.9k
  return value;
755
37.9k
}
Unexecuted instantiation: cairo-device.c:_cairo_restrict_value
Unexecuted instantiation: cairo-error.c:_cairo_restrict_value
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_restrict_value
Unexecuted instantiation: cairo-freed-pool.c:_cairo_restrict_value
Unexecuted instantiation: cairo-gstate.c:_cairo_restrict_value
Unexecuted instantiation: cairo-hash.c:_cairo_restrict_value
Unexecuted instantiation: cairo-image-compositor.c:_cairo_restrict_value
Unexecuted instantiation: cairo-image-source.c:_cairo_restrict_value
Unexecuted instantiation: cairo-line.c:_cairo_restrict_value
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_restrict_value
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_restrict_value
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_restrict_value
Unexecuted instantiation: cairo-no-compositor.c:_cairo_restrict_value
Unexecuted instantiation: cairo-observer.c:_cairo_restrict_value
Unexecuted instantiation: cairo-path-bounds.c:_cairo_restrict_value
Unexecuted instantiation: cairo-path-fill.c:_cairo_restrict_value
Unexecuted instantiation: cairo-path-fixed.c:_cairo_restrict_value
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_restrict_value
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_restrict_value
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_restrict_value
Unexecuted instantiation: cairo-path-stroke.c:_cairo_restrict_value
Unexecuted instantiation: cairo-pen.c:_cairo_restrict_value
Unexecuted instantiation: cairo-polygon.c:_cairo_restrict_value
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_restrict_value
Unexecuted instantiation: cairo-slope.c:_cairo_restrict_value
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_restrict_value
Unexecuted instantiation: cairo-spans.c:_cairo_restrict_value
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_restrict_value
Unexecuted instantiation: cairo-surface-offset.c:_cairo_restrict_value
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_restrict_value
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_restrict_value
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_restrict_value
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_restrict_value
Unexecuted instantiation: cairo-png.c:_cairo_restrict_value
Unexecuted instantiation: cairo-arc.c:_cairo_restrict_value
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_restrict_value
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_restrict_value
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_restrict_value
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_restrict_value
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_restrict_value
Unexecuted instantiation: cairo-clip-region.c:_cairo_restrict_value
Unexecuted instantiation: cairo-clip-surface.c:_cairo_restrict_value
Unexecuted instantiation: cairo-contour.c:_cairo_restrict_value
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_restrict_value
Unexecuted instantiation: cairo-freelist.c:_cairo_restrict_value
Unexecuted instantiation: cairo-hull.c:_cairo_restrict_value
Unexecuted instantiation: cairo-output-stream.c:_cairo_restrict_value
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_restrict_value
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_restrict_value
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_restrict_value
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_restrict_value
Unexecuted instantiation: cairo-wideint.c:_cairo_restrict_value
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_restrict_value
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_restrict_value
Unexecuted instantiation: cairo-image-info.c:_cairo_restrict_value
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_restrict_value
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_restrict_value
Unexecuted instantiation: cairo-version.c:_cairo_restrict_value
Unexecuted instantiation: cairo-cff-subset.c:_cairo_restrict_value
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_restrict_value
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_restrict_value
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_restrict_value
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_restrict_value
Unexecuted instantiation: cairo-type1-subset.c:_cairo_restrict_value
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_restrict_value
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_restrict_value
cairo-pdf-shading.c:_cairo_restrict_value
Line
Count
Source
748
3.85M
{
749
3.85M
    if (value < min)
750
0
  return min;
751
3.85M
    else if (value > max)
752
1.19k
  return max;
753
3.85M
    else
754
3.85M
  return value;
755
3.85M
}
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_restrict_value
Unexecuted instantiation: cairo-tag-stack.c:_cairo_restrict_value
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_restrict_value
756
757
/* C99 round() rounds to the nearest integral value with halfway cases rounded
758
 * away from 0. _cairo_round rounds halfway cases toward positive infinity.
759
 * This matches the rounding behaviour of _cairo_lround. */
760
static inline double cairo_const
761
_cairo_round (double r)
762
4.43M
{
763
4.43M
    return floor (r + .5);
764
4.43M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_round
Unexecuted instantiation: cairo-font-options.c:_cairo_round
Unexecuted instantiation: cairo-image-surface.c:_cairo_round
cairo-matrix.c:_cairo_round
Line
Count
Source
762
11.0k
{
763
11.0k
    return floor (r + .5);
764
11.0k
}
Unexecuted instantiation: cairo-misc.c:_cairo_round
Unexecuted instantiation: cairo-mutex.c:_cairo_round
Unexecuted instantiation: cairo-path.c:_cairo_round
cairo-pattern.c:_cairo_round
Line
Count
Source
762
232k
{
763
232k
    return floor (r + .5);
764
232k
}
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_round
Unexecuted instantiation: cairo-recording-surface.c:_cairo_round
Unexecuted instantiation: cairo-rectangle.c:_cairo_round
Unexecuted instantiation: cairo-region.c:_cairo_round
cairo-scaled-font.c:_cairo_round
Line
Count
Source
762
557k
{
763
557k
    return floor (r + .5);
764
557k
}
Unexecuted instantiation: cairo-spline.c:_cairo_round
Unexecuted instantiation: cairo-stroke-style.c:_cairo_round
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_round
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_round
Unexecuted instantiation: cairo-surface.c:_cairo_round
Unexecuted instantiation: cairo-traps.c:_cairo_round
Unexecuted instantiation: cairo-unicode.c:_cairo_round
Unexecuted instantiation: cairo-user-font.c:_cairo_round
Unexecuted instantiation: cairo.c:_cairo_round
cairo-ft-font.c:_cairo_round
Line
Count
Source
762
2.45k
{
763
2.45k
    return floor (r + .5);
764
2.45k
}
Unexecuted instantiation: cairo-colr-glyph-render.c:_cairo_round
Unexecuted instantiation: cairo-svg-glyph-render.c:_cairo_round
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_round
Unexecuted instantiation: cairo-array.c:_cairo_round
Unexecuted instantiation: cairo-boxes.c:_cairo_round
Unexecuted instantiation: cairo-cache.c:_cairo_round
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_round
Unexecuted instantiation: cairo-clip.c:_cairo_round
Unexecuted instantiation: cairo-color.c:_cairo_round
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_round
Unexecuted instantiation: cairo-compositor.c:_cairo_round
Unexecuted instantiation: cairo-damage.c:_cairo_round
Unexecuted instantiation: cairo-debug.c:_cairo_round
Unexecuted instantiation: cairo-default-context.c:_cairo_round
Unexecuted instantiation: cairo-device.c:_cairo_round
Unexecuted instantiation: cairo-error.c:_cairo_round
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_round
Unexecuted instantiation: cairo-freed-pool.c:_cairo_round
Unexecuted instantiation: cairo-gstate.c:_cairo_round
Unexecuted instantiation: cairo-hash.c:_cairo_round
Unexecuted instantiation: cairo-image-compositor.c:_cairo_round
Unexecuted instantiation: cairo-image-source.c:_cairo_round
Unexecuted instantiation: cairo-line.c:_cairo_round
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_round
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_round
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_round
Unexecuted instantiation: cairo-no-compositor.c:_cairo_round
Unexecuted instantiation: cairo-observer.c:_cairo_round
Unexecuted instantiation: cairo-path-bounds.c:_cairo_round
Unexecuted instantiation: cairo-path-fill.c:_cairo_round
Unexecuted instantiation: cairo-path-fixed.c:_cairo_round
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_round
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_round
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_round
Unexecuted instantiation: cairo-path-stroke.c:_cairo_round
Unexecuted instantiation: cairo-pen.c:_cairo_round
Unexecuted instantiation: cairo-polygon.c:_cairo_round
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_round
Unexecuted instantiation: cairo-slope.c:_cairo_round
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_round
Unexecuted instantiation: cairo-spans.c:_cairo_round
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_round
Unexecuted instantiation: cairo-surface-offset.c:_cairo_round
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_round
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_round
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_round
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_round
Unexecuted instantiation: cairo-png.c:_cairo_round
Unexecuted instantiation: cairo-arc.c:_cairo_round
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_round
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_round
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_round
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_round
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_round
Unexecuted instantiation: cairo-clip-region.c:_cairo_round
Unexecuted instantiation: cairo-clip-surface.c:_cairo_round
Unexecuted instantiation: cairo-contour.c:_cairo_round
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_round
Unexecuted instantiation: cairo-freelist.c:_cairo_round
Unexecuted instantiation: cairo-hull.c:_cairo_round
Unexecuted instantiation: cairo-output-stream.c:_cairo_round
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_round
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_round
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_round
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_round
Unexecuted instantiation: cairo-wideint.c:_cairo_round
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_round
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_round
Unexecuted instantiation: cairo-image-info.c:_cairo_round
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_round
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_round
Unexecuted instantiation: cairo-version.c:_cairo_round
cairo-cff-subset.c:_cairo_round
Line
Count
Source
762
671
{
763
671
    return floor (r + .5);
764
671
}
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_round
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_round
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_round
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_round
Unexecuted instantiation: cairo-type1-subset.c:_cairo_round
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_round
cairo-pdf-operators.c:_cairo_round
Line
Count
Source
762
3.63M
{
763
3.63M
    return floor (r + .5);
764
3.63M
}
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_round
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_round
Unexecuted instantiation: cairo-tag-stack.c:_cairo_round
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_round
765
766
#if DISABLE_SOME_FLOATING_POINT
767
cairo_private int
768
_cairo_lround (double d) cairo_const;
769
#else
770
static inline int cairo_const
771
_cairo_lround (double r)
772
4.43M
{
773
4.43M
    return _cairo_round (r);
774
4.43M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_lround
Unexecuted instantiation: cairo-font-options.c:_cairo_lround
Unexecuted instantiation: cairo-image-surface.c:_cairo_lround
cairo-matrix.c:_cairo_lround
Line
Count
Source
772
11.0k
{
773
11.0k
    return _cairo_round (r);
774
11.0k
}
Unexecuted instantiation: cairo-misc.c:_cairo_lround
Unexecuted instantiation: cairo-mutex.c:_cairo_lround
Unexecuted instantiation: cairo-path.c:_cairo_lround
cairo-pattern.c:_cairo_lround
Line
Count
Source
772
232k
{
773
232k
    return _cairo_round (r);
774
232k
}
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_lround
Unexecuted instantiation: cairo-recording-surface.c:_cairo_lround
Unexecuted instantiation: cairo-rectangle.c:_cairo_lround
Unexecuted instantiation: cairo-region.c:_cairo_lround
cairo-scaled-font.c:_cairo_lround
Line
Count
Source
772
557k
{
773
557k
    return _cairo_round (r);
774
557k
}
Unexecuted instantiation: cairo-spline.c:_cairo_lround
Unexecuted instantiation: cairo-stroke-style.c:_cairo_lround
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_lround
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_lround
Unexecuted instantiation: cairo-surface.c:_cairo_lround
Unexecuted instantiation: cairo-traps.c:_cairo_lround
Unexecuted instantiation: cairo-unicode.c:_cairo_lround
Unexecuted instantiation: cairo-user-font.c:_cairo_lround
Unexecuted instantiation: cairo.c:_cairo_lround
cairo-ft-font.c:_cairo_lround
Line
Count
Source
772
2.45k
{
773
2.45k
    return _cairo_round (r);
774
2.45k
}
Unexecuted instantiation: cairo-colr-glyph-render.c:_cairo_lround
Unexecuted instantiation: cairo-svg-glyph-render.c:_cairo_lround
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_lround
Unexecuted instantiation: cairo-array.c:_cairo_lround
Unexecuted instantiation: cairo-boxes.c:_cairo_lround
Unexecuted instantiation: cairo-cache.c:_cairo_lround
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_lround
Unexecuted instantiation: cairo-clip.c:_cairo_lround
Unexecuted instantiation: cairo-color.c:_cairo_lround
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_lround
Unexecuted instantiation: cairo-compositor.c:_cairo_lround
Unexecuted instantiation: cairo-damage.c:_cairo_lround
Unexecuted instantiation: cairo-debug.c:_cairo_lround
Unexecuted instantiation: cairo-default-context.c:_cairo_lround
Unexecuted instantiation: cairo-device.c:_cairo_lround
Unexecuted instantiation: cairo-error.c:_cairo_lround
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_lround
Unexecuted instantiation: cairo-freed-pool.c:_cairo_lround
Unexecuted instantiation: cairo-gstate.c:_cairo_lround
Unexecuted instantiation: cairo-hash.c:_cairo_lround
Unexecuted instantiation: cairo-image-compositor.c:_cairo_lround
Unexecuted instantiation: cairo-image-source.c:_cairo_lround
Unexecuted instantiation: cairo-line.c:_cairo_lround
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_lround
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_lround
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_lround
Unexecuted instantiation: cairo-no-compositor.c:_cairo_lround
Unexecuted instantiation: cairo-observer.c:_cairo_lround
Unexecuted instantiation: cairo-path-bounds.c:_cairo_lround
Unexecuted instantiation: cairo-path-fill.c:_cairo_lround
Unexecuted instantiation: cairo-path-fixed.c:_cairo_lround
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_lround
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_lround
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_lround
Unexecuted instantiation: cairo-path-stroke.c:_cairo_lround
Unexecuted instantiation: cairo-pen.c:_cairo_lround
Unexecuted instantiation: cairo-polygon.c:_cairo_lround
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_lround
Unexecuted instantiation: cairo-slope.c:_cairo_lround
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_lround
Unexecuted instantiation: cairo-spans.c:_cairo_lround
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_lround
Unexecuted instantiation: cairo-surface-offset.c:_cairo_lround
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_lround
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_lround
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_lround
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_lround
Unexecuted instantiation: cairo-png.c:_cairo_lround
Unexecuted instantiation: cairo-arc.c:_cairo_lround
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_lround
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_lround
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_lround
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_lround
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_lround
Unexecuted instantiation: cairo-clip-region.c:_cairo_lround
Unexecuted instantiation: cairo-clip-surface.c:_cairo_lround
Unexecuted instantiation: cairo-contour.c:_cairo_lround
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_lround
Unexecuted instantiation: cairo-freelist.c:_cairo_lround
Unexecuted instantiation: cairo-hull.c:_cairo_lround
Unexecuted instantiation: cairo-output-stream.c:_cairo_lround
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_lround
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_lround
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_lround
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_lround
Unexecuted instantiation: cairo-wideint.c:_cairo_lround
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_lround
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_lround
Unexecuted instantiation: cairo-image-info.c:_cairo_lround
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_lround
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_lround
Unexecuted instantiation: cairo-version.c:_cairo_lround
Unexecuted instantiation: cairo-cff-subset.c:_cairo_lround
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_lround
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_lround
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_lround
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_lround
Unexecuted instantiation: cairo-type1-subset.c:_cairo_lround
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_lround
cairo-pdf-operators.c:_cairo_lround
Line
Count
Source
772
3.63M
{
773
3.63M
    return _cairo_round (r);
774
3.63M
}
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_lround
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_lround
Unexecuted instantiation: cairo-tag-stack.c:_cairo_lround
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_lround
775
#endif
776
777
cairo_private uint16_t
778
_cairo_half_from_float (float f) cairo_const;
779
780
cairo_private cairo_bool_t
781
_cairo_operator_bounded_by_mask (cairo_operator_t op) cairo_const;
782
783
cairo_private cairo_bool_t
784
_cairo_operator_bounded_by_source (cairo_operator_t op) cairo_const;
785
786
enum {
787
    CAIRO_OPERATOR_BOUND_BY_MASK = 1 << 1,
788
    CAIRO_OPERATOR_BOUND_BY_SOURCE = 1 << 2,
789
};
790
791
cairo_private uint32_t
792
_cairo_operator_bounded_by_either (cairo_operator_t op) cairo_const;
793
/* cairo-color.c */
794
cairo_private const cairo_color_t *
795
_cairo_stock_color (cairo_stock_t stock) cairo_pure;
796
797
1
#define CAIRO_COLOR_WHITE       _cairo_stock_color (CAIRO_STOCK_WHITE)
798
13.4M
#define CAIRO_COLOR_BLACK       _cairo_stock_color (CAIRO_STOCK_BLACK)
799
17.2k
#define CAIRO_COLOR_TRANSPARENT _cairo_stock_color (CAIRO_STOCK_TRANSPARENT)
800
801
cairo_private uint16_t
802
_cairo_color_double_to_short (double d) cairo_const;
803
804
cairo_private void
805
_cairo_color_init_rgba (cairo_color_t *color,
806
      double red, double green, double blue,
807
      double alpha);
808
809
cairo_private void
810
_cairo_color_multiply_alpha (cairo_color_t *color,
811
           double     alpha);
812
813
cairo_private void
814
_cairo_color_get_rgba (cairo_color_t *color,
815
           double      *red,
816
           double      *green,
817
           double      *blue,
818
           double      *alpha);
819
820
cairo_private void
821
_cairo_color_get_rgba_premultiplied (cairo_color_t *color,
822
             double    *red,
823
             double    *green,
824
             double    *blue,
825
             double    *alpha);
826
827
cairo_private cairo_bool_t
828
_cairo_color_equal (const cairo_color_t *color_a,
829
                    const cairo_color_t *color_b) cairo_pure;
830
831
cairo_private cairo_bool_t
832
_cairo_color_stop_equal (const cairo_color_stop_t *color_a,
833
       const cairo_color_stop_t *color_b) cairo_pure;
834
835
cairo_private cairo_content_t
836
_cairo_color_get_content (const cairo_color_t *color) cairo_pure;
837
838
/* cairo-font-face.c */
839
840
extern const cairo_private cairo_font_face_t _cairo_font_face_nil;
841
extern const cairo_private cairo_font_face_t _cairo_font_face_nil_file_not_found;
842
843
cairo_private void
844
_cairo_font_face_init (cairo_font_face_t               *font_face,
845
           const cairo_font_face_backend_t *backend);
846
847
cairo_private cairo_bool_t
848
_cairo_font_face_destroy (void *abstract_face);
849
850
cairo_private cairo_status_t
851
_cairo_font_face_set_error (cairo_font_face_t *font_face,
852
                      cairo_status_t     status);
853
854
cairo_private void
855
_cairo_unscaled_font_init (cairo_unscaled_font_t               *font,
856
         const cairo_unscaled_font_backend_t *backend);
857
858
cairo_private_no_warn cairo_unscaled_font_t *
859
_cairo_unscaled_font_reference (cairo_unscaled_font_t *font);
860
861
cairo_private void
862
_cairo_unscaled_font_destroy (cairo_unscaled_font_t *font);
863
864
/* cairo-font-face-twin.c */
865
866
cairo_private cairo_font_face_t *
867
_cairo_font_face_twin_create_fallback (void);
868
869
cairo_private cairo_status_t
870
_cairo_font_face_twin_create_for_toy (cairo_toy_font_face_t   *toy_face,
871
              cairo_font_face_t      **font_face);
872
873
/* cairo-font-face-twin-data.c */
874
875
extern const cairo_private int8_t _cairo_twin_outlines[];
876
extern const cairo_private uint16_t _cairo_twin_charmap[128];
877
878
/* cairo-font-options.c */
879
880
cairo_private void
881
_cairo_font_options_init_default (cairo_font_options_t *options);
882
883
cairo_private void
884
_cairo_font_options_init_copy (cairo_font_options_t   *options,
885
             const cairo_font_options_t *other);
886
887
cairo_private cairo_bool_t
888
_cairo_font_options_compare (const cairo_font_options_t *a,
889
                             const cairo_font_options_t *b);
890
891
cairo_private void
892
_cairo_font_options_fini (cairo_font_options_t *options);
893
894
cairo_private void
895
_cairo_font_options_set_lcd_filter (cairo_font_options_t   *options,
896
           cairo_lcd_filter_t  lcd_filter);
897
898
cairo_private cairo_lcd_filter_t
899
_cairo_font_options_get_lcd_filter (const cairo_font_options_t *options);
900
901
cairo_private void
902
_cairo_font_options_set_round_glyph_positions (cairo_font_options_t   *options,
903
                 cairo_round_glyph_positions_t  round);
904
905
cairo_private cairo_round_glyph_positions_t
906
_cairo_font_options_get_round_glyph_positions (const cairo_font_options_t *options);
907
908
/* cairo-hull.c */
909
cairo_private cairo_status_t
910
_cairo_hull_compute (cairo_pen_vertex_t *vertices, int *num_vertices);
911
912
/* cairo-lzw.c */
913
cairo_private unsigned char *
914
_cairo_lzw_compress (unsigned char *data, unsigned long *size_in_out);
915
916
/* cairo-misc.c */
917
cairo_private cairo_status_t
918
_cairo_validate_text_clusters (const char      *utf8,
919
             int          utf8_len,
920
             const cairo_glyph_t     *glyphs,
921
             int          num_glyphs,
922
             const cairo_text_cluster_t  *clusters,
923
             int          num_clusters,
924
             cairo_text_cluster_flags_t   cluster_flags);
925
926
cairo_private unsigned long
927
_cairo_string_hash (const char *str, int len);
928
929
cairo_private cairo_status_t
930
_cairo_intern_string (const char **str_inout, int len);
931
932
cairo_private void
933
_cairo_intern_string_reset_static_data (void);
934
935
cairo_private const char *
936
_cairo_get_locale_decimal_point (void);
937
938
cairo_private double
939
_cairo_strtod (const char *nptr, char **endptr);
940
941
#ifdef HAVE_STRNDUP
942
128k
#define _cairo_strndup strndup
943
#else
944
cairo_private char *
945
_cairo_strndup (const char *s, size_t n);
946
#endif
947
948
/* cairo-path-fixed.c */
949
cairo_private cairo_path_fixed_t *
950
_cairo_path_fixed_create (void);
951
952
cairo_private void
953
_cairo_path_fixed_init (cairo_path_fixed_t *path);
954
955
cairo_private cairo_status_t
956
_cairo_path_fixed_init_copy (cairo_path_fixed_t *path,
957
           const cairo_path_fixed_t *other);
958
959
cairo_private void
960
_cairo_path_fixed_fini (cairo_path_fixed_t *path);
961
962
cairo_private void
963
_cairo_path_fixed_destroy (cairo_path_fixed_t *path);
964
965
cairo_private cairo_status_t
966
_cairo_path_fixed_move_to (cairo_path_fixed_t  *path,
967
         cairo_fixed_t  x,
968
         cairo_fixed_t  y);
969
970
cairo_private void
971
_cairo_path_fixed_new_sub_path (cairo_path_fixed_t *path);
972
973
cairo_private cairo_status_t
974
_cairo_path_fixed_rel_move_to (cairo_path_fixed_t *path,
975
             cairo_fixed_t     dx,
976
             cairo_fixed_t     dy);
977
978
cairo_private cairo_status_t
979
_cairo_path_fixed_line_to (cairo_path_fixed_t *path,
980
         cairo_fixed_t  x,
981
         cairo_fixed_t  y);
982
983
cairo_private cairo_status_t
984
_cairo_path_fixed_rel_line_to (cairo_path_fixed_t *path,
985
             cairo_fixed_t     dx,
986
             cairo_fixed_t     dy);
987
988
cairo_private cairo_status_t
989
_cairo_path_fixed_curve_to (cairo_path_fixed_t  *path,
990
          cairo_fixed_t x0, cairo_fixed_t y0,
991
          cairo_fixed_t x1, cairo_fixed_t y1,
992
          cairo_fixed_t x2, cairo_fixed_t y2);
993
994
cairo_private cairo_status_t
995
_cairo_path_fixed_rel_curve_to (cairo_path_fixed_t *path,
996
        cairo_fixed_t dx0, cairo_fixed_t dy0,
997
        cairo_fixed_t dx1, cairo_fixed_t dy1,
998
        cairo_fixed_t dx2, cairo_fixed_t dy2);
999
1000
cairo_private cairo_status_t
1001
_cairo_path_fixed_close_path (cairo_path_fixed_t *path);
1002
1003
cairo_private cairo_bool_t
1004
_cairo_path_fixed_get_current_point (cairo_path_fixed_t *path,
1005
             cairo_fixed_t  *x,
1006
             cairo_fixed_t  *y);
1007
1008
typedef cairo_status_t
1009
(cairo_path_fixed_move_to_func_t) (void    *closure,
1010
           const cairo_point_t *point);
1011
1012
typedef cairo_status_t
1013
(cairo_path_fixed_line_to_func_t) (void    *closure,
1014
           const cairo_point_t *point);
1015
1016
typedef cairo_status_t
1017
(cairo_path_fixed_curve_to_func_t) (void    *closure,
1018
            const cairo_point_t *p0,
1019
            const cairo_point_t *p1,
1020
            const cairo_point_t *p2);
1021
1022
typedef cairo_status_t
1023
(cairo_path_fixed_close_path_func_t) (void *closure);
1024
1025
cairo_private cairo_status_t
1026
_cairo_path_fixed_interpret (const cairo_path_fixed_t   *path,
1027
           cairo_path_fixed_move_to_func_t    *move_to,
1028
           cairo_path_fixed_line_to_func_t    *line_to,
1029
           cairo_path_fixed_curve_to_func_t   *curve_to,
1030
           cairo_path_fixed_close_path_func_t *close_path,
1031
           void         *closure);
1032
1033
cairo_private cairo_status_t
1034
_cairo_path_fixed_interpret_flat (const cairo_path_fixed_t *path,
1035
           cairo_path_fixed_move_to_func_t    *move_to,
1036
           cairo_path_fixed_line_to_func_t    *line_to,
1037
           cairo_path_fixed_close_path_func_t *close_path,
1038
           void         *closure,
1039
           double         tolerance);
1040
1041
1042
cairo_private cairo_bool_t
1043
_cairo_path_bounder_extents (const cairo_path_fixed_t *path,
1044
           cairo_box_t *box);
1045
1046
cairo_private cairo_bool_t
1047
_cairo_path_fixed_extents (const cairo_path_fixed_t *path,
1048
         cairo_box_t *box);
1049
1050
cairo_private void
1051
_cairo_path_fixed_approximate_clip_extents (const cairo_path_fixed_t  *path,
1052
              cairo_rectangle_int_t *extents);
1053
1054
cairo_private void
1055
_cairo_path_fixed_approximate_fill_extents (const cairo_path_fixed_t *path,
1056
              cairo_rectangle_int_t *extents);
1057
1058
cairo_private void
1059
_cairo_path_fixed_fill_extents (const cairo_path_fixed_t  *path,
1060
        cairo_fill_rule_t  fill_rule,
1061
        double       tolerance,
1062
        cairo_rectangle_int_t *extents);
1063
1064
cairo_private void
1065
_cairo_path_fixed_approximate_stroke_extents (const cairo_path_fixed_t *path,
1066
                const cairo_stroke_style_t *style,
1067
                const cairo_matrix_t *ctm,
1068
                cairo_bool_t vector,
1069
                cairo_rectangle_int_t *extents);
1070
1071
cairo_private cairo_status_t
1072
_cairo_path_fixed_stroke_extents (const cairo_path_fixed_t *path,
1073
          const cairo_stroke_style_t *style,
1074
          const cairo_matrix_t *ctm,
1075
          const cairo_matrix_t *ctm_inverse,
1076
          double tolerance,
1077
          cairo_rectangle_int_t *extents);
1078
1079
cairo_private void
1080
_cairo_path_fixed_transform (cairo_path_fixed_t *path,
1081
           const cairo_matrix_t *matrix);
1082
1083
cairo_private cairo_bool_t
1084
_cairo_path_fixed_is_box (const cairo_path_fixed_t *path,
1085
                          cairo_box_t *box);
1086
1087
cairo_private cairo_bool_t
1088
_cairo_path_fixed_is_rectangle (const cairo_path_fixed_t *path,
1089
        cairo_box_t        *box);
1090
1091
/* cairo-path-in-fill.c */
1092
cairo_private cairo_bool_t
1093
_cairo_path_fixed_in_fill (const cairo_path_fixed_t *path,
1094
         cairo_fill_rule_t   fill_rule,
1095
         double    tolerance,
1096
         double    x,
1097
         double    y);
1098
1099
/* cairo-path-fill.c */
1100
cairo_private cairo_status_t
1101
_cairo_path_fixed_fill_to_polygon (const cairo_path_fixed_t *path,
1102
           double              tolerance,
1103
           cairo_polygon_t      *polygon);
1104
1105
cairo_private cairo_status_t
1106
_cairo_path_fixed_fill_rectilinear_to_polygon (const cairo_path_fixed_t *path,
1107
                 cairo_antialias_t antialias,
1108
                 cairo_polygon_t *polygon);
1109
1110
cairo_private cairo_status_t
1111
_cairo_path_fixed_fill_rectilinear_to_boxes (const cairo_path_fixed_t *path,
1112
               cairo_fill_rule_t fill_rule,
1113
               cairo_antialias_t antialias,
1114
               cairo_boxes_t *boxes);
1115
1116
cairo_private cairo_region_t *
1117
_cairo_path_fixed_fill_rectilinear_to_region (const cairo_path_fixed_t  *path,
1118
                cairo_fill_rule_t  fill_rule,
1119
                const cairo_rectangle_int_t *extents);
1120
1121
cairo_private cairo_status_t
1122
_cairo_path_fixed_fill_to_traps (const cairo_path_fixed_t   *path,
1123
         cairo_fill_rule_t       fill_rule,
1124
         double          tolerance,
1125
         cairo_traps_t        *traps);
1126
1127
/* cairo-path-stroke.c */
1128
cairo_private cairo_status_t
1129
_cairo_path_fixed_stroke_to_polygon (const cairo_path_fixed_t *path,
1130
             const cairo_stroke_style_t *stroke_style,
1131
             const cairo_matrix_t *ctm,
1132
             const cairo_matrix_t *ctm_inverse,
1133
             double    tolerance,
1134
             cairo_polygon_t  *polygon);
1135
1136
cairo_private cairo_int_status_t
1137
_cairo_path_fixed_stroke_to_tristrip (const cairo_path_fixed_t  *path,
1138
              const cairo_stroke_style_t*style,
1139
              const cairo_matrix_t  *ctm,
1140
              const cairo_matrix_t  *ctm_inverse,
1141
              double       tolerance,
1142
              cairo_tristrip_t     *strip);
1143
1144
cairo_private cairo_status_t
1145
_cairo_path_fixed_stroke_dashed_to_polygon (const cairo_path_fixed_t  *path,
1146
              const cairo_stroke_style_t  *stroke_style,
1147
              const cairo_matrix_t  *ctm,
1148
              const cairo_matrix_t  *ctm_inverse,
1149
              double     tolerance,
1150
              cairo_polygon_t *polygon);
1151
1152
cairo_private cairo_int_status_t
1153
_cairo_path_fixed_stroke_rectilinear_to_boxes (const cairo_path_fixed_t *path,
1154
                 const cairo_stroke_style_t *stroke_style,
1155
                 const cairo_matrix_t *ctm,
1156
                 cairo_antialias_t   antialias,
1157
                 cairo_boxes_t    *boxes);
1158
1159
cairo_private cairo_int_status_t
1160
_cairo_path_fixed_stroke_to_traps (const cairo_path_fixed_t *path,
1161
           const cairo_stroke_style_t *stroke_style,
1162
           const cairo_matrix_t *ctm,
1163
           const cairo_matrix_t *ctm_inverse,
1164
           double    tolerance,
1165
           cairo_traps_t  *traps);
1166
1167
cairo_private cairo_int_status_t
1168
_cairo_path_fixed_stroke_polygon_to_traps (const cairo_path_fixed_t *path,
1169
             const cairo_stroke_style_t *stroke_style,
1170
             const cairo_matrix_t *ctm,
1171
             const cairo_matrix_t *ctm_inverse,
1172
             double    tolerance,
1173
             cairo_traps_t  *traps);
1174
1175
cairo_private cairo_status_t
1176
_cairo_path_fixed_stroke_to_shaper (cairo_path_fixed_t  *path,
1177
           const cairo_stroke_style_t *stroke_style,
1178
           const cairo_matrix_t *ctm,
1179
           const cairo_matrix_t *ctm_inverse,
1180
           double    tolerance,
1181
           cairo_status_t (*add_triangle) (void *closure,
1182
                   const cairo_point_t triangle[3]),
1183
           cairo_status_t (*add_triangle_fan) (void *closure,
1184
                       const cairo_point_t *midpt,
1185
                       const cairo_point_t *points,
1186
                       int npoints),
1187
           cairo_status_t (*add_quad) (void *closure,
1188
                     const cairo_point_t quad[4]),
1189
           void *closure);
1190
1191
/* cairo-scaled-font.c */
1192
1193
cairo_private void
1194
_cairo_scaled_font_freeze_cache (cairo_scaled_font_t *scaled_font);
1195
1196
cairo_private void
1197
_cairo_scaled_font_thaw_cache (cairo_scaled_font_t *scaled_font);
1198
1199
cairo_private void
1200
_cairo_scaled_font_reset_cache (cairo_scaled_font_t *scaled_font);
1201
1202
cairo_private cairo_status_t
1203
_cairo_scaled_font_set_error (cairo_scaled_font_t *scaled_font,
1204
            cairo_status_t status);
1205
1206
cairo_private cairo_scaled_font_t *
1207
_cairo_scaled_font_create_in_error (cairo_status_t status);
1208
1209
cairo_private void
1210
_cairo_scaled_font_reset_static_data (void);
1211
1212
cairo_private cairo_status_t
1213
_cairo_scaled_font_register_placeholder_and_unlock_font_map (cairo_scaled_font_t *scaled_font);
1214
1215
cairo_private void
1216
_cairo_scaled_font_unregister_placeholder_and_lock_font_map (cairo_scaled_font_t *scaled_font);
1217
1218
cairo_private cairo_status_t
1219
_cairo_scaled_font_init (cairo_scaled_font_t               *scaled_font,
1220
       cairo_font_face_t       *font_face,
1221
       const cairo_matrix_t              *font_matrix,
1222
       const cairo_matrix_t              *ctm,
1223
       const cairo_font_options_t    *options,
1224
       const cairo_scaled_font_backend_t *backend);
1225
1226
cairo_private cairo_status_t
1227
_cairo_scaled_font_set_metrics (cairo_scaled_font_t     *scaled_font,
1228
        cairo_font_extents_t      *fs_metrics);
1229
1230
/* This should only be called on an error path by a scaled_font constructor */
1231
cairo_private void
1232
_cairo_scaled_font_fini (cairo_scaled_font_t *scaled_font);
1233
1234
cairo_private cairo_status_t
1235
_cairo_scaled_font_font_extents (cairo_scaled_font_t  *scaled_font,
1236
         cairo_font_extents_t *extents);
1237
1238
cairo_private cairo_status_t
1239
_cairo_scaled_font_glyph_device_extents (cairo_scaled_font_t   *scaled_font,
1240
           const cairo_glyph_t   *glyphs,
1241
           int                      num_glyphs,
1242
           cairo_rectangle_int_t   *extents,
1243
           cairo_bool_t    *overlap);
1244
1245
cairo_private cairo_bool_t
1246
_cairo_scaled_font_glyph_approximate_extents (cairo_scaled_font_t  *scaled_font,
1247
                const cairo_glyph_t  *glyphs,
1248
                int                      num_glyphs,
1249
                cairo_rectangle_int_t   *extents);
1250
1251
cairo_private cairo_status_t
1252
_cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font,
1253
        cairo_operator_t     op,
1254
        const cairo_pattern_t *source,
1255
        cairo_surface_t     *surface,
1256
        int        source_x,
1257
        int        source_y,
1258
        int        dest_x,
1259
        int        dest_y,
1260
        unsigned int       width,
1261
        unsigned int       height,
1262
        cairo_glyph_t     *glyphs,
1263
        int        num_glyphs,
1264
        cairo_region_t      *clip_region);
1265
1266
cairo_private cairo_status_t
1267
_cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font,
1268
             const cairo_glyph_t *glyphs,
1269
             int                  num_glyphs,
1270
             cairo_path_fixed_t  *path);
1271
1272
cairo_private void
1273
_cairo_scaled_glyph_set_metrics (cairo_scaled_glyph_t *scaled_glyph,
1274
         cairo_scaled_font_t *scaled_font,
1275
         cairo_text_extents_t *fs_metrics);
1276
1277
cairo_private void
1278
_cairo_scaled_glyph_set_surface (cairo_scaled_glyph_t *scaled_glyph,
1279
         cairo_scaled_font_t *scaled_font,
1280
         cairo_image_surface_t *surface);
1281
1282
cairo_private void
1283
_cairo_scaled_glyph_set_path (cairo_scaled_glyph_t *scaled_glyph,
1284
            cairo_scaled_font_t *scaled_font,
1285
            cairo_path_fixed_t *path);
1286
1287
cairo_private void
1288
_cairo_scaled_glyph_set_recording_surface (cairo_scaled_glyph_t *scaled_glyph,
1289
                                           cairo_scaled_font_t *scaled_font,
1290
                                           cairo_surface_t *recording_surface,
1291
             const cairo_color_t *foreground_color);
1292
1293
cairo_private void
1294
_cairo_scaled_glyph_set_color_surface (cairo_scaled_glyph_t *scaled_glyph,
1295
                           cairo_scaled_font_t *scaled_font,
1296
                           cairo_image_surface_t *surface,
1297
                                       const cairo_color_t *foreground_color);
1298
1299
cairo_private cairo_int_status_t
1300
_cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font,
1301
          unsigned long index,
1302
          cairo_scaled_glyph_info_t info,
1303
                            const cairo_color_t   *foreground_color,
1304
          cairo_scaled_glyph_t **scaled_glyph_ret);
1305
1306
cairo_private double
1307
_cairo_scaled_font_get_max_scale (cairo_scaled_font_t *scaled_font);
1308
1309
cairo_private void
1310
_cairo_scaled_font_map_destroy (void);
1311
1312
/* cairo-stroke-style.c */
1313
1314
cairo_private void
1315
_cairo_stroke_style_init (cairo_stroke_style_t *style);
1316
1317
cairo_private cairo_status_t
1318
_cairo_stroke_style_init_copy (cairo_stroke_style_t *style,
1319
             const cairo_stroke_style_t *other);
1320
1321
cairo_private void
1322
_cairo_stroke_style_fini (cairo_stroke_style_t *style);
1323
1324
cairo_private void
1325
_cairo_stroke_style_max_distance_from_path (const cairo_stroke_style_t *style,
1326
              const cairo_path_fixed_t *path,
1327
                                            const cairo_matrix_t *ctm,
1328
                                            double *dx, double *dy);
1329
cairo_private void
1330
_cairo_stroke_style_max_line_distance_from_path (const cairo_stroke_style_t *style,
1331
             const cairo_path_fixed_t *path,
1332
             const cairo_matrix_t *ctm,
1333
             double *dx, double *dy);
1334
1335
cairo_private void
1336
_cairo_stroke_style_max_join_distance_from_path (const cairo_stroke_style_t *style,
1337
             const cairo_path_fixed_t *path,
1338
             const cairo_matrix_t *ctm,
1339
             double *dx, double *dy);
1340
1341
cairo_private double
1342
_cairo_stroke_style_dash_period (const cairo_stroke_style_t *style);
1343
1344
cairo_private double
1345
_cairo_stroke_style_dash_stroked (const cairo_stroke_style_t *style);
1346
1347
cairo_private cairo_bool_t
1348
_cairo_stroke_style_dash_can_approximate (const cairo_stroke_style_t *style,
1349
            const cairo_matrix_t *ctm,
1350
            double tolerance);
1351
1352
cairo_private void
1353
_cairo_stroke_style_dash_approximate (const cairo_stroke_style_t *style,
1354
              const cairo_matrix_t *ctm,
1355
              double tolerance,
1356
              double *dash_offset,
1357
              double *dashes,
1358
              unsigned int *num_dashes);
1359
1360
1361
/* cairo-surface.c */
1362
1363
cairo_private cairo_bool_t
1364
_cairo_surface_has_mime_image (cairo_surface_t *surface);
1365
1366
cairo_private cairo_status_t
1367
_cairo_surface_copy_mime_data (cairo_surface_t *dst,
1368
             cairo_surface_t *src);
1369
1370
cairo_private_no_warn cairo_int_status_t
1371
_cairo_surface_set_error (cairo_surface_t *surface,
1372
        cairo_int_status_t   status);
1373
1374
cairo_private void
1375
_cairo_surface_set_resolution (cairo_surface_t *surface,
1376
                               double x_res,
1377
                               double y_res);
1378
1379
cairo_private cairo_surface_t *
1380
_cairo_surface_create_for_rectangle_int (cairo_surface_t *target,
1381
           const cairo_rectangle_int_t *extents);
1382
1383
cairo_private cairo_surface_t *
1384
_cairo_surface_create_scratch (cairo_surface_t      *other,
1385
             cairo_content_t       content,
1386
             int         width,
1387
             int         height,
1388
             const cairo_color_t  *color);
1389
1390
cairo_private void
1391
_cairo_surface_init (cairo_surface_t      *surface,
1392
         const cairo_surface_backend_t  *backend,
1393
         cairo_device_t     *device,
1394
         cairo_content_t       content,
1395
         cairo_bool_t                        is_vector);
1396
1397
cairo_private void
1398
_cairo_surface_set_font_options (cairo_surface_t       *surface,
1399
         cairo_font_options_t  *options);
1400
1401
cairo_private cairo_status_t
1402
_cairo_surface_paint (cairo_surface_t *surface,
1403
          cairo_operator_t   op,
1404
          const cairo_pattern_t *source,
1405
          const cairo_clip_t      *clip);
1406
1407
cairo_private cairo_image_surface_t *
1408
_cairo_surface_map_to_image (cairo_surface_t  *surface,
1409
           const cairo_rectangle_int_t *extents);
1410
1411
cairo_private_no_warn cairo_int_status_t
1412
_cairo_surface_unmap_image (cairo_surface_t       *surface,
1413
          cairo_image_surface_t *image);
1414
1415
cairo_private cairo_status_t
1416
_cairo_surface_mask (cairo_surface_t  *surface,
1417
         cairo_operator_t  op,
1418
         const cairo_pattern_t  *source,
1419
         const cairo_pattern_t  *mask,
1420
         const cairo_clip_t   *clip);
1421
1422
cairo_private cairo_status_t
1423
_cairo_surface_fill_stroke (cairo_surface_t     *surface,
1424
          cairo_operator_t       fill_op,
1425
          const cairo_pattern_t   *fill_source,
1426
          cairo_fill_rule_t      fill_rule,
1427
          double         fill_tolerance,
1428
          cairo_antialias_t      fill_antialias,
1429
          cairo_path_fixed_t      *path,
1430
          cairo_operator_t       stroke_op,
1431
          const cairo_pattern_t   *stroke_source,
1432
          const cairo_stroke_style_t    *stroke_style,
1433
          const cairo_matrix_t      *stroke_ctm,
1434
          const cairo_matrix_t      *stroke_ctm_inverse,
1435
          double         stroke_tolerance,
1436
          cairo_antialias_t      stroke_antialias,
1437
          const cairo_clip_t      *clip);
1438
1439
cairo_private cairo_status_t
1440
_cairo_surface_stroke (cairo_surface_t    *surface,
1441
           cairo_operator_t    op,
1442
           const cairo_pattern_t  *source,
1443
           const cairo_path_fixed_t *path,
1444
           const cairo_stroke_style_t *style,
1445
           const cairo_matrix_t   *ctm,
1446
           const cairo_matrix_t   *ctm_inverse,
1447
           double      tolerance,
1448
           cairo_antialias_t   antialias,
1449
           const cairo_clip_t   *clip);
1450
1451
cairo_private cairo_status_t
1452
_cairo_surface_fill (cairo_surface_t  *surface,
1453
         cairo_operator_t  op,
1454
         const cairo_pattern_t *source,
1455
         const cairo_path_fixed_t *path,
1456
         cairo_fill_rule_t   fill_rule,
1457
         double    tolerance,
1458
         cairo_antialias_t   antialias,
1459
         const cairo_clip_t *clip);
1460
1461
cairo_private cairo_status_t
1462
_cairo_surface_show_text_glyphs (cairo_surface_t      *surface,
1463
         cairo_operator_t      op,
1464
         const cairo_pattern_t      *source,
1465
         const char       *utf8,
1466
         int           utf8_len,
1467
         cairo_glyph_t        *glyphs,
1468
         int           num_glyphs,
1469
         const cairo_text_cluster_t *clusters,
1470
         int           num_clusters,
1471
         cairo_text_cluster_flags_t  cluster_flags,
1472
         cairo_scaled_font_t      *scaled_font,
1473
         const cairo_clip_t       *clip);
1474
1475
cairo_private cairo_status_t
1476
_cairo_surface_tag (cairo_surface_t         *surface,
1477
        cairo_bool_t                 begin,
1478
        const char                  *tag_name,
1479
        const char                  *attributes);
1480
1481
cairo_private cairo_bool_t
1482
_cairo_surface_supports_color_glyph (cairo_surface_t       *surface,
1483
             cairo_scaled_font_t   *scaled_font,
1484
             unsigned long          glyph_index);
1485
1486
cairo_private cairo_status_t
1487
_cairo_surface_acquire_source_image (cairo_surface_t         *surface,
1488
             cairo_image_surface_t  **image_out,
1489
             void                   **image_extra);
1490
1491
cairo_private void
1492
_cairo_surface_release_source_image (cairo_surface_t        *surface,
1493
             cairo_image_surface_t  *image,
1494
             void                   *image_extra);
1495
1496
cairo_private cairo_surface_t *
1497
_cairo_surface_snapshot (cairo_surface_t *surface);
1498
1499
cairo_private void
1500
_cairo_surface_attach_snapshot (cairo_surface_t *surface,
1501
        cairo_surface_t *snapshot,
1502
        cairo_surface_func_t detach_func);
1503
1504
cairo_private cairo_surface_t *
1505
_cairo_surface_has_snapshot (cairo_surface_t *surface,
1506
           const cairo_surface_backend_t *backend);
1507
1508
cairo_private void
1509
_cairo_surface_detach_snapshot (cairo_surface_t *snapshot);
1510
1511
cairo_private cairo_status_t
1512
_cairo_surface_begin_modification (cairo_surface_t *surface);
1513
1514
cairo_private_no_warn cairo_bool_t
1515
_cairo_surface_get_extents (cairo_surface_t         *surface,
1516
          cairo_rectangle_int_t   *extents);
1517
1518
cairo_private cairo_bool_t
1519
_cairo_surface_has_device_transform (cairo_surface_t *surface) cairo_pure;
1520
1521
cairo_private void
1522
_cairo_surface_release_device_reference (cairo_surface_t *surface);
1523
1524
/* cairo-image-surface.c */
1525
1526
/* XXX: In cairo 1.2.0 we added a new %CAIRO_FORMAT_RGB16_565 but
1527
 * neglected to adjust this macro. The net effect is that it's
1528
 * impossible to externally create an image surface with this
1529
 * format. This is perhaps a good thing since we also neglected to fix
1530
 * up things like cairo_surface_write_to_png() for the new format
1531
 * (-Wswitch-enum will tell you where). Is it obvious that format was
1532
 * added in haste?
1533
 *
1534
 * The reason for the new format was to allow the xlib backend to be
1535
 * used on X servers with a 565 visual. So the new format did its job
1536
 * for that, even without being considered "valid" for the sake of
1537
 * things like cairo_image_surface_create().
1538
 *
1539
 * Since 1.2.0 we ran into the same situation with X servers with BGR
1540
 * visuals. This time we invented #cairo_internal_format_t instead,
1541
 * (see it for more discussion).
1542
 *
1543
 * The punchline is that %CAIRO_FORMAT_VALID must not consider any
1544
 * internal format to be valid. Also we need to decide if the
1545
 * RGB16_565 should be moved to instead be an internal format. If so,
1546
 * this macro need not change for it. (We probably will need to leave
1547
 * an RGB16_565 value in the header files for the sake of code that
1548
 * might have that value in it.)
1549
 *
1550
 * If we do decide to start fully supporting RGB16_565 as an external
1551
 * format, then %CAIRO_FORMAT_VALID needs to be adjusted to include
1552
 * it. But that should not happen before all necessary code is fixed
1553
 * to support it (at least cairo_surface_write_to_png() and a few spots
1554
 * in cairo-xlib-surface.c--again see -Wswitch-enum).
1555
 */
1556
234k
#define CAIRO_FORMAT_VALID(format) ((format) >= CAIRO_FORMAT_ARGB32 &&   \
1557
234k
                                    (format) <= CAIRO_FORMAT_RGBA128F)
1558
1559
/* pixman-required stride alignment in bytes. */
1560
314k
#define CAIRO_STRIDE_ALIGNMENT (sizeof (uint32_t))
1561
#define CAIRO_STRIDE_FOR_WIDTH_BPP(w,bpp) \
1562
104k
   ((((bpp)*(w)+7)/8 + CAIRO_STRIDE_ALIGNMENT-1) & -CAIRO_STRIDE_ALIGNMENT)
1563
1564
0
#define CAIRO_CONTENT_VALID(content) ((content) &&                \
1565
0
              (((content) & ~(CAIRO_CONTENT_COLOR |      \
1566
0
                  CAIRO_CONTENT_ALPHA |      \
1567
0
                  CAIRO_CONTENT_COLOR_ALPHA))\
1568
0
               == 0))
1569
1570
cairo_private int
1571
_cairo_format_bits_per_pixel (cairo_format_t format) cairo_const;
1572
1573
cairo_private cairo_format_t
1574
_cairo_format_from_content (cairo_content_t content) cairo_const;
1575
1576
cairo_private cairo_format_t
1577
_cairo_format_from_pixman_format (pixman_format_code_t pixman_format);
1578
1579
cairo_private cairo_content_t
1580
_cairo_content_from_format (cairo_format_t format) cairo_const;
1581
1582
cairo_private cairo_content_t
1583
_cairo_content_from_pixman_format (pixman_format_code_t pixman_format);
1584
1585
cairo_private cairo_surface_t *
1586
_cairo_image_surface_create_for_pixman_image (pixman_image_t    *pixman_image,
1587
                pixman_format_code_t   pixman_format);
1588
1589
cairo_private pixman_format_code_t
1590
_cairo_format_to_pixman_format_code (cairo_format_t format);
1591
1592
cairo_private cairo_bool_t
1593
_pixman_format_from_masks (cairo_format_masks_t *masks,
1594
         pixman_format_code_t *format_ret);
1595
1596
cairo_private cairo_bool_t
1597
_pixman_format_to_masks (pixman_format_code_t  pixman_format,
1598
       cairo_format_masks_t *masks);
1599
1600
1601
cairo_private void
1602
_cairo_image_scaled_glyph_fini (cairo_scaled_font_t *scaled_font,
1603
        cairo_scaled_glyph_t *scaled_glyph);
1604
1605
cairo_private void
1606
_cairo_image_reset_static_data (void);
1607
1608
cairo_private void
1609
_cairo_image_compositor_reset_static_data (void);
1610
1611
cairo_private cairo_surface_t *
1612
_cairo_image_surface_create_with_pixman_format (unsigned char   *data,
1613
            pixman_format_code_t   pixman_format,
1614
            int      width,
1615
            int      height,
1616
            int      stride);
1617
1618
cairo_private cairo_surface_t *
1619
_cairo_image_surface_create_with_content (cairo_content_t content,
1620
            int     width,
1621
            int     height);
1622
1623
cairo_private void
1624
_cairo_image_surface_assume_ownership_of_data (cairo_image_surface_t *surface);
1625
1626
cairo_private cairo_image_surface_t *
1627
_cairo_image_surface_coerce (cairo_image_surface_t  *surface);
1628
1629
cairo_private cairo_image_surface_t *
1630
_cairo_image_surface_coerce_to_format (cairo_image_surface_t  *surface,
1631
                     cairo_format_t    format);
1632
1633
cairo_private cairo_image_transparency_t
1634
_cairo_image_analyze_transparency (cairo_image_surface_t      *image);
1635
1636
cairo_private cairo_image_color_t
1637
_cairo_image_analyze_color (cairo_image_surface_t      *image);
1638
1639
/* cairo-pen.c */
1640
cairo_private int
1641
_cairo_pen_vertices_needed (double      tolerance,
1642
          double      radius,
1643
          const cairo_matrix_t  *matrix);
1644
1645
cairo_private cairo_status_t
1646
_cairo_pen_init (cairo_pen_t  *pen,
1647
     double    radius,
1648
     double    tolerance,
1649
     const cairo_matrix_t *ctm);
1650
1651
cairo_private void
1652
_cairo_pen_init_empty (cairo_pen_t *pen);
1653
1654
cairo_private cairo_status_t
1655
_cairo_pen_init_copy (cairo_pen_t *pen, const cairo_pen_t *other);
1656
1657
cairo_private void
1658
_cairo_pen_fini (cairo_pen_t *pen);
1659
1660
cairo_private cairo_status_t
1661
_cairo_pen_add_points (cairo_pen_t *pen, cairo_point_t *point, int num_points);
1662
1663
cairo_private int
1664
_cairo_pen_find_active_cw_vertex_index (const cairo_pen_t *pen,
1665
          const cairo_slope_t *slope);
1666
1667
cairo_private int
1668
_cairo_pen_find_active_ccw_vertex_index (const cairo_pen_t *pen,
1669
           const cairo_slope_t *slope);
1670
1671
cairo_private void
1672
_cairo_pen_find_active_cw_vertices (const cairo_pen_t *pen,
1673
             const cairo_slope_t *in,
1674
             const cairo_slope_t *out,
1675
             int *start, int *stop);
1676
1677
cairo_private void
1678
_cairo_pen_find_active_ccw_vertices (const cairo_pen_t *pen,
1679
             const cairo_slope_t *in,
1680
             const cairo_slope_t *out,
1681
             int *start, int *stop);
1682
1683
/* cairo-polygon.c */
1684
cairo_private void
1685
_cairo_polygon_init (cairo_polygon_t   *polygon,
1686
         const cairo_box_t *boxes,
1687
         int    num_boxes);
1688
1689
cairo_private void
1690
_cairo_polygon_init_with_clip (cairo_polygon_t *polygon,
1691
             const cairo_clip_t *clip);
1692
1693
cairo_private cairo_status_t
1694
_cairo_polygon_init_boxes (cairo_polygon_t *polygon,
1695
         const cairo_boxes_t *boxes);
1696
1697
cairo_private cairo_status_t
1698
_cairo_polygon_init_box_array (cairo_polygon_t *polygon,
1699
             cairo_box_t *boxes,
1700
             int num_boxes);
1701
1702
cairo_private void
1703
_cairo_polygon_limit (cairo_polygon_t *polygon,
1704
         const cairo_box_t *limits,
1705
         int num_limits);
1706
1707
cairo_private void
1708
_cairo_polygon_limit_to_clip (cairo_polygon_t *polygon,
1709
            const cairo_clip_t *clip);
1710
1711
cairo_private void
1712
_cairo_polygon_fini (cairo_polygon_t *polygon);
1713
1714
cairo_private_no_warn cairo_status_t
1715
_cairo_polygon_add_line (cairo_polygon_t *polygon,
1716
       const cairo_line_t *line,
1717
       int top, int bottom,
1718
       int dir);
1719
1720
cairo_private_no_warn cairo_status_t
1721
_cairo_polygon_add_external_edge (void *polygon,
1722
          const cairo_point_t *p1,
1723
          const cairo_point_t *p2);
1724
1725
cairo_private_no_warn cairo_status_t
1726
_cairo_polygon_add_contour (cairo_polygon_t *polygon,
1727
          const cairo_contour_t *contour);
1728
1729
cairo_private void
1730
_cairo_polygon_translate (cairo_polygon_t *polygon, int dx, int dy);
1731
1732
cairo_private cairo_status_t
1733
_cairo_polygon_reduce (cairo_polygon_t *polygon,
1734
           cairo_fill_rule_t fill_rule);
1735
1736
cairo_private cairo_status_t
1737
_cairo_polygon_intersect (cairo_polygon_t *a, int winding_a,
1738
        cairo_polygon_t *b, int winding_b);
1739
1740
cairo_private cairo_status_t
1741
_cairo_polygon_intersect_with_boxes (cairo_polygon_t *polygon,
1742
             cairo_fill_rule_t *winding,
1743
             cairo_box_t *boxes,
1744
             int num_boxes);
1745
1746
static inline cairo_bool_t
1747
_cairo_polygon_is_empty (const cairo_polygon_t *polygon)
1748
251
{
1749
251
    return
1750
251
  polygon->num_edges == 0 ||
1751
251
  polygon->extents.p2.x <= polygon->extents.p1.x;
1752
251
}
Unexecuted instantiation: cairo-font-face.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-font-options.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-image-surface.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-matrix.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-misc.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-mutex.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-path.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-pattern.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-recording-surface.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-rectangle.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-region.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-scaled-font.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-spline.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-stroke-style.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-surface.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-traps.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-unicode.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-user-font.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-ft-font.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-colr-glyph-render.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-svg-glyph-render.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-array.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-boxes.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-cache.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-clip.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-color.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-compositor.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-damage.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-debug.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-default-context.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-device.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-error.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-freed-pool.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-gstate.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-hash.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-image-compositor.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-image-source.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-line.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-no-compositor.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-observer.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-path-bounds.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-path-fill.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-path-fixed.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-path-stroke.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-pen.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-polygon.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-slope.c:_cairo_polygon_is_empty
cairo-spans-compositor.c:_cairo_polygon_is_empty
Line
Count
Source
1748
251
{
1749
251
    return
1750
251
  polygon->num_edges == 0 ||
1751
251
  polygon->extents.p2.x <= polygon->extents.p1.x;
1752
251
}
Unexecuted instantiation: cairo-spans.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-surface-offset.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-png.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-arc.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-clip-region.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-clip-surface.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-contour.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-freelist.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-hull.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-output-stream.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-wideint.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-image-info.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-version.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-cff-subset.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-type1-subset.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-tag-stack.c:_cairo_polygon_is_empty
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_polygon_is_empty
1753
1754
1.69M
#define _cairo_polygon_status(P) ((cairo_polygon_t *) (P))->status
1755
1756
/* cairo-spline.c */
1757
cairo_private cairo_bool_t
1758
_cairo_spline_init (cairo_spline_t *spline,
1759
        cairo_spline_add_point_func_t add_point_func,
1760
        void *closure,
1761
        const cairo_point_t *a, const cairo_point_t *b,
1762
        const cairo_point_t *c, const cairo_point_t *d);
1763
1764
cairo_private cairo_status_t
1765
_cairo_spline_decompose (cairo_spline_t *spline, double tolerance);
1766
1767
cairo_private cairo_status_t
1768
_cairo_spline_bound (cairo_spline_add_point_func_t add_point_func,
1769
         void *closure,
1770
         const cairo_point_t *p0, const cairo_point_t *p1,
1771
         const cairo_point_t *p2, const cairo_point_t *p3);
1772
1773
/* cairo-matrix.c */
1774
cairo_private void
1775
_cairo_matrix_get_affine (const cairo_matrix_t *matrix,
1776
        double *xx, double *yx,
1777
        double *xy, double *yy,
1778
        double *x0, double *y0);
1779
1780
cairo_private void
1781
_cairo_matrix_transform_bounding_box (const cairo_matrix_t *matrix,
1782
              double *x1, double *y1,
1783
              double *x2, double *y2,
1784
              cairo_bool_t *is_tight);
1785
1786
cairo_private void
1787
_cairo_matrix_transform_bounding_box_fixed (const cairo_matrix_t *matrix,
1788
              cairo_box_t          *bbox,
1789
              cairo_bool_t         *is_tight);
1790
1791
cairo_private cairo_bool_t
1792
_cairo_matrix_is_invertible (const cairo_matrix_t *matrix) cairo_pure;
1793
1794
cairo_private cairo_bool_t
1795
_cairo_matrix_is_scale_0 (const cairo_matrix_t *matrix) cairo_pure;
1796
1797
cairo_private double
1798
_cairo_matrix_compute_determinant (const cairo_matrix_t *matrix) cairo_pure;
1799
1800
cairo_private cairo_status_t
1801
_cairo_matrix_compute_basis_scale_factors (const cairo_matrix_t *matrix,
1802
             double *sx, double *sy, int x_major);
1803
1804
static inline cairo_bool_t
1805
_cairo_matrix_is_identity (const cairo_matrix_t *matrix)
1806
12.2M
{
1807
12.2M
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1808
11.0M
      matrix->xy == 0.0 && matrix->yy == 1.0 &&
1809
7.43M
      matrix->x0 == 0.0 && matrix->y0 == 0.0);
1810
12.2M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-font-options.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-image-surface.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-matrix.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-misc.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-mutex.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-path.c:_cairo_matrix_is_identity
cairo-pattern.c:_cairo_matrix_is_identity
Line
Count
Source
1806
53.2k
{
1807
53.2k
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1808
8.38k
      matrix->xy == 0.0 && matrix->yy == 1.0 &&
1809
7.90k
      matrix->x0 == 0.0 && matrix->y0 == 0.0);
1810
53.2k
}
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-recording-surface.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-rectangle.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-region.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-scaled-font.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-spline.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-stroke-style.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_matrix_is_identity
cairo-surface-wrapper.c:_cairo_matrix_is_identity
Line
Count
Source
1806
5.72M
{
1807
5.72M
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1808
5.72M
      matrix->xy == 0.0 && matrix->yy == 1.0 &&
1809
5.71M
      matrix->x0 == 0.0 && matrix->y0 == 0.0);
1810
5.72M
}
cairo-surface.c:_cairo_matrix_is_identity
Line
Count
Source
1806
1.48M
{
1807
1.48M
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1808
1.48M
      matrix->xy == 0.0 && matrix->yy == 1.0 &&
1809
1.48M
      matrix->x0 == 0.0 && matrix->y0 == 0.0);
1810
1.48M
}
Unexecuted instantiation: cairo-traps.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-unicode.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-user-font.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-ft-font.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-colr-glyph-render.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-svg-glyph-render.c:_cairo_matrix_is_identity
cairo-analysis-surface.c:_cairo_matrix_is_identity
Line
Count
Source
1806
3.88k
{
1807
3.88k
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1808
2.62k
      matrix->xy == 0.0 && matrix->yy == 1.0 &&
1809
2.46k
      matrix->x0 == 0.0 && matrix->y0 == 0.0);
1810
3.88k
}
Unexecuted instantiation: cairo-array.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-boxes.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-cache.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-clip.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-color.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-compositor.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-damage.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-debug.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-default-context.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-device.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-error.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-freed-pool.c:_cairo_matrix_is_identity
cairo-gstate.c:_cairo_matrix_is_identity
Line
Count
Source
1806
2.95M
{
1807
2.95M
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1808
2.67M
      matrix->xy == 0.0 && matrix->yy == 1.0 &&
1809
172k
      matrix->x0 == 0.0 && matrix->y0 == 0.0);
1810
2.95M
}
Unexecuted instantiation: cairo-hash.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-image-compositor.c:_cairo_matrix_is_identity
cairo-image-source.c:_cairo_matrix_is_identity
Line
Count
Source
1806
335
{
1807
335
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1808
303
      matrix->xy == 0.0 && matrix->yy == 1.0 &&
1809
303
      matrix->x0 == 0.0 && matrix->y0 == 0.0);
1810
335
}
Unexecuted instantiation: cairo-line.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-no-compositor.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-observer.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-path-bounds.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-path-fill.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-path-fixed.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_matrix_is_identity
cairo-path-stroke-polygon.c:_cairo_matrix_is_identity
Line
Count
Source
1806
2.05M
{
1807
2.05M
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1808
1.16M
      matrix->xy == 0.0 && matrix->yy == 1.0 &&
1809
45.4k
      matrix->x0 == 0.0 && matrix->y0 == 0.0);
1810
2.05M
}
Unexecuted instantiation: cairo-path-stroke.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-pen.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-polygon.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-slope.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-spans.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-surface-offset.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-png.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-arc.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-clip-region.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-clip-surface.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-contour.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-freelist.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-hull.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-output-stream.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-wideint.c:_cairo_matrix_is_identity
cairo-pdf-surface.c:_cairo_matrix_is_identity
Line
Count
Source
1806
10.1k
{
1807
10.1k
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1808
1.78k
      matrix->xy == 0.0 && matrix->yy == 1.0 &&
1809
1.44k
      matrix->x0 == 0.0 && matrix->y0 == 0.0);
1810
10.1k
}
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-image-info.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-version.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-cff-subset.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-type1-subset.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-tag-stack.c:_cairo_matrix_is_identity
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_matrix_is_identity
1811
1812
static inline cairo_bool_t
1813
_cairo_matrix_is_translation (const cairo_matrix_t *matrix)
1814
4.14M
{
1815
4.14M
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1816
3.97M
      matrix->xy == 0.0 && matrix->yy == 1.0);
1817
4.14M
}
Unexecuted instantiation: cairo-font-face.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-font-options.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-image-surface.c:_cairo_matrix_is_translation
cairo-matrix.c:_cairo_matrix_is_translation
Line
Count
Source
1814
62.0k
{
1815
62.0k
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1816
12.6k
      matrix->xy == 0.0 && matrix->yy == 1.0);
1817
62.0k
}
Unexecuted instantiation: cairo-misc.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-mutex.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-path.c:_cairo_matrix_is_translation
cairo-pattern.c:_cairo_matrix_is_translation
Line
Count
Source
1814
58.0k
{
1815
58.0k
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1816
11.4k
      matrix->xy == 0.0 && matrix->yy == 1.0);
1817
58.0k
}
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-recording-surface.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-rectangle.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-region.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-scaled-font.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-spline.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-stroke-style.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_matrix_is_translation
cairo-surface-wrapper.c:_cairo_matrix_is_translation
Line
Count
Source
1814
74
{
1815
74
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1816
56
      matrix->xy == 0.0 && matrix->yy == 1.0);
1817
74
}
Unexecuted instantiation: cairo-surface.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-traps.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-unicode.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-user-font.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-ft-font.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-colr-glyph-render.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-svg-glyph-render.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-array.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-boxes.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-cache.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_matrix_is_translation
cairo-clip.c:_cairo_matrix_is_translation
Line
Count
Source
1814
2.79M
{
1815
2.79M
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1816
2.79M
      matrix->xy == 0.0 && matrix->yy == 1.0);
1817
2.79M
}
Unexecuted instantiation: cairo-color.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-compositor.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-damage.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-debug.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-default-context.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-device.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-error.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-freed-pool.c:_cairo_matrix_is_translation
cairo-gstate.c:_cairo_matrix_is_translation
Line
Count
Source
1814
1.23M
{
1815
1.23M
    return (matrix->xx == 1.0 && matrix->yx == 0.0 &&
1816
1.15M
      matrix->xy == 0.0 && matrix->yy == 1.0);
1817
1.23M
}
Unexecuted instantiation: cairo-hash.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-image-compositor.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-image-source.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-line.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-no-compositor.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-observer.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-path-bounds.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-path-fill.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-path-fixed.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-path-stroke.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-pen.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-polygon.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-slope.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-spans.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-surface-offset.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-png.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-arc.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-clip-region.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-clip-surface.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-contour.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-freelist.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-hull.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-output-stream.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-wideint.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-image-info.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-version.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-cff-subset.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-type1-subset.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-tag-stack.c:_cairo_matrix_is_translation
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_matrix_is_translation
1818
1819
static inline cairo_bool_t
1820
_cairo_matrix_is_scale (const cairo_matrix_t *matrix)
1821
60
{
1822
60
    return matrix->yx == 0.0 && matrix->xy == 0.0;
1823
60
}
Unexecuted instantiation: cairo-font-face.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-font-options.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-image-surface.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-matrix.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-misc.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-mutex.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-path.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-pattern.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-recording-surface.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-rectangle.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-region.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-scaled-font.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-spline.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-stroke-style.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-surface.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-traps.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-unicode.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-user-font.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-ft-font.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-colr-glyph-render.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-svg-glyph-render.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-array.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-boxes.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-cache.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-clip.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-color.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-compositor.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-damage.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-debug.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-default-context.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-device.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-error.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-freed-pool.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-gstate.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-hash.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-image-compositor.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-image-source.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-line.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-no-compositor.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-observer.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-path-bounds.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-path-fill.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-path-fixed.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_matrix_is_scale
cairo-path-stroke-boxes.c:_cairo_matrix_is_scale
Line
Count
Source
1821
60
{
1822
60
    return matrix->yx == 0.0 && matrix->xy == 0.0;
1823
60
}
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-path-stroke.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-pen.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-polygon.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-slope.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-spans.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-surface-offset.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-png.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-arc.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-clip-region.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-clip-surface.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-contour.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-freelist.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-hull.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-output-stream.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-wideint.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-image-info.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-version.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-cff-subset.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-type1-subset.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-tag-stack.c:_cairo_matrix_is_scale
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_matrix_is_scale
1824
1825
cairo_private cairo_bool_t
1826
_cairo_matrix_is_integer_translation(const cairo_matrix_t *matrix,
1827
             int *itx, int *ity);
1828
1829
cairo_private cairo_bool_t
1830
_cairo_matrix_has_unity_scale (const cairo_matrix_t *matrix);
1831
1832
cairo_private cairo_bool_t
1833
_cairo_matrix_is_pixel_exact (const cairo_matrix_t *matrix) cairo_pure;
1834
1835
cairo_private double
1836
_cairo_matrix_transformed_circle_major_axis (const cairo_matrix_t *matrix,
1837
               double radius) cairo_pure;
1838
1839
cairo_private cairo_bool_t
1840
_cairo_matrix_is_pixman_translation (const cairo_matrix_t     *matrix,
1841
             cairo_filter_t            filter,
1842
             int                      *out_x_offset,
1843
             int                      *out_y_offset);
1844
1845
cairo_private cairo_status_t
1846
_cairo_matrix_to_pixman_matrix_offset (const cairo_matrix_t *matrix,
1847
               cairo_filter_t            filter,
1848
               double                    xc,
1849
               double                    yc,
1850
               pixman_transform_t *out_transform,
1851
               int                      *out_x_offset,
1852
               int                      *out_y_offset);
1853
1854
cairo_private void
1855
_cairo_debug_print_matrix (FILE *file, const cairo_matrix_t *matrix);
1856
1857
cairo_private void
1858
_cairo_debug_print_rect (FILE *file, const cairo_rectangle_int_t *rect);
1859
1860
cairo_private const char *
1861
_cairo_debug_operator_to_string (cairo_operator_t op);
1862
1863
cairo_private const char *
1864
_cairo_debug_status_to_string (cairo_int_status_t status);
1865
1866
cairo_private cairo_status_t
1867
_cairo_bentley_ottmann_tessellate_rectilinear_polygon (cairo_traps_t   *traps,
1868
                   const cairo_polygon_t *polygon,
1869
                   cairo_fill_rule_t    fill_rule);
1870
1871
cairo_private cairo_status_t
1872
_cairo_bentley_ottmann_tessellate_polygon (cairo_traps_t         *traps,
1873
             const cairo_polygon_t *polygon,
1874
             cairo_fill_rule_t      fill_rule);
1875
1876
cairo_private cairo_status_t
1877
_cairo_bentley_ottmann_tessellate_traps (cairo_traps_t *traps,
1878
           cairo_fill_rule_t fill_rule);
1879
1880
cairo_private cairo_status_t
1881
_cairo_bentley_ottmann_tessellate_rectangular_traps (cairo_traps_t *traps,
1882
                 cairo_fill_rule_t fill_rule);
1883
1884
cairo_private cairo_status_t
1885
_cairo_bentley_ottmann_tessellate_boxes (const cairo_boxes_t *in,
1886
           cairo_fill_rule_t fill_rule,
1887
           cairo_boxes_t *out);
1888
1889
cairo_private cairo_status_t
1890
_cairo_bentley_ottmann_tessellate_rectilinear_traps (cairo_traps_t *traps,
1891
                 cairo_fill_rule_t fill_rule);
1892
1893
cairo_private cairo_status_t
1894
_cairo_bentley_ottmann_tessellate_rectilinear_polygon_to_boxes (const cairo_polygon_t *polygon,
1895
                cairo_fill_rule_t fill_rule,
1896
                cairo_boxes_t *boxes);
1897
1898
cairo_private void
1899
_cairo_trapezoid_array_translate_and_scale (cairo_trapezoid_t *offset_traps,
1900
              cairo_trapezoid_t *src_traps,
1901
              int num_traps,
1902
              double tx, double ty,
1903
              double sx, double sy);
1904
1905
cairo_private void
1906
_cairo_clip_reset_static_data (void);
1907
1908
cairo_private void
1909
_cairo_pattern_reset_static_data (void);
1910
1911
/* cairo-unicode.c */
1912
1913
cairo_private int
1914
_cairo_utf8_get_char_validated (const char *p,
1915
        uint32_t   *unicode);
1916
1917
cairo_private cairo_status_t
1918
_cairo_utf8_to_ucs4 (const char *str,
1919
         int   len,
1920
         uint32_t  **result,
1921
         int  *items_written);
1922
1923
cairo_private int
1924
_cairo_ucs4_to_utf8 (uint32_t    unicode,
1925
         char       *utf8);
1926
1927
cairo_private int
1928
_cairo_ucs4_to_utf16 (uint32_t    unicode,
1929
          uint16_t   *utf16);
1930
1931
#if _WIN32 || CAIRO_HAS_WIN32_FONT || CAIRO_HAS_QUARTZ_FONT || CAIRO_HAS_PDF_OPERATORS
1932
# define CAIRO_HAS_UTF8_TO_UTF16 1
1933
#endif
1934
#if CAIRO_HAS_UTF8_TO_UTF16
1935
cairo_private cairo_status_t
1936
_cairo_utf8_to_utf16 (const char *str,
1937
          int   len,
1938
          uint16_t  **result,
1939
          int  *items_written);
1940
#endif
1941
1942
cairo_private void
1943
_cairo_matrix_multiply (cairo_matrix_t *r,
1944
      const cairo_matrix_t *a,
1945
      const cairo_matrix_t *b);
1946
1947
/* cairo-observer.c */
1948
1949
cairo_private void
1950
_cairo_observers_notify (cairo_list_t *observers, void *arg);
1951
1952
/* Open a file with a UTF-8 filename */
1953
cairo_private cairo_status_t
1954
_cairo_fopen (const char *filename, const char *mode, FILE **file_out);
1955
1956
cairo_private FILE *
1957
_cairo_tmpfile (void);
1958
1959
#include "cairo-mutex-private.h"
1960
#include "cairo-fixed-private.h"
1961
#include "cairo-wideint-private.h"
1962
#include "cairo-malloc-private.h"
1963
#include "cairo-hash-private.h"
1964
1965
#if HAVE_VALGRIND
1966
#include <memcheck.h>
1967
1968
#define VG(x) x
1969
1970
cairo_private void
1971
_cairo_debug_check_image_surface_is_defined (const cairo_surface_t *surface);
1972
1973
#else
1974
1975
#define VG(x)
1976
#define _cairo_debug_check_image_surface_is_defined(X)
1977
1978
#endif
1979
1980
cairo_private void
1981
_cairo_debug_print_path (FILE *stream, const cairo_path_fixed_t *path);
1982
1983
cairo_private void
1984
_cairo_debug_print_polygon (FILE *stream, cairo_polygon_t *polygon);
1985
1986
cairo_private void
1987
_cairo_debug_print_traps (FILE *file, const cairo_traps_t *traps);
1988
1989
cairo_private void
1990
_cairo_debug_print_clip (FILE *stream, const cairo_clip_t *clip);
1991
1992
#if 0
1993
#define TRACE(x) fprintf (stderr, "%s: ", __FILE__), fprintf x
1994
#define TRACE_(x) x
1995
#else
1996
#define TRACE(x)
1997
#define TRACE_(x)
1998
#endif
1999
2000
CAIRO_END_DECLS
2001
2002
#endif