summaryrefslogtreecommitdiff
path: root/Build/source/libs/cairo/cairo-src/src/cairoint.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/cairo/cairo-src/src/cairoint.h')
-rw-r--r--Build/source/libs/cairo/cairo-src/src/cairoint.h81
1 files changed, 74 insertions, 7 deletions
diff --git a/Build/source/libs/cairo/cairo-src/src/cairoint.h b/Build/source/libs/cairo/cairo-src/src/cairoint.h
index 555aa899030..cfae18cf93b 100644
--- a/Build/source/libs/cairo/cairo-src/src/cairoint.h
+++ b/Build/source/libs/cairo/cairo-src/src/cairoint.h
@@ -107,6 +107,12 @@ _cairo_win32_tmpfile (void);
#undef MAX
#define MAX(a, b) ((a) > (b) ? (a) : (b))
+#if _XOPEN_SOURCE >= 600 || defined (_ISOC99_SOURCE)
+#define ISFINITE(x) isfinite (x)
+#else
+#define ISFINITE(x) ((x) * (x) >= 0.) /* check for NaNs */
+#endif
+
#ifndef FALSE
#define FALSE 0
#endif
@@ -282,6 +288,12 @@ _cairo_isdigit (int c)
return (c >= '0' && c <= '9');
}
+static inline int cairo_const
+_cairo_isalpha (int c)
+{
+ return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
+}
+
#include "cairo-types-private.h"
#include "cairo-cache-private.h"
#include "cairo-reference-count-private.h"
@@ -471,7 +483,8 @@ typedef enum _cairo_scaled_glyph_info {
CAIRO_SCALED_GLYPH_INFO_METRICS = (1 << 0),
CAIRO_SCALED_GLYPH_INFO_SURFACE = (1 << 1),
CAIRO_SCALED_GLYPH_INFO_PATH = (1 << 2),
- CAIRO_SCALED_GLYPH_INFO_RECORDING_SURFACE = (1 << 3)
+ CAIRO_SCALED_GLYPH_INFO_RECORDING_SURFACE = (1 << 3),
+ CAIRO_SCALED_GLYPH_INFO_COLOR_SURFACE = (1 << 4)
} cairo_scaled_glyph_info_t;
typedef struct _cairo_scaled_font_subset {
@@ -556,8 +569,12 @@ struct _cairo_scaled_font_backend {
unsigned long index,
uint32_t *ucs4);
- cairo_warn cairo_bool_t
- (*is_synthetic)(void *scaled_font);
+ /* Determine if this scaled font differs from the outlines in the font tables.
+ * eg synthesized bold/italic or a non default variant of a variable font.
+ */
+ cairo_warn cairo_int_status_t
+ (*is_synthetic)(void *scaled_font,
+ cairo_bool_t *is_synthetic);
/* For type 1 fonts, return the glyph name for a given glyph index.
* A glyph index and list of glyph names in the Type 1 fonts is provided.
@@ -597,6 +614,9 @@ struct _cairo_scaled_font_backend {
long offset,
unsigned char *buffer,
unsigned long *length);
+
+ cairo_bool_t
+ (*has_color_glyphs) (void *scaled_font);
};
struct _cairo_font_face_backend {
@@ -861,6 +881,9 @@ _cairo_font_options_init_copy (cairo_font_options_t *options,
const cairo_font_options_t *other);
cairo_private void
+_cairo_font_options_fini (cairo_font_options_t *options);
+
+cairo_private void
_cairo_font_options_set_lcd_filter (cairo_font_options_t *options,
cairo_lcd_filter_t lcd_filter);
@@ -892,6 +915,9 @@ _cairo_validate_text_clusters (const char *utf8,
int num_clusters,
cairo_text_cluster_flags_t cluster_flags);
+cairo_private unsigned long
+_cairo_string_hash (const char *str, int len);
+
cairo_private cairo_status_t
_cairo_intern_string (const char **str_inout, int len);
@@ -899,7 +925,10 @@ cairo_private void
_cairo_intern_string_reset_static_data (void);
cairo_private const char *
-cairo_get_locale_decimal_point (void);
+_cairo_get_locale_decimal_point (void);
+
+cairo_private double
+_cairo_strtod (const char *nptr, char **endptr);
/* cairo-path-fixed.c */
cairo_private cairo_path_fixed_t *
@@ -1021,6 +1050,7 @@ cairo_private void
_cairo_path_fixed_approximate_stroke_extents (const cairo_path_fixed_t *path,
const cairo_stroke_style_t *style,
const cairo_matrix_t *ctm,
+ cairo_bool_t vector,
cairo_rectangle_int_t *extents);
cairo_private cairo_status_t
@@ -1244,6 +1274,11 @@ _cairo_scaled_glyph_set_recording_surface (cairo_scaled_glyph_t *scaled_glyph,
cairo_scaled_font_t *scaled_font,
cairo_surface_t *recording_surface);
+cairo_private void
+_cairo_scaled_glyph_set_color_surface (cairo_scaled_glyph_t *scaled_glyph,
+ cairo_scaled_font_t *scaled_font,
+ cairo_image_surface_t *surface);
+
cairo_private cairo_int_status_t
_cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font,
unsigned long index,
@@ -1307,6 +1342,9 @@ _cairo_stroke_style_dash_approximate (const cairo_stroke_style_t *style,
/* cairo-surface.c */
+cairo_private cairo_bool_t
+_cairo_surface_has_mime_image (cairo_surface_t *surface);
+
cairo_private cairo_status_t
_cairo_surface_copy_mime_data (cairo_surface_t *dst,
cairo_surface_t *src);
@@ -1335,7 +1373,8 @@ cairo_private void
_cairo_surface_init (cairo_surface_t *surface,
const cairo_surface_backend_t *backend,
cairo_device_t *device,
- cairo_content_t content);
+ cairo_content_t content,
+ cairo_bool_t is_vector);
cairo_private void
_cairo_surface_set_font_options (cairo_surface_t *surface,
@@ -1416,6 +1455,17 @@ _cairo_surface_show_text_glyphs (cairo_surface_t *surface,
const cairo_clip_t *clip);
cairo_private cairo_status_t
+_cairo_surface_tag (cairo_surface_t *surface,
+ cairo_bool_t begin,
+ const char *tag_name,
+ const char *attributes,
+ const cairo_pattern_t *source,
+ const cairo_stroke_style_t *stroke_style,
+ const cairo_matrix_t *ctm,
+ const cairo_matrix_t *ctm_inverse,
+ const cairo_clip_t *clip);
+
+cairo_private cairo_status_t
_cairo_surface_acquire_source_image (cairo_surface_t *surface,
cairo_image_surface_t **image_out,
void **image_extra);
@@ -1468,7 +1518,7 @@ _cairo_surface_release_device_reference (cairo_surface_t *surface);
* for that, even without being considered "valid" for the sake of
* things like cairo_image_surface_create().
*
- * Since 1.2.0 we ran into the same situtation with X servers with BGR
+ * Since 1.2.0 we ran into the same situation with X servers with BGR
* visuals. This time we invented #cairo_internal_format_t instead,
* (see it for more discussion).
*
@@ -1536,6 +1586,9 @@ _cairo_image_scaled_glyph_fini (cairo_scaled_font_t *scaled_font,
cairo_private void
_cairo_image_reset_static_data (void);
+cairo_private void
+_cairo_image_compositor_reset_static_data (void);
+
cairo_private cairo_surface_t *
_cairo_image_surface_create_with_pixman_format (unsigned char *data,
pixman_format_code_t pixman_format,
@@ -1779,6 +1832,12 @@ _cairo_matrix_to_pixman_matrix_offset (const cairo_matrix_t *matrix,
int *out_x_offset,
int *out_y_offset);
+cairo_private void
+_cairo_debug_print_matrix (FILE *file, const cairo_matrix_t *matrix);
+
+cairo_private void
+_cairo_debug_print_rect (FILE *file, const cairo_rectangle_int_t *rect);
+
cairo_private cairo_status_t
_cairo_bentley_ottmann_tessellate_rectilinear_polygon (cairo_traps_t *traps,
const cairo_polygon_t *polygon,
@@ -1847,6 +1906,10 @@ cairo_private int
_cairo_ucs4_to_utf8 (uint32_t unicode,
char *utf8);
+cairo_private int
+_cairo_ucs4_to_utf16 (uint32_t unicode,
+ uint16_t *utf16);
+
#if CAIRO_HAS_WIN32_FONT || CAIRO_HAS_QUARTZ_FONT || CAIRO_HAS_PDF_OPERATORS
# define CAIRO_HAS_UTF8_TO_UTF16 1
#endif
@@ -1868,6 +1931,10 @@ _cairo_matrix_multiply (cairo_matrix_t *r,
cairo_private void
_cairo_observers_notify (cairo_list_t *observers, void *arg);
+/* Open a file with a UTF-8 filename */
+cairo_private cairo_status_t
+_cairo_fopen (const char *filename, const char *mode, FILE **file_out);
+
/* Avoid unnecessary PLT entries. */
slim_hidden_proto (cairo_clip_preserve);
slim_hidden_proto (cairo_close_path);
@@ -2060,7 +2127,7 @@ _cairo_debug_check_image_surface_is_defined (const cairo_surface_t *surface);
#endif
cairo_private void
-_cairo_debug_print_path (FILE *stream, cairo_path_fixed_t *path);
+_cairo_debug_print_path (FILE *stream, const cairo_path_fixed_t *path);
cairo_private void
_cairo_debug_print_polygon (FILE *stream, cairo_polygon_t *polygon);