w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

cairoint.h File Reference
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <stddef.h>
#include <math.h>
#include <limits.h>
#include <stdio.h>
#include "cairo.h"
#include <pixman.h>
#include "cairo-compiler-private.h"
#include "cairo-error-private.h"
#include "cairo-types-private.h"
#include "cairo-cache-private.h"
#include "cairo-reference-count-private.h"
#include "cairo-spans-private.h"
#include "cairo-surface-private.h"
#include "cairo-scaled-font-private.h"
#include "cairo-mutex-private.h"
#include "cairo-fixed-private.h"
#include "cairo-wideint-private.h"
#include "cairo-malloc-private.h"
#include "cairo-hash-private.h"
Include dependency graph for cairoint.h:

Go to the source code of this file.

Classes

struct  cairo_user_data_slot_t
 
struct  _cairo_font_face
 
struct  _cairo_unscaled_font_backend
 
struct  _cairo_toy_font_face
 
struct  _cairo_scaled_font_subset
 
struct  _cairo_scaled_font_backend
 
struct  _cairo_font_face_backend
 
struct  _cairo_surface_attributes
 
struct  _cairo_stroke_face
 

Macros

#define CAIRO_HAS_DEFLATE_STREAM   1
 
#define CAIRO_HAS_FONT_SUBSET   1
 
#define CAIRO_HAS_PDF_OPERATORS   1
 
#define MIN(a, b)   ((a) < (b) ? (a) : (b))
 
#define MAX(a, b)   ((a) > (b) ? (a) : (b))
 
#define ISFINITE(x)   ((x) * (x) >= 0.) /* check for NaNs */
 
#define FALSE   0
 
#define TRUE   1
 
#define M_PI   3.14159265358979323846
 
#define M_SQRT2   1.41421356237309504880
 
#define M_SQRT1_2   0.707106781186547524400844362104849039
 
#define ARRAY_LENGTH(__array)   ((int) (sizeof (__array) / sizeof (__array[0])))
 
#define STRINGIFY(macro_or_string)   STRINGIFY_ARG (macro_or_string)
 
#define STRINGIFY_ARG(contents)   #contents
 
#define cairo_container_of(ptr, type, member)    ((type *)((char *) (ptr) - (char *) &((type *)0)->member))
 
#define ASSERT_NOT_REACHED
 
#define COMPILE_TIME_ASSERT1(condition, line)    typedef int compile_time_assertion_at_line_##line##_failed [(condition)?1:-1]
 
#define COMPILE_TIME_ASSERT0(condition, line)   COMPILE_TIME_ASSERT1(condition, line)
 
#define COMPILE_TIME_ASSERT(condition)   COMPILE_TIME_ASSERT0(condition, __LINE__)
 
#define CAIRO_ALPHA_IS_CLEAR(alpha)   ((alpha) <= ((double)0x00ff / (double)0xffff))
 
#define CAIRO_ALPHA_SHORT_IS_CLEAR(alpha)   ((alpha) <= 0x00ff)
 
#define CAIRO_ALPHA_IS_OPAQUE(alpha)   ((alpha) >= ((double)0xff00 / (double)0xffff))
 
#define CAIRO_ALPHA_SHORT_IS_OPAQUE(alpha)   ((alpha) >= 0xff00)
 
#define CAIRO_ALPHA_IS_ZERO(alpha)   ((alpha) <= 0.0)
 
#define CAIRO_COLOR_IS_CLEAR(color)   CAIRO_ALPHA_SHORT_IS_CLEAR ((color)->alpha_short)
 
#define CAIRO_COLOR_IS_OPAQUE(color)   CAIRO_ALPHA_SHORT_IS_OPAQUE ((color)->alpha_short)
 
#define CAIRO_BITSWAP8(c)   ((((c) * 0x0802LU & 0x22110LU) | ((c) * 0x8020LU & 0x88440LU)) * 0x10101LU >> 16)
 
#define CAIRO_BITSWAP8_IF_LITTLE_ENDIAN(c)   CAIRO_BITSWAP8(c)
 
#define _CAIRO_HASH_INIT_VALUE   5381
 
#define _cairo_scaled_glyph_index(g)   ((g)->hash_entry.hash)
 
#define _cairo_scaled_glyph_set_index(g, i)   ((g)->hash_entry.hash = (i))
 
#define CAIRO_EXTEND_SURFACE_DEFAULT   CAIRO_EXTEND_NONE
 
#define CAIRO_EXTEND_GRADIENT_DEFAULT   CAIRO_EXTEND_PAD
 
#define CAIRO_FILTER_DEFAULT   CAIRO_FILTER_GOOD
 
#define CAIRO_FONT_SLANT_DEFAULT   CAIRO_FONT_SLANT_NORMAL
 
#define CAIRO_FONT_WEIGHT_DEFAULT   CAIRO_FONT_WEIGHT_NORMAL
 
#define CAIRO_WIN32_FONT_FAMILY_DEFAULT   "Arial"
 
#define CAIRO_QUARTZ_FONT_FAMILY_DEFAULT   "Helvetica"
 
#define CAIRO_FT_FONT_FAMILY_DEFAULT   ""
 
#define CAIRO_USER_FONT_FAMILY_DEFAULT   "@cairo:"
 
#define CAIRO_FONT_FAMILY_DEFAULT   CAIRO_WIN32_FONT_FAMILY_DEFAULT
 
#define CAIRO_FONT_FACE_BACKEND_DEFAULT   &_cairo_win32_font_face_backend
 
#define CAIRO_GSTATE_OPERATOR_DEFAULT   CAIRO_OPERATOR_OVER
 
#define CAIRO_GSTATE_TOLERANCE_DEFAULT   0.1
 
#define CAIRO_GSTATE_FILL_RULE_DEFAULT   CAIRO_FILL_RULE_WINDING
 
#define CAIRO_GSTATE_LINE_WIDTH_DEFAULT   2.0
 
#define CAIRO_GSTATE_LINE_CAP_DEFAULT   CAIRO_LINE_CAP_BUTT
 
#define CAIRO_GSTATE_LINE_JOIN_DEFAULT   CAIRO_LINE_JOIN_MITER
 
#define CAIRO_GSTATE_MITER_LIMIT_DEFAULT   10.0
 
#define CAIRO_GSTATE_DEFAULT_FONT_SIZE   10.0
 
#define CAIRO_SURFACE_RESOLUTION_DEFAULT   72.0
 
#define CAIRO_SURFACE_FALLBACK_RESOLUTION_DEFAULT   300.0
 
#define CAIRO_COLOR_WHITE   _cairo_stock_color (CAIRO_STOCK_WHITE)
 
#define CAIRO_COLOR_BLACK   _cairo_stock_color (CAIRO_STOCK_BLACK)
 
#define CAIRO_COLOR_TRANSPARENT   _cairo_stock_color (CAIRO_STOCK_TRANSPARENT)
 
#define CAIRO_FORMAT_VALID(format)
 
#define CAIRO_STRIDE_ALIGNMENT   (sizeof (uint32_t))
 
#define CAIRO_STRIDE_FOR_WIDTH_BPP(w, bpp)    ((((bpp)*(w)+7)/8 + CAIRO_STRIDE_ALIGNMENT-1) & -CAIRO_STRIDE_ALIGNMENT)
 
#define CAIRO_CONTENT_VALID(content)
 
#define _cairo_polygon_status(P)   ((cairo_polygon_t *) (P))->status
 
#define CAIRO_HAS_UTF8_TO_UTF16   1
 
#define VG(x)
 
#define _cairo_debug_check_image_surface_is_defined(X)
 
#define TRACE(x)
 
#define TRACE_(x)
 

Typedefs

typedef struct _cairo_toy_font_face cairo_toy_font_face_t
 
typedef enum _cairo_scaled_glyph_info cairo_scaled_glyph_info_t
 
typedef struct _cairo_scaled_font_subset cairo_scaled_font_subset_t
 
typedef struct _cairo_stroke_face cairo_stroke_face_t
 
typedef cairo_status_t() cairo_path_fixed_move_to_func_t(void *closure, const cairo_point_t *point)
 
typedef cairo_status_t() cairo_path_fixed_line_to_func_t(void *closure, const cairo_point_t *point)
 
typedef cairo_status_t() cairo_path_fixed_curve_to_func_t(void *closure, const cairo_point_t *p0, const cairo_point_t *p1, const cairo_point_t *p2)
 
typedef cairo_status_t() cairo_path_fixed_close_path_func_t(void *closure)
 

Enumerations

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_COLOR_SURFACE = (1 << 4) , 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_COLOR_SURFACE = (1 << 4) , 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_COLOR_SURFACE = (1 << 4)
}
 
enum  { CAIRO_OPERATOR_BOUND_BY_MASK = 1 << 1 , CAIRO_OPERATOR_BOUND_BY_SOURCE = 1 << 2 }
 

Functions

static int _cairo_popcount (uint32_t mask)
 
static cairo_bool_t _cairo_is_little_endian (void)
 
static uint16_t cpu_to_be16 (uint16_t v)
 
static uint16_t be16_to_cpu (uint16_t v)
 
static uint32_t cpu_to_be32 (uint32_t v)
 
static uint32_t be32_to_cpu (uint32_t v)
 
static uint16_t get_unaligned_be16 (const unsigned char *p)
 
static uint32_t get_unaligned_be32 (const unsigned char *p)
 
static void put_unaligned_be16 (uint16_t v, unsigned char *p)
 
static void put_unaligned_be32 (uint32_t v, unsigned char *p)
 
static int _cairo_isspace (int c)
 
static int _cairo_isdigit (int c)
 
static int _cairo_isalpha (int c)
 
void _cairo_box_from_doubles (cairo_box_t *box, double *x1, double *y1, double *x2, double *y2)
 
void _cairo_box_to_doubles (const cairo_box_t *box, double *x1, double *y1, double *x2, double *y2)
 
void _cairo_box_from_rectangle (cairo_box_t *box, const cairo_rectangle_int_t *rectangle)
 
void _cairo_box_round_to_rectangle (const cairo_box_t *box, cairo_rectangle_int_t *rectangle)
 
void _cairo_box_add_curve_to (cairo_box_t *extents, const cairo_point_t *a, const cairo_point_t *b, const cairo_point_t *c, const cairo_point_t *d)
 
void _cairo_boxes_get_extents (const cairo_box_t *boxes, int num_boxes, cairo_box_t *extents)
 
static void _cairo_unbounded_rectangle_init (cairo_rectangle_int_t *rect)
 
cairo_bool_t _cairo_rectangle_intersect (cairo_rectangle_int_t *dst, const cairo_rectangle_int_t *src)
 
static cairo_bool_t _cairo_rectangle_intersects (const cairo_rectangle_int_t *dst, const cairo_rectangle_int_t *src)
 
static cairo_bool_t _cairo_rectangle_contains_rectangle (const cairo_rectangle_int_t *a, const cairo_rectangle_int_t *b)
 
void _cairo_rectangle_int_from_double (cairo_rectangle_int_t *recti, const cairo_rectangle_t *rectf)
 
void _cairo_rectangle_union (cairo_rectangle_int_t *dst, const cairo_rectangle_int_t *src)
 
cairo_bool_t _cairo_box_intersects_line_segment (const cairo_box_t *box, cairo_line_t *line)
 
cairo_bool_t _cairo_spline_intersects (const cairo_point_t *a, const cairo_point_t *b, const cairo_point_t *c, const cairo_point_t *d, const cairo_box_t *box)
 
void _cairo_user_data_array_init (cairo_user_data_array_t *array)
 
void _cairo_user_data_array_fini (cairo_user_data_array_t *array)
 
void_cairo_user_data_array_get_data (cairo_user_data_array_t *array, const cairo_user_data_key_t *key)
 
cairo_status_t _cairo_user_data_array_set_data (cairo_user_data_array_t *array, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy)
 
cairo_status_t _cairo_user_data_array_copy (cairo_user_data_array_t *dst, const cairo_user_data_array_t *src)
 
void _cairo_user_data_array_foreach (cairo_user_data_array_t *array, void(*func)(const void *key, void *elt, void *closure), void *closure)
 
unsigned long _cairo_hash_string (const char *c)
 
unsigned long _cairo_hash_bytes (unsigned long hash, const void *bytes, unsigned int length)
 
void _cairo_default_context_reset_static_data (void)
 
void _cairo_toy_font_face_reset_static_data (void)
 
void _cairo_ft_font_reset_static_data (void)
 
void _cairo_win32_font_reset_static_data (void)
 
static double _cairo_restrict_value (double value, double min, double max)
 
static double _cairo_round (double r)
 
static int _cairo_lround (double r)
 
uint16_t _cairo_half_from_float (float f)
 
cairo_bool_t _cairo_operator_bounded_by_mask (cairo_operator_t op)
 
cairo_bool_t _cairo_operator_bounded_by_source (cairo_operator_t op)
 
uint32_t _cairo_operator_bounded_by_either (cairo_operator_t op)
 
const cairo_color_t_cairo_stock_color (cairo_stock_t stock)
 
uint16_t _cairo_color_double_to_short (double d)
 
void _cairo_color_init_rgba (cairo_color_t *color, double red, double green, double blue, double alpha)
 
void _cairo_color_multiply_alpha (cairo_color_t *color, double alpha)
 
void _cairo_color_get_rgba (cairo_color_t *color, double *red, double *green, double *blue, double *alpha)
 
void _cairo_color_get_rgba_premultiplied (cairo_color_t *color, double *red, double *green, double *blue, double *alpha)
 
cairo_bool_t _cairo_color_equal (const cairo_color_t *color_a, const cairo_color_t *color_b)
 
cairo_bool_t _cairo_color_stop_equal (const cairo_color_stop_t *color_a, const cairo_color_stop_t *color_b)
 
cairo_content_t _cairo_color_get_content (const cairo_color_t *color)
 
void _cairo_font_face_init (cairo_font_face_t *font_face, const cairo_font_face_backend_t *backend)
 
cairo_bool_t _cairo_font_face_destroy (void *abstract_face)
 
cairo_status_t _cairo_font_face_set_error (cairo_font_face_t *font_face, cairo_status_t status)
 
void _cairo_unscaled_font_init (cairo_unscaled_font_t *font, const cairo_unscaled_font_backend_t *backend)
 
cairo_unscaled_font_t_cairo_unscaled_font_reference (cairo_unscaled_font_t *font)
 
void _cairo_unscaled_font_destroy (cairo_unscaled_font_t *font)
 
cairo_font_face_t_cairo_font_face_twin_create_fallback (void)
 
cairo_status_t _cairo_font_face_twin_create_for_toy (cairo_toy_font_face_t *toy_face, cairo_font_face_t **font_face)
 
void _cairo_font_options_init_default (cairo_font_options_t *options)
 
void _cairo_font_options_init_copy (cairo_font_options_t *options, const cairo_font_options_t *other)
 
void _cairo_font_options_fini (cairo_font_options_t *options)
 
void _cairo_font_options_set_lcd_filter (cairo_font_options_t *options, cairo_lcd_filter_t lcd_filter)
 
cairo_lcd_filter_t _cairo_font_options_get_lcd_filter (const cairo_font_options_t *options)
 
void _cairo_font_options_set_round_glyph_positions (cairo_font_options_t *options, cairo_round_glyph_positions_t round)
 
cairo_round_glyph_positions_t _cairo_font_options_get_round_glyph_positions (const cairo_font_options_t *options)
 
cairo_status_t _cairo_hull_compute (cairo_pen_vertex_t *vertices, int *num_vertices)
 
unsigned char * _cairo_lzw_compress (unsigned char *data, unsigned long *size_in_out)
 
cairo_status_t _cairo_validate_text_clusters (const char *utf8, int utf8_len, const cairo_glyph_t *glyphs, int num_glyphs, const cairo_text_cluster_t *clusters, int num_clusters, cairo_text_cluster_flags_t cluster_flags)
 
unsigned long _cairo_string_hash (const char *str, int len)
 
cairo_status_t _cairo_intern_string (const char **str_inout, int len)
 
void _cairo_intern_string_reset_static_data (void)
 
const char * _cairo_get_locale_decimal_point (void)
 
double _cairo_strtod (const char *nptr, char **endptr)
 
cairo_path_fixed_t_cairo_path_fixed_create (void)
 
void _cairo_path_fixed_init (cairo_path_fixed_t *path)
 
cairo_status_t _cairo_path_fixed_init_copy (cairo_path_fixed_t *path, const cairo_path_fixed_t *other)
 
void _cairo_path_fixed_fini (cairo_path_fixed_t *path)
 
void _cairo_path_fixed_destroy (cairo_path_fixed_t *path)
 
cairo_status_t _cairo_path_fixed_move_to (cairo_path_fixed_t *path, cairo_fixed_t x, cairo_fixed_t y)
 
void _cairo_path_fixed_new_sub_path (cairo_path_fixed_t *path)
 
cairo_status_t _cairo_path_fixed_rel_move_to (cairo_path_fixed_t *path, cairo_fixed_t dx, cairo_fixed_t dy)
 
cairo_status_t _cairo_path_fixed_line_to (cairo_path_fixed_t *path, cairo_fixed_t x, cairo_fixed_t y)
 
cairo_status_t _cairo_path_fixed_rel_line_to (cairo_path_fixed_t *path, cairo_fixed_t dx, cairo_fixed_t dy)
 
cairo_status_t _cairo_path_fixed_curve_to (cairo_path_fixed_t *path, cairo_fixed_t x0, cairo_fixed_t y0, cairo_fixed_t x1, cairo_fixed_t y1, cairo_fixed_t x2, cairo_fixed_t y2)
 
cairo_status_t _cairo_path_fixed_rel_curve_to (cairo_path_fixed_t *path, cairo_fixed_t dx0, cairo_fixed_t dy0, cairo_fixed_t dx1, cairo_fixed_t dy1, cairo_fixed_t dx2, cairo_fixed_t dy2)
 
cairo_status_t _cairo_path_fixed_close_path (cairo_path_fixed_t *path)
 
cairo_bool_t _cairo_path_fixed_get_current_point (cairo_path_fixed_t *path, cairo_fixed_t *x, cairo_fixed_t *y)
 
cairo_status_t _cairo_path_fixed_interpret (const cairo_path_fixed_t *path, cairo_path_fixed_move_to_func_t *move_to, cairo_path_fixed_line_to_func_t *line_to, cairo_path_fixed_curve_to_func_t *curve_to, cairo_path_fixed_close_path_func_t *close_path, void *closure)
 
cairo_status_t _cairo_path_fixed_interpret_flat (const cairo_path_fixed_t *path, cairo_path_fixed_move_to_func_t *move_to, cairo_path_fixed_line_to_func_t *line_to, cairo_path_fixed_close_path_func_t *close_path, void *closure, double tolerance)
 
cairo_bool_t _cairo_path_bounder_extents (const cairo_path_fixed_t *path, cairo_box_t *box)
 
cairo_bool_t _cairo_path_fixed_extents (const cairo_path_fixed_t *path, cairo_box_t *box)
 
void _cairo_path_fixed_approximate_clip_extents (const cairo_path_fixed_t *path, cairo_rectangle_int_t *extents)
 
void _cairo_path_fixed_approximate_fill_extents (const cairo_path_fixed_t *path, cairo_rectangle_int_t *extents)
 
void _cairo_path_fixed_fill_extents (const cairo_path_fixed_t *path, cairo_fill_rule_t fill_rule, double tolerance, cairo_rectangle_int_t *extents)
 
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_status_t _cairo_path_fixed_stroke_extents (const cairo_path_fixed_t *path, const cairo_stroke_style_t *style, const cairo_matrix_t *ctm, const cairo_matrix_t *ctm_inverse, double tolerance, cairo_rectangle_int_t *extents)
 
void _cairo_path_fixed_transform (cairo_path_fixed_t *path, const cairo_matrix_t *matrix)
 
cairo_bool_t _cairo_path_fixed_is_box (const cairo_path_fixed_t *path, cairo_box_t *box)
 
cairo_bool_t _cairo_path_fixed_is_rectangle (const cairo_path_fixed_t *path, cairo_box_t *box)
 
cairo_bool_t _cairo_path_fixed_in_fill (const cairo_path_fixed_t *path, cairo_fill_rule_t fill_rule, double tolerance, double x, double y)
 
cairo_status_t _cairo_path_fixed_fill_to_polygon (const cairo_path_fixed_t *path, double tolerance, cairo_polygon_t *polygon)
 
cairo_status_t _cairo_path_fixed_fill_rectilinear_to_polygon (const cairo_path_fixed_t *path, cairo_antialias_t antialias, cairo_polygon_t *polygon)
 
cairo_status_t _cairo_path_fixed_fill_rectilinear_to_boxes (const cairo_path_fixed_t *path, cairo_fill_rule_t fill_rule, cairo_antialias_t antialias, cairo_boxes_t *boxes)
 
cairo_region_t_cairo_path_fixed_fill_rectilinear_to_region (const cairo_path_fixed_t *path, cairo_fill_rule_t fill_rule, const cairo_rectangle_int_t *extents)
 
cairo_status_t _cairo_path_fixed_fill_to_traps (const cairo_path_fixed_t *path, cairo_fill_rule_t fill_rule, double tolerance, cairo_traps_t *traps)
 
cairo_status_t _cairo_path_fixed_stroke_to_polygon (const cairo_path_fixed_t *path, const cairo_stroke_style_t *stroke_style, const cairo_matrix_t *ctm, const cairo_matrix_t *ctm_inverse, double tolerance, cairo_polygon_t *polygon)
 
cairo_int_status_t _cairo_path_fixed_stroke_to_tristrip (const cairo_path_fixed_t *path, const cairo_stroke_style_t *style, const cairo_matrix_t *ctm, const cairo_matrix_t *ctm_inverse, double tolerance, cairo_tristrip_t *strip)
 
cairo_status_t _cairo_path_fixed_stroke_dashed_to_polygon (const cairo_path_fixed_t *path, const cairo_stroke_style_t *stroke_style, const cairo_matrix_t *ctm, const cairo_matrix_t *ctm_inverse, double tolerance, cairo_polygon_t *polygon)
 
cairo_int_status_t _cairo_path_fixed_stroke_rectilinear_to_boxes (const cairo_path_fixed_t *path, const cairo_stroke_style_t *stroke_style, const cairo_matrix_t *ctm, cairo_antialias_t antialias, cairo_boxes_t *boxes)
 
cairo_int_status_t _cairo_path_fixed_stroke_to_traps (const cairo_path_fixed_t *path, const cairo_stroke_style_t *stroke_style, const cairo_matrix_t *ctm, const cairo_matrix_t *ctm_inverse, double tolerance, cairo_traps_t *traps)
 
cairo_int_status_t _cairo_path_fixed_stroke_polygon_to_traps (const cairo_path_fixed_t *path, const cairo_stroke_style_t *stroke_style, const cairo_matrix_t *ctm, const cairo_matrix_t *ctm_inverse, double tolerance, cairo_traps_t *traps)
 
cairo_status_t _cairo_path_fixed_stroke_to_shaper (cairo_path_fixed_t *path, const cairo_stroke_style_t *stroke_style, const cairo_matrix_t *ctm, const cairo_matrix_t *ctm_inverse, double tolerance, cairo_status_t(*add_triangle)(void *closure, const cairo_point_t triangle[3]), cairo_status_t(*add_triangle_fan)(void *closure, const cairo_point_t *midpt, const cairo_point_t *points, int npoints), cairo_status_t(*add_quad)(void *closure, const cairo_point_t quad[4]), void *closure)
 
void _cairo_scaled_font_freeze_cache (cairo_scaled_font_t *scaled_font)
 
void _cairo_scaled_font_thaw_cache (cairo_scaled_font_t *scaled_font)
 
void _cairo_scaled_font_reset_cache (cairo_scaled_font_t *scaled_font)
 
cairo_status_t _cairo_scaled_font_set_error (cairo_scaled_font_t *scaled_font, cairo_status_t status)
 
cairo_scaled_font_t_cairo_scaled_font_create_in_error (cairo_status_t status)
 
void _cairo_scaled_font_reset_static_data (void)
 
cairo_status_t _cairo_scaled_font_register_placeholder_and_unlock_font_map (cairo_scaled_font_t *scaled_font)
 
void _cairo_scaled_font_unregister_placeholder_and_lock_font_map (cairo_scaled_font_t *scaled_font)
 
cairo_status_t _cairo_scaled_font_init (cairo_scaled_font_t *scaled_font, cairo_font_face_t *font_face, const cairo_matrix_t *font_matrix, const cairo_matrix_t *ctm, const cairo_font_options_t *options, const cairo_scaled_font_backend_t *backend)
 
cairo_status_t _cairo_scaled_font_set_metrics (cairo_scaled_font_t *scaled_font, cairo_font_extents_t *fs_metrics)
 
void _cairo_scaled_font_fini (cairo_scaled_font_t *scaled_font)
 
cairo_status_t _cairo_scaled_font_font_extents (cairo_scaled_font_t *scaled_font, cairo_font_extents_t *extents)
 
cairo_status_t _cairo_scaled_font_glyph_device_extents (cairo_scaled_font_t *scaled_font, const cairo_glyph_t *glyphs, int num_glyphs, cairo_rectangle_int_t *extents, cairo_bool_t *overlap)
 
cairo_bool_t _cairo_scaled_font_glyph_approximate_extents (cairo_scaled_font_t *scaled_font, const cairo_glyph_t *glyphs, int num_glyphs, cairo_rectangle_int_t *extents)
 
cairo_status_t _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font, cairo_operator_t op, const cairo_pattern_t *source, cairo_surface_t *surface, int source_x, int source_y, int dest_x, int dest_y, unsigned int width, unsigned int height, cairo_glyph_t *glyphs, int num_glyphs, cairo_region_t *clip_region)
 
cairo_status_t _cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font, const cairo_glyph_t *glyphs, int num_glyphs, cairo_path_fixed_t *path)
 
void _cairo_scaled_glyph_set_metrics (cairo_scaled_glyph_t *scaled_glyph, cairo_scaled_font_t *scaled_font, cairo_text_extents_t *fs_metrics)
 
void _cairo_scaled_glyph_set_surface (cairo_scaled_glyph_t *scaled_glyph, cairo_scaled_font_t *scaled_font, cairo_image_surface_t *surface)
 
void _cairo_scaled_glyph_set_path (cairo_scaled_glyph_t *scaled_glyph, cairo_scaled_font_t *scaled_font, cairo_path_fixed_t *path)
 
void _cairo_scaled_glyph_set_recording_surface (cairo_scaled_glyph_t *scaled_glyph, cairo_scaled_font_t *scaled_font, cairo_surface_t *recording_surface)
 
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_int_status_t _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font, unsigned long index, cairo_scaled_glyph_info_t info, cairo_scaled_glyph_t **scaled_glyph_ret)
 
double _cairo_scaled_font_get_max_scale (cairo_scaled_font_t *scaled_font)
 
void _cairo_scaled_font_map_destroy (void)
 
void _cairo_stroke_style_init (cairo_stroke_style_t *style)
 
cairo_status_t _cairo_stroke_style_init_copy (cairo_stroke_style_t *style, const cairo_stroke_style_t *other)
 
void _cairo_stroke_style_fini (cairo_stroke_style_t *style)
 
void _cairo_stroke_style_max_distance_from_path (const cairo_stroke_style_t *style, const cairo_path_fixed_t *path, const cairo_matrix_t *ctm, double *dx, double *dy)
 
void _cairo_stroke_style_max_line_distance_from_path (const cairo_stroke_style_t *style, const cairo_path_fixed_t *path, const cairo_matrix_t *ctm, double *dx, double *dy)
 
void _cairo_stroke_style_max_join_distance_from_path (const cairo_stroke_style_t *style, const cairo_path_fixed_t *path, const cairo_matrix_t *ctm, double *dx, double *dy)
 
double _cairo_stroke_style_dash_period (const cairo_stroke_style_t *style)
 
double _cairo_stroke_style_dash_stroked (const cairo_stroke_style_t *style)
 
cairo_bool_t _cairo_stroke_style_dash_can_approximate (const cairo_stroke_style_t *style, const cairo_matrix_t *ctm, double tolerance)
 
void _cairo_stroke_style_dash_approximate (const cairo_stroke_style_t *style, const cairo_matrix_t *ctm, double tolerance, double *dash_offset, double *dashes, unsigned int *num_dashes)
 
cairo_bool_t _cairo_surface_has_mime_image (cairo_surface_t *surface)
 
cairo_status_t _cairo_surface_copy_mime_data (cairo_surface_t *dst, cairo_surface_t *src)
 
cairo_int_status_t _cairo_surface_set_error (cairo_surface_t *surface, cairo_int_status_t status)
 
void _cairo_surface_set_resolution (cairo_surface_t *surface, double x_res, double y_res)
 
cairo_surface_t_cairo_surface_create_for_rectangle_int (cairo_surface_t *target, const cairo_rectangle_int_t *extents)
 
cairo_surface_t_cairo_surface_create_scratch (cairo_surface_t *other, cairo_content_t content, int width, int height, const cairo_color_t *color)
 
void _cairo_surface_init (cairo_surface_t *surface, const cairo_surface_backend_t *backend, cairo_device_t *device, cairo_content_t content, cairo_bool_t is_vector)
 
void _cairo_surface_set_font_options (cairo_surface_t *surface, cairo_font_options_t *options)
 
cairo_status_t _cairo_surface_paint (cairo_surface_t *surface, cairo_operator_t op, const cairo_pattern_t *source, const cairo_clip_t *clip)
 
cairo_image_surface_t_cairo_surface_map_to_image (cairo_surface_t *surface, const cairo_rectangle_int_t *extents)
 
cairo_int_status_t _cairo_surface_unmap_image (cairo_surface_t *surface, cairo_image_surface_t *image)
 
cairo_status_t _cairo_surface_mask (cairo_surface_t *surface, cairo_operator_t op, const cairo_pattern_t *source, const cairo_pattern_t *mask, const cairo_clip_t *clip)
 
cairo_status_t _cairo_surface_fill_stroke (cairo_surface_t *surface, cairo_operator_t fill_op, const cairo_pattern_t *fill_source, cairo_fill_rule_t fill_rule, double fill_tolerance, cairo_antialias_t fill_antialias, cairo_path_fixed_t *path, cairo_operator_t stroke_op, const cairo_pattern_t *stroke_source, const cairo_stroke_style_t *stroke_style, const cairo_matrix_t *stroke_ctm, const cairo_matrix_t *stroke_ctm_inverse, double stroke_tolerance, cairo_antialias_t stroke_antialias, const cairo_clip_t *clip)
 
cairo_status_t _cairo_surface_stroke (cairo_surface_t *surface, cairo_operator_t op, const cairo_pattern_t *source, const cairo_path_fixed_t *path, const cairo_stroke_style_t *style, const cairo_matrix_t *ctm, const cairo_matrix_t *ctm_inverse, double tolerance, cairo_antialias_t antialias, const cairo_clip_t *clip)
 
cairo_status_t _cairo_surface_fill (cairo_surface_t *surface, cairo_operator_t op, const cairo_pattern_t *source, const cairo_path_fixed_t *path, cairo_fill_rule_t fill_rule, double tolerance, cairo_antialias_t antialias, const cairo_clip_t *clip)
 
cairo_status_t _cairo_surface_show_text_glyphs (cairo_surface_t *surface, cairo_operator_t op, const cairo_pattern_t *source, const char *utf8, int utf8_len, cairo_glyph_t *glyphs, int num_glyphs, const cairo_text_cluster_t *clusters, int num_clusters, cairo_text_cluster_flags_t cluster_flags, cairo_scaled_font_t *scaled_font, const cairo_clip_t *clip)
 
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_status_t _cairo_surface_acquire_source_image (cairo_surface_t *surface, cairo_image_surface_t **image_out, void **image_extra)
 
void _cairo_surface_release_source_image (cairo_surface_t *surface, cairo_image_surface_t *image, void *image_extra)
 
cairo_surface_t_cairo_surface_snapshot (cairo_surface_t *surface)
 
void _cairo_surface_attach_snapshot (cairo_surface_t *surface, cairo_surface_t *snapshot, cairo_surface_func_t detach_func)
 
cairo_surface_t_cairo_surface_has_snapshot (cairo_surface_t *surface, const cairo_surface_backend_t *backend)
 
void _cairo_surface_detach_snapshot (cairo_surface_t *snapshot)
 
cairo_status_t _cairo_surface_begin_modification (cairo_surface_t *surface)
 
cairo_bool_t _cairo_surface_get_extents (cairo_surface_t *surface, cairo_rectangle_int_t *extents)
 
cairo_bool_t _cairo_surface_has_device_transform (cairo_surface_t *surface)
 
void _cairo_surface_release_device_reference (cairo_surface_t *surface)
 
int _cairo_format_bits_per_pixel (cairo_format_t format)
 
cairo_format_t _cairo_format_from_content (cairo_content_t content)
 
cairo_format_t _cairo_format_from_pixman_format (pixman_format_code_t pixman_format)
 
cairo_content_t _cairo_content_from_format (cairo_format_t format)
 
cairo_content_t _cairo_content_from_pixman_format (pixman_format_code_t pixman_format)
 
cairo_surface_t_cairo_image_surface_create_for_pixman_image (pixman_image_t *pixman_image, pixman_format_code_t pixman_format)
 
pixman_format_code_t _cairo_format_to_pixman_format_code (cairo_format_t format)
 
cairo_bool_t _pixman_format_from_masks (cairo_format_masks_t *masks, pixman_format_code_t *format_ret)
 
cairo_bool_t _pixman_format_to_masks (pixman_format_code_t pixman_format, cairo_format_masks_t *masks)
 
void _cairo_image_scaled_glyph_fini (cairo_scaled_font_t *scaled_font, cairo_scaled_glyph_t *scaled_glyph)
 
void _cairo_image_reset_static_data (void)
 
void _cairo_image_compositor_reset_static_data (void)
 
cairo_surface_t_cairo_image_surface_create_with_pixman_format (unsigned char *data, pixman_format_code_t pixman_format, int width, int height, int stride)
 
cairo_surface_t_cairo_image_surface_create_with_content (cairo_content_t content, int width, int height)
 
void _cairo_image_surface_assume_ownership_of_data (cairo_image_surface_t *surface)
 
cairo_image_surface_t_cairo_image_surface_coerce (cairo_image_surface_t *surface)
 
cairo_image_surface_t_cairo_image_surface_coerce_to_format (cairo_image_surface_t *surface, cairo_format_t format)
 
cairo_image_transparency_t _cairo_image_analyze_transparency (cairo_image_surface_t *image)
 
cairo_image_color_t _cairo_image_analyze_color (cairo_image_surface_t *image)
 
int _cairo_pen_vertices_needed (double tolerance, double radius, const cairo_matrix_t *matrix)
 
cairo_status_t _cairo_pen_init (cairo_pen_t *pen, double radius, double tolerance, const cairo_matrix_t *ctm)
 
void _cairo_pen_init_empty (cairo_pen_t *pen)
 
cairo_status_t _cairo_pen_init_copy (cairo_pen_t *pen, const cairo_pen_t *other)
 
void _cairo_pen_fini (cairo_pen_t *pen)
 
cairo_status_t _cairo_pen_add_points (cairo_pen_t *pen, cairo_point_t *point, int num_points)
 
int _cairo_pen_find_active_cw_vertex_index (const cairo_pen_t *pen, const cairo_slope_t *slope)
 
int _cairo_pen_find_active_ccw_vertex_index (const cairo_pen_t *pen, const cairo_slope_t *slope)
 
void _cairo_pen_find_active_cw_vertices (const cairo_pen_t *pen, const cairo_slope_t *in, const cairo_slope_t *out, int *start, int *stop)
 
void _cairo_pen_find_active_ccw_vertices (const cairo_pen_t *pen, const cairo_slope_t *in, const cairo_slope_t *out, int *start, int *stop)
 
void _cairo_polygon_init (cairo_polygon_t *polygon, const cairo_box_t *boxes, int num_boxes)
 
void _cairo_polygon_init_with_clip (cairo_polygon_t *polygon, const cairo_clip_t *clip)
 
cairo_status_t _cairo_polygon_init_boxes (cairo_polygon_t *polygon, const cairo_boxes_t *boxes)
 
cairo_status_t _cairo_polygon_init_box_array (cairo_polygon_t *polygon, cairo_box_t *boxes, int num_boxes)
 
void _cairo_polygon_limit (cairo_polygon_t *polygon, const cairo_box_t *limits, int num_limits)
 
void _cairo_polygon_limit_to_clip (cairo_polygon_t *polygon, const cairo_clip_t *clip)
 
void _cairo_polygon_fini (cairo_polygon_t *polygon)
 
cairo_status_t _cairo_polygon_add_line (cairo_polygon_t *polygon, const cairo_line_t *line, int top, int bottom, int dir)
 
cairo_status_t _cairo_polygon_add_external_edge (void *polygon, const cairo_point_t *p1, const cairo_point_t *p2)
 
cairo_status_t _cairo_polygon_add_contour (cairo_polygon_t *polygon, const cairo_contour_t *contour)
 
void _cairo_polygon_translate (cairo_polygon_t *polygon, int dx, int dy)
 
cairo_status_t _cairo_polygon_reduce (cairo_polygon_t *polygon, cairo_fill_rule_t fill_rule)
 
cairo_status_t _cairo_polygon_intersect (cairo_polygon_t *a, int winding_a, cairo_polygon_t *b, int winding_b)
 
cairo_status_t _cairo_polygon_intersect_with_boxes (cairo_polygon_t *polygon, cairo_fill_rule_t *winding, cairo_box_t *boxes, int num_boxes)
 
static cairo_bool_t _cairo_polygon_is_empty (const cairo_polygon_t *polygon)
 
cairo_bool_t _cairo_spline_init (cairo_spline_t *spline, cairo_spline_add_point_func_t add_point_func, void *closure, const cairo_point_t *a, const cairo_point_t *b, const cairo_point_t *c, const cairo_point_t *d)
 
cairo_status_t _cairo_spline_decompose (cairo_spline_t *spline, double tolerance)
 
cairo_status_t _cairo_spline_bound (cairo_spline_add_point_func_t add_point_func, void *closure, const cairo_point_t *p0, const cairo_point_t *p1, const cairo_point_t *p2, const cairo_point_t *p3)
 
void _cairo_matrix_get_affine (const cairo_matrix_t *matrix, double *xx, double *yx, double *xy, double *yy, double *x0, double *y0)
 
void _cairo_matrix_transform_bounding_box (const cairo_matrix_t *matrix, double *x1, double *y1, double *x2, double *y2, cairo_bool_t *is_tight)
 
void _cairo_matrix_transform_bounding_box_fixed (const cairo_matrix_t *matrix, cairo_box_t *bbox, cairo_bool_t *is_tight)
 
cairo_bool_t _cairo_matrix_is_invertible (const cairo_matrix_t *matrix)
 
cairo_bool_t _cairo_matrix_is_scale_0 (const cairo_matrix_t *matrix)
 
double _cairo_matrix_compute_determinant (const cairo_matrix_t *matrix)
 
cairo_status_t _cairo_matrix_compute_basis_scale_factors (const cairo_matrix_t *matrix, double *sx, double *sy, int x_major)
 
static cairo_bool_t _cairo_matrix_is_identity (const cairo_matrix_t *matrix)
 
static cairo_bool_t _cairo_matrix_is_translation (const cairo_matrix_t *matrix)
 
static cairo_bool_t _cairo_matrix_is_scale (const cairo_matrix_t *matrix)
 
cairo_bool_t _cairo_matrix_is_integer_translation (const cairo_matrix_t *matrix, int *itx, int *ity)
 
cairo_bool_t _cairo_matrix_has_unity_scale (const cairo_matrix_t *matrix)
 
cairo_bool_t _cairo_matrix_is_pixel_exact (const cairo_matrix_t *matrix)
 
double _cairo_matrix_transformed_circle_major_axis (const cairo_matrix_t *matrix, double radius)
 
cairo_bool_t _cairo_matrix_is_pixman_translation (const cairo_matrix_t *matrix, cairo_filter_t filter, int *out_x_offset, int *out_y_offset)
 
cairo_status_t _cairo_matrix_to_pixman_matrix_offset (const cairo_matrix_t *matrix, cairo_filter_t filter, double xc, double yc, pixman_transform_t *out_transform, int *out_x_offset, int *out_y_offset)
 
void _cairo_debug_print_matrix (FILE *file, const cairo_matrix_t *matrix)
 
void _cairo_debug_print_rect (FILE *file, const cairo_rectangle_int_t *rect)
 
cairo_status_t _cairo_bentley_ottmann_tessellate_rectilinear_polygon (cairo_traps_t *traps, const cairo_polygon_t *polygon, cairo_fill_rule_t fill_rule)
 
cairo_status_t _cairo_bentley_ottmann_tessellate_polygon (cairo_traps_t *traps, const cairo_polygon_t *polygon, cairo_fill_rule_t fill_rule)
 
cairo_status_t _cairo_bentley_ottmann_tessellate_traps (cairo_traps_t *traps, cairo_fill_rule_t fill_rule)
 
cairo_status_t _cairo_bentley_ottmann_tessellate_rectangular_traps (cairo_traps_t *traps, cairo_fill_rule_t fill_rule)
 
cairo_status_t _cairo_bentley_ottmann_tessellate_boxes (const cairo_boxes_t *in, cairo_fill_rule_t fill_rule, cairo_boxes_t *out)
 
cairo_status_t _cairo_bentley_ottmann_tessellate_rectilinear_traps (cairo_traps_t *traps, cairo_fill_rule_t fill_rule)
 
cairo_status_t _cairo_bentley_ottmann_tessellate_rectilinear_polygon_to_boxes (const cairo_polygon_t *polygon, cairo_fill_rule_t fill_rule, cairo_boxes_t *boxes)
 
void _cairo_trapezoid_array_translate_and_scale (cairo_trapezoid_t *offset_traps, cairo_trapezoid_t *src_traps, int num_traps, double tx, double ty, double sx, double sy)
 
void _cairo_clip_reset_static_data (void)
 
void _cairo_pattern_reset_static_data (void)
 
int _cairo_utf8_get_char_validated (const char *p, uint32_t *unicode)
 
cairo_status_t _cairo_utf8_to_ucs4 (const char *str, int len, uint32_t **result, int *items_written)
 
int _cairo_ucs4_to_utf8 (uint32_t unicode, char *utf8)
 
int _cairo_ucs4_to_utf16 (uint32_t unicode, uint16_t *utf16)
 
cairo_status_t _cairo_utf8_to_utf16 (const char *str, int len, uint16_t **result, int *items_written)
 
void _cairo_matrix_multiply (cairo_matrix_t *r, const cairo_matrix_t *a, const cairo_matrix_t *b)
 
void _cairo_observers_notify (cairo_list_t *observers, void *arg)
 
cairo_status_t _cairo_fopen (const char *filename, const char *mode, FILE **file_out)
 
int _cairo_dummy_prototype (void)
 
void _cairo_debug_print_path (FILE *stream, const cairo_path_fixed_t *path)
 
void _cairo_debug_print_polygon (FILE *stream, cairo_polygon_t *polygon)
 
void _cairo_debug_print_traps (FILE *file, const cairo_traps_t *traps)
 
void _cairo_debug_print_clip (FILE *stream, const cairo_clip_t *clip)
 

Variables

const cairo_rectangle_int_t _cairo_empty_rectangle
 
const cairo_rectangle_int_t _cairo_unbounded_rectangle
 
const struct _cairo_font_face_backend _cairo_user_font_face_backend
 
const struct _cairo_font_face_backend _cairo_win32_font_face_backend
 
const cairo_solid_pattern_t _cairo_pattern_clear
 
const cairo_solid_pattern_t _cairo_pattern_black
 
const cairo_solid_pattern_t _cairo_pattern_white
 
const cairo_font_face_t _cairo_font_face_nil
 
const cairo_font_face_t _cairo_font_face_nil_file_not_found
 
const int8_t _cairo_twin_outlines []
 
const uint16_t _cairo_twin_charmap [128]
 

Macro Definition Documentation

◆ _cairo_debug_check_image_surface_is_defined

#define _cairo_debug_check_image_surface_is_defined (   X)

Definition at line 2125 of file cairoint.h.

◆ _CAIRO_HASH_INIT_VALUE

#define _CAIRO_HASH_INIT_VALUE   5381

Definition at line 421 of file cairoint.h.

◆ _cairo_polygon_status

#define _cairo_polygon_status (   P)    ((cairo_polygon_t *) (P))->status

Definition at line 1735 of file cairoint.h.

◆ _cairo_scaled_glyph_index

#define _cairo_scaled_glyph_index (   g)    ((g)->hash_entry.hash)

Definition at line 431 of file cairoint.h.

◆ _cairo_scaled_glyph_set_index

#define _cairo_scaled_glyph_set_index (   g,
  i 
)    ((g)->hash_entry.hash = (i))

Definition at line 432 of file cairoint.h.

◆ ARRAY_LENGTH

#define ARRAY_LENGTH (   __array)    ((int) (sizeof (__array) / sizeof (__array[0])))

Definition at line 137 of file cairoint.h.

◆ ASSERT_NOT_REACHED

#define ASSERT_NOT_REACHED
Value:
do { \
assert (!"reached"); \
} while (0)

Definition at line 155 of file cairoint.h.

◆ CAIRO_ALPHA_IS_CLEAR

#define CAIRO_ALPHA_IS_CLEAR (   alpha)    ((alpha) <= ((double)0x00ff / (double)0xffff))

Definition at line 164 of file cairoint.h.

◆ CAIRO_ALPHA_IS_OPAQUE

#define CAIRO_ALPHA_IS_OPAQUE (   alpha)    ((alpha) >= ((double)0xff00 / (double)0xffff))

Definition at line 167 of file cairoint.h.

◆ CAIRO_ALPHA_IS_ZERO

#define CAIRO_ALPHA_IS_ZERO (   alpha)    ((alpha) <= 0.0)

Definition at line 169 of file cairoint.h.

◆ CAIRO_ALPHA_SHORT_IS_CLEAR

#define CAIRO_ALPHA_SHORT_IS_CLEAR (   alpha)    ((alpha) <= 0x00ff)

Definition at line 165 of file cairoint.h.

◆ CAIRO_ALPHA_SHORT_IS_OPAQUE

#define CAIRO_ALPHA_SHORT_IS_OPAQUE (   alpha)    ((alpha) >= 0xff00)

Definition at line 168 of file cairoint.h.

◆ CAIRO_BITSWAP8

#define CAIRO_BITSWAP8 (   c)    ((((c) * 0x0802LU & 0x22110LU) | ((c) * 0x8020LU & 0x88440LU)) * 0x10101LU >> 16)

Definition at line 178 of file cairoint.h.

◆ CAIRO_BITSWAP8_IF_LITTLE_ENDIAN

#define CAIRO_BITSWAP8_IF_LITTLE_ENDIAN (   c)    CAIRO_BITSWAP8(c)

Definition at line 211 of file cairoint.h.

◆ CAIRO_COLOR_BLACK

#define CAIRO_COLOR_BLACK   _cairo_stock_color (CAIRO_STOCK_BLACK)

Definition at line 794 of file cairoint.h.

◆ CAIRO_COLOR_IS_CLEAR

#define CAIRO_COLOR_IS_CLEAR (   color)    CAIRO_ALPHA_SHORT_IS_CLEAR ((color)->alpha_short)

Definition at line 171 of file cairoint.h.

◆ CAIRO_COLOR_IS_OPAQUE

#define CAIRO_COLOR_IS_OPAQUE (   color)    CAIRO_ALPHA_SHORT_IS_OPAQUE ((color)->alpha_short)

Definition at line 172 of file cairoint.h.

◆ CAIRO_COLOR_TRANSPARENT

#define CAIRO_COLOR_TRANSPARENT   _cairo_stock_color (CAIRO_STOCK_TRANSPARENT)

Definition at line 795 of file cairoint.h.

◆ CAIRO_COLOR_WHITE

#define CAIRO_COLOR_WHITE   _cairo_stock_color (CAIRO_STOCK_WHITE)

Definition at line 793 of file cairoint.h.

◆ cairo_container_of

#define cairo_container_of (   ptr,
  type,
  member 
)     ((type *)((char *) (ptr) - (char *) &((type *)0)->member))

Definition at line 150 of file cairoint.h.

◆ CAIRO_CONTENT_VALID

#define CAIRO_CONTENT_VALID (   content)
Value:
((content) && \
== 0))
@ CAIRO_CONTENT_ALPHA
Definition: cairo.h:381
@ CAIRO_CONTENT_COLOR_ALPHA
Definition: cairo.h:382
@ CAIRO_CONTENT_COLOR
Definition: cairo.h:380

Definition at line 1546 of file cairoint.h.

◆ CAIRO_EXTEND_GRADIENT_DEFAULT

#define CAIRO_EXTEND_GRADIENT_DEFAULT   CAIRO_EXTEND_PAD

Definition at line 671 of file cairoint.h.

◆ CAIRO_EXTEND_SURFACE_DEFAULT

#define CAIRO_EXTEND_SURFACE_DEFAULT   CAIRO_EXTEND_NONE

Definition at line 670 of file cairoint.h.

◆ CAIRO_FILTER_DEFAULT

#define CAIRO_FILTER_DEFAULT   CAIRO_FILTER_GOOD

Definition at line 672 of file cairoint.h.

◆ CAIRO_FONT_FACE_BACKEND_DEFAULT

#define CAIRO_FONT_FACE_BACKEND_DEFAULT   &_cairo_win32_font_face_backend

Definition at line 699 of file cairoint.h.

◆ CAIRO_FONT_FAMILY_DEFAULT

#define CAIRO_FONT_FAMILY_DEFAULT   CAIRO_WIN32_FONT_FAMILY_DEFAULT

Definition at line 698 of file cairoint.h.

◆ CAIRO_FONT_SLANT_DEFAULT

#define CAIRO_FONT_SLANT_DEFAULT   CAIRO_FONT_SLANT_NORMAL

Definition at line 688 of file cairoint.h.

◆ CAIRO_FONT_WEIGHT_DEFAULT

#define CAIRO_FONT_WEIGHT_DEFAULT   CAIRO_FONT_WEIGHT_NORMAL

Definition at line 689 of file cairoint.h.

◆ CAIRO_FORMAT_VALID

#define CAIRO_FORMAT_VALID (   format)
Value:
@ CAIRO_FORMAT_RGB30
Definition: cairo.h:423
@ CAIRO_FORMAT_ARGB32
Definition: cairo.h:418
static int format
Definition: pbmclean.c:15

Definition at line 1538 of file cairoint.h.

◆ CAIRO_FT_FONT_FAMILY_DEFAULT

#define CAIRO_FT_FONT_FAMILY_DEFAULT   ""

Definition at line 693 of file cairoint.h.

◆ CAIRO_GSTATE_DEFAULT_FONT_SIZE

#define CAIRO_GSTATE_DEFAULT_FONT_SIZE   10.0

Definition at line 725 of file cairoint.h.

◆ CAIRO_GSTATE_FILL_RULE_DEFAULT

#define CAIRO_GSTATE_FILL_RULE_DEFAULT   CAIRO_FILL_RULE_WINDING

Definition at line 720 of file cairoint.h.

◆ CAIRO_GSTATE_LINE_CAP_DEFAULT

#define CAIRO_GSTATE_LINE_CAP_DEFAULT   CAIRO_LINE_CAP_BUTT

Definition at line 722 of file cairoint.h.

◆ CAIRO_GSTATE_LINE_JOIN_DEFAULT

#define CAIRO_GSTATE_LINE_JOIN_DEFAULT   CAIRO_LINE_JOIN_MITER

Definition at line 723 of file cairoint.h.

◆ CAIRO_GSTATE_LINE_WIDTH_DEFAULT

#define CAIRO_GSTATE_LINE_WIDTH_DEFAULT   2.0

Definition at line 721 of file cairoint.h.

◆ CAIRO_GSTATE_MITER_LIMIT_DEFAULT

#define CAIRO_GSTATE_MITER_LIMIT_DEFAULT   10.0

Definition at line 724 of file cairoint.h.

◆ CAIRO_GSTATE_OPERATOR_DEFAULT

#define CAIRO_GSTATE_OPERATOR_DEFAULT   CAIRO_OPERATOR_OVER

Definition at line 718 of file cairoint.h.

◆ CAIRO_GSTATE_TOLERANCE_DEFAULT

#define CAIRO_GSTATE_TOLERANCE_DEFAULT   0.1

Definition at line 719 of file cairoint.h.

◆ CAIRO_HAS_DEFLATE_STREAM

#define CAIRO_HAS_DEFLATE_STREAM   1

Definition at line 80 of file cairoint.h.

◆ CAIRO_HAS_FONT_SUBSET

#define CAIRO_HAS_FONT_SUBSET   1

Definition at line 87 of file cairoint.h.

◆ CAIRO_HAS_PDF_OPERATORS

#define CAIRO_HAS_PDF_OPERATORS   1

Definition at line 93 of file cairoint.h.

◆ CAIRO_HAS_UTF8_TO_UTF16

#define CAIRO_HAS_UTF8_TO_UTF16   1

Definition at line 1914 of file cairoint.h.

◆ CAIRO_QUARTZ_FONT_FAMILY_DEFAULT

#define CAIRO_QUARTZ_FONT_FAMILY_DEFAULT   "Helvetica"

Definition at line 692 of file cairoint.h.

◆ CAIRO_STRIDE_ALIGNMENT

#define CAIRO_STRIDE_ALIGNMENT   (sizeof (uint32_t))

Definition at line 1542 of file cairoint.h.

◆ CAIRO_STRIDE_FOR_WIDTH_BPP

#define CAIRO_STRIDE_FOR_WIDTH_BPP (   w,
  bpp 
)     ((((bpp)*(w)+7)/8 + CAIRO_STRIDE_ALIGNMENT-1) & -CAIRO_STRIDE_ALIGNMENT)

Definition at line 1543 of file cairoint.h.

◆ CAIRO_SURFACE_FALLBACK_RESOLUTION_DEFAULT

#define CAIRO_SURFACE_FALLBACK_RESOLUTION_DEFAULT   300.0

Definition at line 728 of file cairoint.h.

◆ CAIRO_SURFACE_RESOLUTION_DEFAULT

#define CAIRO_SURFACE_RESOLUTION_DEFAULT   72.0

Definition at line 727 of file cairoint.h.

◆ CAIRO_USER_FONT_FAMILY_DEFAULT

#define CAIRO_USER_FONT_FAMILY_DEFAULT   "@cairo:"

Definition at line 694 of file cairoint.h.

◆ CAIRO_WIN32_FONT_FAMILY_DEFAULT

#define CAIRO_WIN32_FONT_FAMILY_DEFAULT   "Arial"

Definition at line 691 of file cairoint.h.

◆ COMPILE_TIME_ASSERT

#define COMPILE_TIME_ASSERT (   condition)    COMPILE_TIME_ASSERT0(condition, __LINE__)

Definition at line 162 of file cairoint.h.

◆ COMPILE_TIME_ASSERT0

#define COMPILE_TIME_ASSERT0 (   condition,
  line 
)    COMPILE_TIME_ASSERT1(condition, line)

Definition at line 161 of file cairoint.h.

◆ COMPILE_TIME_ASSERT1

#define COMPILE_TIME_ASSERT1 (   condition,
  line 
)     typedef int compile_time_assertion_at_line_##line##_failed [(condition)?1:-1]

Definition at line 159 of file cairoint.h.

◆ FALSE

#define FALSE   0

Definition at line 117 of file cairoint.h.

◆ ISFINITE

#define ISFINITE (   x)    ((x) * (x) >= 0.) /* check for NaNs */

Definition at line 113 of file cairoint.h.

◆ M_PI

#define M_PI   3.14159265358979323846

Definition at line 125 of file cairoint.h.

◆ M_SQRT1_2

#define M_SQRT1_2   0.707106781186547524400844362104849039

Definition at line 133 of file cairoint.h.

◆ M_SQRT2

#define M_SQRT2   1.41421356237309504880

Definition at line 129 of file cairoint.h.

◆ MAX

#define MAX (   a,
  b 
)    ((a) > (b) ? (a) : (b))

Definition at line 108 of file cairoint.h.

◆ MIN

#define MIN (   a,
  b 
)    ((a) < (b) ? (a) : (b))

Definition at line 105 of file cairoint.h.

◆ STRINGIFY

#define STRINGIFY (   macro_or_string)    STRINGIFY_ARG (macro_or_string)

Definition at line 141 of file cairoint.h.

◆ STRINGIFY_ARG

#define STRINGIFY_ARG (   contents)    #contents

Definition at line 142 of file cairoint.h.

◆ TRACE

#define TRACE (   x)

Definition at line 2145 of file cairoint.h.

◆ TRACE_

#define TRACE_ (   x)

Definition at line 2146 of file cairoint.h.

◆ TRUE

#define TRUE   1

Definition at line 121 of file cairoint.h.

◆ VG

#define VG (   x)

Definition at line 2124 of file cairoint.h.

Typedef Documentation

◆ cairo_path_fixed_close_path_func_t

typedef cairo_status_t() cairo_path_fixed_close_path_func_t(void *closure)

Definition at line 1007 of file cairoint.h.

◆ cairo_path_fixed_curve_to_func_t

typedef cairo_status_t() cairo_path_fixed_curve_to_func_t(void *closure, const cairo_point_t *p0, const cairo_point_t *p1, const cairo_point_t *p2)

Definition at line 1001 of file cairoint.h.

◆ cairo_path_fixed_line_to_func_t

typedef cairo_status_t() cairo_path_fixed_line_to_func_t(void *closure, const cairo_point_t *point)

Definition at line 997 of file cairoint.h.

◆ cairo_path_fixed_move_to_func_t

typedef cairo_status_t() cairo_path_fixed_move_to_func_t(void *closure, const cairo_point_t *point)

Definition at line 993 of file cairoint.h.

◆ cairo_scaled_font_subset_t

◆ cairo_scaled_glyph_info_t

◆ cairo_stroke_face_t

◆ cairo_toy_font_face_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
CAIRO_OPERATOR_BOUND_BY_MASK 
CAIRO_OPERATOR_BOUND_BY_SOURCE 

Definition at line 782 of file cairoint.h.

◆ _cairo_scaled_glyph_info

Enumerator
CAIRO_SCALED_GLYPH_INFO_METRICS 
CAIRO_SCALED_GLYPH_INFO_SURFACE 
CAIRO_SCALED_GLYPH_INFO_PATH 
CAIRO_SCALED_GLYPH_INFO_RECORDING_SURFACE 
CAIRO_SCALED_GLYPH_INFO_COLOR_SURFACE 
CAIRO_SCALED_GLYPH_INFO_METRICS 
CAIRO_SCALED_GLYPH_INFO_SURFACE 
CAIRO_SCALED_GLYPH_INFO_PATH 
CAIRO_SCALED_GLYPH_INFO_RECORDING_SURFACE 
CAIRO_SCALED_GLYPH_INFO_COLOR_SURFACE 
CAIRO_SCALED_GLYPH_INFO_METRICS 
CAIRO_SCALED_GLYPH_INFO_SURFACE 
CAIRO_SCALED_GLYPH_INFO_PATH 
CAIRO_SCALED_GLYPH_INFO_RECORDING_SURFACE 
CAIRO_SCALED_GLYPH_INFO_COLOR_SURFACE 

Definition at line 482 of file cairoint.h.

Function Documentation

◆ _cairo_bentley_ottmann_tessellate_boxes()

cairo_status_t _cairo_bentley_ottmann_tessellate_boxes ( const cairo_boxes_t in,
cairo_fill_rule_t  fill_rule,
cairo_boxes_t out 
)

Definition at line 748 of file cairo-bentley-ottmann-rectangular.c.

◆ _cairo_bentley_ottmann_tessellate_polygon()

cairo_status_t _cairo_bentley_ottmann_tessellate_polygon ( cairo_traps_t traps,
const cairo_polygon_t polygon,
cairo_fill_rule_t  fill_rule 
)

Definition at line 1465 of file cairo-bentley-ottmann.c.

◆ _cairo_bentley_ottmann_tessellate_rectangular_traps()

cairo_status_t _cairo_bentley_ottmann_tessellate_rectangular_traps ( cairo_traps_t traps,
cairo_fill_rule_t  fill_rule 
)

Definition at line 668 of file cairo-bentley-ottmann-rectangular.c.

◆ _cairo_bentley_ottmann_tessellate_rectilinear_polygon()

cairo_status_t _cairo_bentley_ottmann_tessellate_rectilinear_polygon ( cairo_traps_t traps,
const cairo_polygon_t polygon,
cairo_fill_rule_t  fill_rule 
)

◆ _cairo_bentley_ottmann_tessellate_rectilinear_polygon_to_boxes()

cairo_status_t _cairo_bentley_ottmann_tessellate_rectilinear_polygon_to_boxes ( const cairo_polygon_t polygon,
cairo_fill_rule_t  fill_rule,
cairo_boxes_t boxes 
)

Definition at line 441 of file cairo-bentley-ottmann-rectilinear.c.

◆ _cairo_bentley_ottmann_tessellate_rectilinear_traps()

cairo_status_t _cairo_bentley_ottmann_tessellate_rectilinear_traps ( cairo_traps_t traps,
cairo_fill_rule_t  fill_rule 
)

Definition at line 507 of file cairo-bentley-ottmann-rectilinear.c.

◆ _cairo_bentley_ottmann_tessellate_traps()

cairo_status_t _cairo_bentley_ottmann_tessellate_traps ( cairo_traps_t traps,
cairo_fill_rule_t  fill_rule 
)

Definition at line 1571 of file cairo-bentley-ottmann.c.

◆ _cairo_box_add_curve_to()

void _cairo_box_add_curve_to ( cairo_box_t extents,
const cairo_point_t a,
const cairo_point_t b,
const cairo_point_t c,
const cairo_point_t d 
)

Definition at line 273 of file cairo-rectangle.c.

◆ _cairo_box_from_doubles()

void _cairo_box_from_doubles ( cairo_box_t box,
double *  x1,
double *  y1,
double *  x2,
double *  y2 
)

Definition at line 52 of file cairo-rectangle.c.

◆ _cairo_box_from_rectangle()

void _cairo_box_from_rectangle ( cairo_box_t box,
const cairo_rectangle_int_t rectangle 
)

Definition at line 74 of file cairo-rectangle.c.

◆ _cairo_box_intersects_line_segment()

cairo_bool_t _cairo_box_intersects_line_segment ( const cairo_box_t box,
cairo_line_t line 
)

Definition at line 192 of file cairo-rectangle.c.

◆ _cairo_box_round_to_rectangle()

void _cairo_box_round_to_rectangle ( const cairo_box_t box,
cairo_rectangle_int_t rectangle 
)

Definition at line 109 of file cairo-rectangle.c.

◆ _cairo_box_to_doubles()

void _cairo_box_to_doubles ( const cairo_box_t box,
double *  x1,
double *  y1,
double *  x2,
double *  y2 
)

Definition at line 63 of file cairo-rectangle.c.

◆ _cairo_boxes_get_extents()

void _cairo_boxes_get_extents ( const cairo_box_t boxes,
int  num_boxes,
cairo_box_t extents 
)

Definition at line 84 of file cairo-rectangle.c.

◆ _cairo_clip_reset_static_data()

void _cairo_clip_reset_static_data ( void  )

Definition at line 834 of file cairo-clip.c.

◆ _cairo_color_double_to_short()

uint16_t _cairo_color_double_to_short ( double  d)

Definition at line 85 of file cairo-color.c.

◆ _cairo_color_equal()

cairo_bool_t _cairo_color_equal ( const cairo_color_t color_a,
const cairo_color_t color_b 
)

Definition at line 149 of file cairo-color.c.

◆ _cairo_color_get_content()

cairo_content_t _cairo_color_get_content ( const cairo_color_t color)

Definition at line 180 of file cairo-color.c.

◆ _cairo_color_get_rgba()

void _cairo_color_get_rgba ( cairo_color_t color,
double *  red,
double *  green,
double *  blue,
double *  alpha 
)

Definition at line 122 of file cairo-color.c.

◆ _cairo_color_get_rgba_premultiplied()

void _cairo_color_get_rgba_premultiplied ( cairo_color_t color,
double *  red,
double *  green,
double *  blue,
double *  alpha 
)

Definition at line 135 of file cairo-color.c.

◆ _cairo_color_init_rgba()

void _cairo_color_init_rgba ( cairo_color_t color,
double  red,
double  green,
double  blue,
double  alpha 
)

Definition at line 100 of file cairo-color.c.

◆ _cairo_color_multiply_alpha()

void _cairo_color_multiply_alpha ( cairo_color_t color,
double  alpha 
)

Definition at line 113 of file cairo-color.c.

◆ _cairo_color_stop_equal()

cairo_bool_t _cairo_color_stop_equal ( const cairo_color_stop_t color_a,
const cairo_color_stop_t color_b 
)

Definition at line 167 of file cairo-color.c.

◆ _cairo_content_from_format()

cairo_content_t _cairo_content_from_format ( cairo_format_t  format)

Definition at line 693 of file cairo-image-surface.c.

◆ _cairo_content_from_pixman_format()

cairo_content_t _cairo_content_from_pixman_format ( pixman_format_code_t  pixman_format)

Definition at line 141 of file cairo-image-surface.c.

◆ _cairo_debug_print_clip()

void _cairo_debug_print_clip ( FILE stream,
const cairo_clip_t clip 
)

Definition at line 645 of file cairo-clip.c.

◆ _cairo_debug_print_matrix()

void _cairo_debug_print_matrix ( FILE file,
const cairo_matrix_t matrix 
)

Definition at line 309 of file cairo-debug.c.

◆ _cairo_debug_print_path()

void _cairo_debug_print_path ( FILE stream,
const cairo_path_fixed_t path 
)

Definition at line 242 of file cairo-debug.c.

◆ _cairo_debug_print_polygon()

void _cairo_debug_print_polygon ( FILE stream,
cairo_polygon_t polygon 
)

Definition at line 271 of file cairo-debug.c.

◆ _cairo_debug_print_rect()

void _cairo_debug_print_rect ( FILE file,
const cairo_rectangle_int_t rect 
)

Definition at line 318 of file cairo-debug.c.

◆ _cairo_debug_print_traps()

void _cairo_debug_print_traps ( FILE file,
const cairo_traps_t traps 
)

Definition at line 1030 of file cairo-traps.c.

◆ _cairo_default_context_reset_static_data()

void _cairo_default_context_reset_static_data ( void  )

Definition at line 62 of file cairo-default-context.c.

◆ _cairo_dummy_prototype()

int _cairo_dummy_prototype ( void  )

◆ _cairo_font_face_destroy()

cairo_bool_t _cairo_font_face_destroy ( void abstract_face)

Definition at line 151 of file cairo-font-face.c.

◆ _cairo_font_face_init()

void _cairo_font_face_init ( cairo_font_face_t font_face,
const cairo_font_face_backend_t backend 
)

Definition at line 93 of file cairo-font-face.c.

◆ _cairo_font_face_set_error()

cairo_status_t _cairo_font_face_set_error ( cairo_font_face_t font_face,
cairo_status_t  status 
)

Definition at line 79 of file cairo-font-face.c.

◆ _cairo_font_face_twin_create_fallback()

cairo_font_face_t* _cairo_font_face_twin_create_fallback ( void  )

Definition at line 722 of file cairo-font-face-twin.c.

◆ _cairo_font_face_twin_create_for_toy()

cairo_status_t _cairo_font_face_twin_create_for_toy ( cairo_toy_font_face_t toy_face,
cairo_font_face_t **  font_face 
)

Definition at line 736 of file cairo-font-face-twin.c.

◆ _cairo_font_options_fini()

void _cairo_font_options_fini ( cairo_font_options_t options)

Definition at line 158 of file cairo-font-options.c.

◆ _cairo_font_options_get_lcd_filter()

cairo_lcd_filter_t _cairo_font_options_get_lcd_filter ( const cairo_font_options_t options)

_cairo_font_options_get_lcd_filter: @options: a cairo_font_options_t

Gets the LCD filter for the font options object. See the documentation for cairo_lcd_filter_t for full details.

Return value: the LCD filter for the font options object

Definition at line 444 of file cairo-font-options.c.

◆ _cairo_font_options_get_round_glyph_positions()

cairo_round_glyph_positions_t _cairo_font_options_get_round_glyph_positions ( const cairo_font_options_t options)

_cairo_font_options_get_round_glyph_positions: @options: a cairo_font_options_t

Gets the glyph position rounding option for the font options object.

Return value: The round glyph posistions flag for the font options object.

Definition at line 479 of file cairo-font-options.c.

◆ _cairo_font_options_init_copy()

void _cairo_font_options_init_copy ( cairo_font_options_t options,
const cairo_font_options_t other 
)

Definition at line 81 of file cairo-font-options.c.

◆ _cairo_font_options_init_default()

void _cairo_font_options_init_default ( cairo_font_options_t options)

_cairo_font_options_init_default: @options: a cairo_font_options_t

Initializes all fields of the font options object to default values.

Definition at line 69 of file cairo-font-options.c.

◆ _cairo_font_options_set_lcd_filter()

void _cairo_font_options_set_lcd_filter ( cairo_font_options_t options,
cairo_lcd_filter_t  lcd_filter 
)

_cairo_font_options_set_lcd_filter: @options: a cairo_font_options_t @lcd_filter: the new LCD filter

Sets the LCD filter for the font options object. The LCD filter specifies how pixels are filtered when rendered with an antialiasing mode of CAIRO_ANTIALIAS_SUBPIXEL. See the documentation for cairo_lcd_filter_t for full details.

Definition at line 425 of file cairo-font-options.c.

◆ _cairo_font_options_set_round_glyph_positions()

void _cairo_font_options_set_round_glyph_positions ( cairo_font_options_t options,
cairo_round_glyph_positions_t  round 
)

_cairo_font_options_set_round_glyph_positions: @options: a cairo_font_options_t @round: the new rounding value

Sets the rounding options for the font options object. If rounding is set, a glyph's position will be rounded to integer values.

Definition at line 461 of file cairo-font-options.c.

◆ _cairo_fopen()

cairo_status_t _cairo_fopen ( const char *  filename,
const char *  mode,
FILE **  file_out 
)

_cairo_fopen: @filename: filename to open @mode: mode string with which to open the file @file_out: reference to file handle

Exactly like the C library function, but possibly doing encoding conversion on the filename. On all platforms, the filename is passed directly to the system, but on Windows, the filename is interpreted as UTF-8, rather than in a codepage that would depend on system settings.

Return value: CAIRO_STATUS_SUCCESS when the filename was converted successfully to the native encoding, or the error reported by _cairo_utf8_to_utf16 otherwise. To check if the file handle could be obtained, dereference file_out and compare its value against NULL

Definition at line 904 of file cairo-misc.c.

◆ _cairo_format_bits_per_pixel()

int _cairo_format_bits_per_pixel ( cairo_format_t  format)

Definition at line 716 of file cairo-image-surface.c.

◆ _cairo_format_from_content()

cairo_format_t _cairo_format_from_content ( cairo_content_t  content)

Definition at line 677 of file cairo-image-surface.c.

◆ _cairo_format_from_pixman_format()

cairo_format_t _cairo_format_from_pixman_format ( pixman_format_code_t  pixman_format)

Definition at line 93 of file cairo-image-surface.c.

◆ _cairo_format_to_pixman_format_code()

pixman_format_code_t _cairo_format_to_pixman_format_code ( cairo_format_t  format)

Definition at line 306 of file cairo-image-surface.c.

◆ _cairo_ft_font_reset_static_data()

void _cairo_ft_font_reset_static_data ( void  )

Definition at line 3932 of file cairo-ft-font.c.

◆ _cairo_get_locale_decimal_point()

const char* _cairo_get_locale_decimal_point ( void  )

Definition at line 781 of file cairo-misc.c.

◆ _cairo_half_from_float()

uint16_t _cairo_half_from_float ( float  f)

Definition at line 724 of file cairo-misc.c.

◆ _cairo_hash_bytes()

unsigned long _cairo_hash_bytes ( unsigned long  hash,
const void bytes,
unsigned int  length 
)

Definition at line 329 of file cairo-cache.c.

◆ _cairo_hash_string()

unsigned long _cairo_hash_string ( const char *  c)

Definition at line 319 of file cairo-cache.c.

◆ _cairo_hull_compute()

cairo_status_t _cairo_hull_compute ( cairo_pen_vertex_t vertices,
int num_vertices 
)

Definition at line 205 of file cairo-hull.c.

◆ _cairo_image_analyze_color()

cairo_image_color_t _cairo_image_analyze_color ( cairo_image_surface_t image)

Definition at line 1284 of file cairo-image-surface.c.

◆ _cairo_image_analyze_transparency()

cairo_image_transparency_t _cairo_image_analyze_transparency ( cairo_image_surface_t image)

Definition at line 1212 of file cairo-image-surface.c.

◆ _cairo_image_compositor_reset_static_data()

void _cairo_image_compositor_reset_static_data ( void  )

Definition at line 961 of file cairo-image-compositor.c.

◆ _cairo_image_reset_static_data()

void _cairo_image_reset_static_data ( void  )

Definition at line 268 of file cairo-image-source.c.

◆ _cairo_image_scaled_glyph_fini()

void _cairo_image_scaled_glyph_fini ( cairo_scaled_font_t scaled_font,
cairo_scaled_glyph_t scaled_glyph 
)

Definition at line 966 of file cairo-image-compositor.c.

◆ _cairo_image_surface_assume_ownership_of_data()

void _cairo_image_surface_assume_ownership_of_data ( cairo_image_surface_t surface)

Definition at line 865 of file cairo-image-surface.c.

◆ _cairo_image_surface_coerce()

cairo_image_surface_t* _cairo_image_surface_coerce ( cairo_image_surface_t surface)

Definition at line 1059 of file cairo-image-surface.c.

◆ _cairo_image_surface_coerce_to_format()

cairo_image_surface_t* _cairo_image_surface_coerce_to_format ( cairo_image_surface_t surface,
cairo_format_t  format 
)

Definition at line 1068 of file cairo-image-surface.c.

◆ _cairo_image_surface_create_for_pixman_image()

cairo_surface_t* _cairo_image_surface_create_for_pixman_image ( pixman_image_t pixman_image,
pixman_format_code_t  pixman_format 
)

Definition at line 180 of file cairo-image-surface.c.

◆ _cairo_image_surface_create_with_content()

cairo_surface_t* _cairo_image_surface_create_with_content ( cairo_content_t  content,
int  width,
int  height 
)

Definition at line 407 of file cairo-image-surface.c.

◆ _cairo_image_surface_create_with_pixman_format()

cairo_surface_t* _cairo_image_surface_create_with_pixman_format ( unsigned char *  data,
pixman_format_code_t  pixman_format,
int  width,
int  height,
int  stride 
)

Definition at line 335 of file cairo-image-surface.c.

◆ _cairo_intern_string()

cairo_status_t _cairo_intern_string ( const char **  str_inout,
int  len 
)

Definition at line 1045 of file cairo-misc.c.

◆ _cairo_intern_string_reset_static_data()

void _cairo_intern_string_reset_static_data ( void  )

Definition at line 1107 of file cairo-misc.c.

◆ _cairo_is_little_endian()

◆ _cairo_isalpha()

static int _cairo_isalpha ( int  c)
inlinestatic

Definition at line 292 of file cairoint.h.

References c.

Referenced by parse_name().

◆ _cairo_isdigit()

◆ _cairo_isspace()

◆ _cairo_lround()

◆ _cairo_lzw_compress()

unsigned char* _cairo_lzw_compress ( unsigned char *  data,
unsigned long *  size_in_out 
)

Definition at line 326 of file cairo-lzw.c.

◆ _cairo_matrix_compute_basis_scale_factors()

cairo_status_t _cairo_matrix_compute_basis_scale_factors ( const cairo_matrix_t matrix,
double *  basis_scale,
double *  normal_scale,
cairo_bool_t  x_basis 
)

_cairo_matrix_compute_basis_scale_factors: @matrix: a matrix @basis_scale: the scale factor in the direction of basis @normal_scale: the scale factor in the direction normal to the basis @x_basis: basis to use. X basis if true, Y basis otherwise.

Computes |Mv| and det(M)/|Mv| for v=[1,0] if x_basis is true, and v=[0,1] otherwise, and M is @matrix.

Return value: the scale factor of @matrix on the height of the font, or 1.0 if @matrix is NULL.

Definition at line 674 of file cairo-matrix.c.

◆ _cairo_matrix_compute_determinant()

double _cairo_matrix_compute_determinant ( const cairo_matrix_t matrix)

Definition at line 650 of file cairo-matrix.c.

◆ _cairo_matrix_get_affine()

void _cairo_matrix_get_affine ( const cairo_matrix_t matrix,
double *  xx,
double *  yx,
double *  xy,
double *  yy,
double *  x0,
double *  y0 
)

_cairo_matrix_get_affine: @matrix: a cairo_matrix_t @xx: location to store xx component of matrix @yx: location to store yx component of matrix @xy: location to store xy component of matrix @yy: location to store yy component of matrix @x0: location to store x0 (X-translation component) of matrix, or NULL @y0: location to store y0 (Y-translation component) of matrix, or NULL

Gets the matrix values for the affine transformation that @matrix represents. See cairo_matrix_init().

This function is a leftover from the old public API, but is still mildly useful as an internal means for getting at the matrix members in a positional way. For example, when reassigning to some external matrix type, or when renaming members to more meaningful names (such as a,b,c,d,e,f) for particular manipulations.

Definition at line 144 of file cairo-matrix.c.

◆ _cairo_matrix_has_unity_scale()

cairo_bool_t _cairo_matrix_has_unity_scale ( const cairo_matrix_t matrix)

Definition at line 754 of file cairo-matrix.c.

◆ _cairo_matrix_is_identity()

static cairo_bool_t _cairo_matrix_is_identity ( const cairo_matrix_t matrix)
inlinestatic

◆ _cairo_matrix_is_integer_translation()

cairo_bool_t _cairo_matrix_is_integer_translation ( const cairo_matrix_t matrix,
int itx,
int ity 
)

Definition at line 722 of file cairo-matrix.c.

◆ _cairo_matrix_is_invertible()

cairo_bool_t _cairo_matrix_is_invertible ( const cairo_matrix_t matrix)

Definition at line 631 of file cairo-matrix.c.

◆ _cairo_matrix_is_pixel_exact()

cairo_bool_t _cairo_matrix_is_pixel_exact ( const cairo_matrix_t matrix)

Definition at line 779 of file cairo-matrix.c.

◆ _cairo_matrix_is_pixman_translation()

cairo_bool_t _cairo_matrix_is_pixman_translation ( const cairo_matrix_t matrix,
cairo_filter_t  filter,
int x_offset,
int y_offset 
)

_cairo_matrix_is_pixman_translation: @matrix: a matrix @filter: the filter to be used on the pattern transformed by @matrix @x_offset: the translation in the X direction @y_offset: the translation in the Y direction

Checks if @matrix translated by (x_offset, y_offset) can be represented using just an offset (within the range pixman can accept) and an identity matrix.

Passing a non-zero value in x_offset/y_offset has the same effect as applying cairo_matrix_translate(matrix, x_offset, y_offset) and setting x_offset and y_offset to 0.

Upon return x_offset and y_offset contain the translation vector if the return value is TRUE. If the return value is FALSE, they will not be modified.

Return value: TRUE if @matrix can be represented as a pixman translation, FALSE otherwise.

Definition at line 1066 of file cairo-matrix.c.

◆ _cairo_matrix_is_scale()

static cairo_bool_t _cairo_matrix_is_scale ( const cairo_matrix_t matrix)
inlinestatic

Definition at line 1801 of file cairoint.h.

References matrix().

Referenced by _cairo_rectilinear_stroker_init().

◆ _cairo_matrix_is_scale_0()

cairo_bool_t _cairo_matrix_is_scale_0 ( const cairo_matrix_t matrix)

Definition at line 641 of file cairo-matrix.c.

◆ _cairo_matrix_is_translation()

◆ _cairo_matrix_multiply()

void _cairo_matrix_multiply ( cairo_matrix_t r,
const cairo_matrix_t a,
const cairo_matrix_t b 
)

Definition at line 349 of file cairo-matrix.c.

◆ _cairo_matrix_to_pixman_matrix_offset()

cairo_status_t _cairo_matrix_to_pixman_matrix_offset ( const cairo_matrix_t matrix,
cairo_filter_t  filter,
double  xc,
double  yc,
pixman_transform_t out_transform,
int x_offset,
int y_offset 
)

_cairo_matrix_to_pixman_matrix_offset: @matrix: a matrix @filter: the filter to be used on the pattern transformed by @matrix @xc: the X coordinate of the point to fix in pattern space @yc: the Y coordinate of the point to fix in pattern space @out_transform: the transformation which best approximates @matrix @x_offset: the translation in the X direction @y_offset: the translation in the Y direction

This function tries to represent @matrix translated by (x_offset, y_offset) as a pixman_transform_t and an translation.

Passing a non-zero value in x_offset/y_offset has the same effect as applying cairo_matrix_translate(matrix, x_offset, y_offset) and setting x_offset and y_offset to 0.

If it is possible to represent the matrix with an identity pixman_transform_t and a translation within the valid range for pixman, this function will set @out_transform to be the identity, @x_offset and @y_offset to be the translation vector and will return CAIRO_INT_STATUS_NOTHING_TO_DO. Otherwise it will try to evenly divide the translational component of @matrix between @out_transform and (@x_offset, @y_offset).

Upon return x_offset and y_offset contain the translation vector.

Return value: CAIRO_INT_STATUS_NOTHING_TO_DO if the out_transform is the identity, CAIRO_STATUS_INVALID_MATRIX if it was not possible to represent @matrix as a pixman_transform_t without overflows, CAIRO_STATUS_SUCCESS otherwise.

Definition at line 1130 of file cairo-matrix.c.

◆ _cairo_matrix_transform_bounding_box()

void _cairo_matrix_transform_bounding_box ( const cairo_matrix_t matrix,
double *  x1,
double *  y1,
double *  x2,
double *  y2,
cairo_bool_t is_tight 
)

Definition at line 420 of file cairo-matrix.c.

◆ _cairo_matrix_transform_bounding_box_fixed()

void _cairo_matrix_transform_bounding_box_fixed ( const cairo_matrix_t matrix,
cairo_box_t bbox,
cairo_bool_t is_tight 
)

Definition at line 525 of file cairo-matrix.c.

◆ _cairo_matrix_transformed_circle_major_axis()

double _cairo_matrix_transformed_circle_major_axis ( const cairo_matrix_t matrix,
double  radius 
)

Definition at line 914 of file cairo-matrix.c.

◆ _cairo_observers_notify()

void _cairo_observers_notify ( cairo_list_t observers,
void arg 
)

Definition at line 42 of file cairo-observer.c.

◆ _cairo_operator_bounded_by_either()

uint32_t _cairo_operator_bounded_by_either ( cairo_operator_t  op)

Definition at line 466 of file cairo-misc.c.

◆ _cairo_operator_bounded_by_mask()

cairo_bool_t _cairo_operator_bounded_by_mask ( cairo_operator_t  op)

_cairo_operator_bounded_by_mask: @op: a cairo_operator_t

A bounded operator is one where mask pixel of zero results in no effect on the destination image.

Unbounded operators often require special handling; if you, for example, draw trapezoids with an unbounded operator, the effect extends past the bounding box of the trapezoids.

Return value: TRUE if the operator is bounded by the mask operand

Definition at line 370 of file cairo-misc.c.

◆ _cairo_operator_bounded_by_source()

cairo_bool_t _cairo_operator_bounded_by_source ( cairo_operator_t  op)

_cairo_operator_bounded_by_source: @op: a cairo_operator_t

A bounded operator is one where source pixels of zero (in all four components, r, g, b and a) effect no change in the resulting destination image.

Unbounded operators often require special handling; if you, for example, copy a surface with the SOURCE operator, the effect extends past the bounding box of the source surface.

Return value: TRUE if the operator is bounded by the source operand

Definition at line 425 of file cairo-misc.c.

◆ _cairo_path_bounder_extents()

cairo_bool_t _cairo_path_bounder_extents ( const cairo_path_fixed_t path,
cairo_box_t box 
)

Definition at line 102 of file cairo-path-bounds.c.

◆ _cairo_path_fixed_approximate_clip_extents()

void _cairo_path_fixed_approximate_clip_extents ( const cairo_path_fixed_t path,
cairo_rectangle_int_t extents 
)

Definition at line 124 of file cairo-path-bounds.c.

◆ _cairo_path_fixed_approximate_fill_extents()

void _cairo_path_fixed_approximate_fill_extents ( const cairo_path_fixed_t path,
cairo_rectangle_int_t extents 
)

Definition at line 131 of file cairo-path-bounds.c.

◆ _cairo_path_fixed_approximate_stroke_extents()

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 
)

Definition at line 154 of file cairo-path-bounds.c.

◆ _cairo_path_fixed_close_path()

cairo_status_t _cairo_path_fixed_close_path ( cairo_path_fixed_t path)

Definition at line 647 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_create()

cairo_path_fixed_t* _cairo_path_fixed_create ( void  )

Definition at line 324 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_curve_to()

cairo_status_t _cairo_path_fixed_curve_to ( cairo_path_fixed_t path,
cairo_fixed_t  x0,
cairo_fixed_t  y0,
cairo_fixed_t  x1,
cairo_fixed_t  y1,
cairo_fixed_t  x2,
cairo_fixed_t  y2 
)

Definition at line 568 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_destroy()

void _cairo_path_fixed_destroy ( cairo_path_fixed_t path)

Definition at line 354 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_extents()

cairo_bool_t _cairo_path_fixed_extents ( const cairo_path_fixed_t path,
cairo_box_t box 
)

Definition at line 225 of file cairo-path-bounds.c.

◆ _cairo_path_fixed_fill_extents()

void _cairo_path_fixed_fill_extents ( const cairo_path_fixed_t path,
cairo_fill_rule_t  fill_rule,
double  tolerance,
cairo_rectangle_int_t extents 
)

Definition at line 138 of file cairo-path-bounds.c.

◆ _cairo_path_fixed_fill_rectilinear_to_boxes()

cairo_status_t _cairo_path_fixed_fill_rectilinear_to_boxes ( const cairo_path_fixed_t path,
cairo_fill_rule_t  fill_rule,
cairo_antialias_t  antialias,
cairo_boxes_t boxes 
)

Definition at line 298 of file cairo-path-fill.c.

◆ _cairo_path_fixed_fill_rectilinear_to_polygon()

cairo_status_t _cairo_path_fixed_fill_rectilinear_to_polygon ( const cairo_path_fixed_t path,
cairo_antialias_t  antialias,
cairo_polygon_t polygon 
)

Definition at line 217 of file cairo-path-fill.c.

◆ _cairo_path_fixed_fill_rectilinear_to_region()

cairo_region_t* _cairo_path_fixed_fill_rectilinear_to_region ( const cairo_path_fixed_t path,
cairo_fill_rule_t  fill_rule,
const cairo_rectangle_int_t extents 
)

◆ _cairo_path_fixed_fill_to_polygon()

cairo_status_t _cairo_path_fixed_fill_to_polygon ( const cairo_path_fixed_t path,
double  tolerance,
cairo_polygon_t polygon 
)

Definition at line 126 of file cairo-path-fill.c.

◆ _cairo_path_fixed_fill_to_traps()

cairo_status_t _cairo_path_fixed_fill_to_traps ( const cairo_path_fixed_t path,
cairo_fill_rule_t  fill_rule,
double  tolerance,
cairo_traps_t traps 
)

Definition at line 247 of file cairo-path-fill.c.

◆ _cairo_path_fixed_fini()

void _cairo_path_fixed_fini ( cairo_path_fixed_t path)

Definition at line 339 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_get_current_point()

cairo_bool_t _cairo_path_fixed_get_current_point ( cairo_path_fixed_t path,
cairo_fixed_t x,
cairo_fixed_t y 
)

Definition at line 679 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_in_fill()

cairo_bool_t _cairo_path_fixed_in_fill ( const cairo_path_fixed_t path,
cairo_fill_rule_t  fill_rule,
double  tolerance,
double  x,
double  y 
)

Definition at line 247 of file cairo-path-in-fill.c.

◆ _cairo_path_fixed_init()

void _cairo_path_fixed_init ( cairo_path_fixed_t path)

Definition at line 73 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_init_copy()

cairo_status_t _cairo_path_fixed_init_copy ( cairo_path_fixed_t path,
const cairo_path_fixed_t other 
)

Definition at line 104 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_interpret()

cairo_status_t _cairo_path_fixed_interpret ( const cairo_path_fixed_t path,
cairo_path_fixed_move_to_func_t move_to,
cairo_path_fixed_line_to_func_t line_to,
cairo_path_fixed_curve_to_func_t curve_to,
cairo_path_fixed_close_path_func_t close_path,
void closure 
)

Definition at line 810 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_interpret_flat()

cairo_status_t _cairo_path_fixed_interpret_flat ( const cairo_path_fixed_t path,
cairo_path_fixed_move_to_func_t move_to,
cairo_path_fixed_line_to_func_t line_to,
cairo_path_fixed_close_path_func_t close_path,
void closure,
double  tolerance 
)

Definition at line 1170 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_is_box()

cairo_bool_t _cairo_path_fixed_is_box ( const cairo_path_fixed_t path,
cairo_box_t box 
)

Definition at line 1285 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_is_rectangle()

cairo_bool_t _cairo_path_fixed_is_rectangle ( const cairo_path_fixed_t path,
cairo_box_t box 
)

Definition at line 1444 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_line_to()

cairo_status_t _cairo_path_fixed_line_to ( cairo_path_fixed_t path,
cairo_fixed_t  x,
cairo_fixed_t  y 
)

Definition at line 471 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_move_to()

cairo_status_t _cairo_path_fixed_move_to ( cairo_path_fixed_t path,
cairo_fixed_t  x,
cairo_fixed_t  y 
)

Definition at line 400 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_new_sub_path()

void _cairo_path_fixed_new_sub_path ( cairo_path_fixed_t path)

Definition at line 440 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_rel_curve_to()

cairo_status_t _cairo_path_fixed_rel_curve_to ( cairo_path_fixed_t path,
cairo_fixed_t  dx0,
cairo_fixed_t  dy0,
cairo_fixed_t  dx1,
cairo_fixed_t  dy1,
cairo_fixed_t  dx2,
cairo_fixed_t  dy2 
)

Definition at line 627 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_rel_line_to()

cairo_status_t _cairo_path_fixed_rel_line_to ( cairo_path_fixed_t path,
cairo_fixed_t  dx,
cairo_fixed_t  dy 
)

Definition at line 555 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_rel_move_to()

cairo_status_t _cairo_path_fixed_rel_move_to ( cairo_path_fixed_t path,
cairo_fixed_t  dx,
cairo_fixed_t  dy 
)

Definition at line 457 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_stroke_dashed_to_polygon()

cairo_status_t _cairo_path_fixed_stroke_dashed_to_polygon ( const cairo_path_fixed_t path,
const cairo_stroke_style_t stroke_style,
const cairo_matrix_t ctm,
const cairo_matrix_t ctm_inverse,
double  tolerance,
cairo_polygon_t polygon 
)

Definition at line 1413 of file cairo-path-stroke.c.

◆ _cairo_path_fixed_stroke_extents()

cairo_status_t _cairo_path_fixed_stroke_extents ( const cairo_path_fixed_t path,
const cairo_stroke_style_t style,
const cairo_matrix_t ctm,
const cairo_matrix_t ctm_inverse,
double  tolerance,
cairo_rectangle_int_t extents 
)

Definition at line 191 of file cairo-path-bounds.c.

◆ _cairo_path_fixed_stroke_polygon_to_traps()

cairo_int_status_t _cairo_path_fixed_stroke_polygon_to_traps ( const cairo_path_fixed_t path,
const cairo_stroke_style_t stroke_style,
const cairo_matrix_t ctm,
const cairo_matrix_t ctm_inverse,
double  tolerance,
cairo_traps_t traps 
)

Definition at line 1454 of file cairo-path-stroke.c.

◆ _cairo_path_fixed_stroke_rectilinear_to_boxes()

cairo_int_status_t _cairo_path_fixed_stroke_rectilinear_to_boxes ( const cairo_path_fixed_t path,
const cairo_stroke_style_t stroke_style,
const cairo_matrix_t ctm,
cairo_antialias_t  antialias,
cairo_boxes_t boxes 
)

Definition at line 610 of file cairo-path-stroke-boxes.c.

◆ _cairo_path_fixed_stroke_to_polygon()

cairo_status_t _cairo_path_fixed_stroke_to_polygon ( const cairo_path_fixed_t path,
const cairo_stroke_style_t stroke_style,
const cairo_matrix_t ctm,
const cairo_matrix_t ctm_inverse,
double  tolerance,
cairo_polygon_t polygon 
)

Definition at line 1245 of file cairo-path-stroke-polygon.c.

◆ _cairo_path_fixed_stroke_to_shaper()

cairo_status_t _cairo_path_fixed_stroke_to_shaper ( cairo_path_fixed_t path,
const cairo_stroke_style_t stroke_style,
const cairo_matrix_t ctm,
const cairo_matrix_t ctm_inverse,
double  tolerance,
cairo_status_t(*)(void *closure, const cairo_point_t triangle[3])  add_triangle,
cairo_status_t(*)(void *closure, const cairo_point_t *midpt, const cairo_point_t *points, int npoints add_triangle_fan,
cairo_status_t(*)(void *closure, const cairo_point_t quad[4])  add_quad,
void closure 
)

Definition at line 1362 of file cairo-path-stroke.c.

◆ _cairo_path_fixed_stroke_to_traps()

cairo_int_status_t _cairo_path_fixed_stroke_to_traps ( const cairo_path_fixed_t path,
const cairo_stroke_style_t stroke_style,
const cairo_matrix_t ctm,
const cairo_matrix_t ctm_inverse,
double  tolerance,
cairo_traps_t traps 
)

Definition at line 1113 of file cairo-path-stroke-traps.c.

◆ _cairo_path_fixed_stroke_to_tristrip()

cairo_int_status_t _cairo_path_fixed_stroke_to_tristrip ( const cairo_path_fixed_t path,
const cairo_stroke_style_t style,
const cairo_matrix_t ctm,
const cairo_matrix_t ctm_inverse,
double  tolerance,
cairo_tristrip_t strip 
)

Definition at line 1033 of file cairo-path-stroke-tristrip.c.

◆ _cairo_path_fixed_transform()

void _cairo_path_fixed_transform ( cairo_path_fixed_t path,
const cairo_matrix_t matrix 
)

_cairo_path_fixed_transform: @path: a cairo_path_fixed_t to be transformed @matrix: a cairo_matrix_t

Transform the fixed-point path according to the given matrix. There is a fast path for the case where @matrix has no rotation or shear.

Definition at line 1048 of file cairo-path-fixed.c.

◆ _cairo_pattern_reset_static_data()

void _cairo_pattern_reset_static_data ( void  )

Definition at line 4661 of file cairo-pattern.c.

◆ _cairo_pen_add_points()

cairo_status_t _cairo_pen_add_points ( cairo_pen_t pen,
cairo_point_t point,
int  num_points 
)

Definition at line 139 of file cairo-pen.c.

◆ _cairo_pen_find_active_ccw_vertex_index()

int _cairo_pen_find_active_ccw_vertex_index ( const cairo_pen_t pen,
const cairo_slope_t slope 
)

Definition at line 365 of file cairo-pen.c.

◆ _cairo_pen_find_active_ccw_vertices()

void _cairo_pen_find_active_ccw_vertices ( const cairo_pen_t pen,
const cairo_slope_t in,
const cairo_slope_t out,
int start,
int stop 
)

Definition at line 436 of file cairo-pen.c.

◆ _cairo_pen_find_active_cw_vertex_index()

int _cairo_pen_find_active_cw_vertex_index ( const cairo_pen_t pen,
const cairo_slope_t slope 
)

Definition at line 337 of file cairo-pen.c.

◆ _cairo_pen_find_active_cw_vertices()

void _cairo_pen_find_active_cw_vertices ( const cairo_pen_t pen,
const cairo_slope_t in,
const cairo_slope_t out,
int start,
int stop 
)

Definition at line 393 of file cairo-pen.c.

◆ _cairo_pen_fini()

void _cairo_pen_fini ( cairo_pen_t pen)

Definition at line 103 of file cairo-pen.c.

◆ _cairo_pen_init()

cairo_status_t _cairo_pen_init ( cairo_pen_t pen,
double  radius,
double  tolerance,
const cairo_matrix_t ctm 
)

Definition at line 48 of file cairo-pen.c.

◆ _cairo_pen_init_copy()

cairo_status_t _cairo_pen_init_copy ( cairo_pen_t pen,
const cairo_pen_t other 
)

Definition at line 113 of file cairo-pen.c.

◆ _cairo_pen_init_empty()

void _cairo_pen_init_empty ( cairo_pen_t pen)

◆ _cairo_pen_vertices_needed()

int _cairo_pen_vertices_needed ( double  tolerance,
double  radius,
const cairo_matrix_t matrix 
)

Definition at line 274 of file cairo-pen.c.

◆ _cairo_polygon_add_contour()

cairo_status_t _cairo_polygon_add_contour ( cairo_polygon_t polygon,
const cairo_contour_t contour 
)

Definition at line 562 of file cairo-polygon.c.

◆ _cairo_polygon_add_external_edge()

cairo_status_t _cairo_polygon_add_external_edge ( void polygon,
const cairo_point_t p1,
const cairo_point_t p2 
)

Definition at line 526 of file cairo-polygon.c.

◆ _cairo_polygon_add_line()

cairo_status_t _cairo_polygon_add_line ( cairo_polygon_t polygon,
const cairo_line_t line,
int  top,
int  bottom,
int  dir 
)

Definition at line 535 of file cairo-polygon.c.

◆ _cairo_polygon_fini()

void _cairo_polygon_fini ( cairo_polygon_t polygon)

Definition at line 246 of file cairo-polygon.c.

◆ _cairo_polygon_init()

void _cairo_polygon_init ( cairo_polygon_t polygon,
const cairo_box_t boxes,
int  num_boxes 
)

Definition at line 121 of file cairo-polygon.c.

◆ _cairo_polygon_init_box_array()

cairo_status_t _cairo_polygon_init_box_array ( cairo_polygon_t polygon,
cairo_box_t boxes,
int  num_boxes 
)

Definition at line 199 of file cairo-polygon.c.

◆ _cairo_polygon_init_boxes()

cairo_status_t _cairo_polygon_init_boxes ( cairo_polygon_t polygon,
const cairo_boxes_t boxes 
)

Definition at line 151 of file cairo-polygon.c.

◆ _cairo_polygon_init_with_clip()

void _cairo_polygon_init_with_clip ( cairo_polygon_t polygon,
const cairo_clip_t clip 
)

Definition at line 141 of file cairo-polygon.c.

◆ _cairo_polygon_intersect()

cairo_status_t _cairo_polygon_intersect ( cairo_polygon_t a,
int  winding_a,
cairo_polygon_t b,
int  winding_b 
)

Definition at line 1306 of file cairo-polygon-intersect.c.

◆ _cairo_polygon_intersect_with_boxes()

cairo_status_t _cairo_polygon_intersect_with_boxes ( cairo_polygon_t polygon,
cairo_fill_rule_t winding,
cairo_box_t boxes,
int  num_boxes 
)

Definition at line 1422 of file cairo-polygon-intersect.c.

◆ _cairo_polygon_is_empty()

static cairo_bool_t _cairo_polygon_is_empty ( const cairo_polygon_t polygon)
inlinestatic

Definition at line 1728 of file cairoint.h.

References polygon::num_edges.

Referenced by clip_and_composite_polygon().

◆ _cairo_polygon_limit()

void _cairo_polygon_limit ( cairo_polygon_t polygon,
const cairo_box_t limits,
int  num_limits 
)

Definition at line 83 of file cairo-polygon.c.

◆ _cairo_polygon_limit_to_clip()

void _cairo_polygon_limit_to_clip ( cairo_polygon_t polygon,
const cairo_clip_t clip 
)

Definition at line 111 of file cairo-polygon.c.

◆ _cairo_polygon_reduce()

cairo_status_t _cairo_polygon_reduce ( cairo_polygon_t polygon,
cairo_fill_rule_t  fill_rule 
)

Definition at line 1369 of file cairo-polygon-reduce.c.

◆ _cairo_polygon_translate()

void _cairo_polygon_translate ( cairo_polygon_t polygon,
int  dx,
int  dy 
)

Definition at line 585 of file cairo-polygon.c.

◆ _cairo_popcount()

static int _cairo_popcount ( uint32_t  mask)
inlinestatic

Definition at line 188 of file cairoint.h.

References mask, and y.

Referenced by _characterize_field(), and _pixman_format_from_masks().

◆ _cairo_rectangle_contains_rectangle()

◆ _cairo_rectangle_int_from_double()

void _cairo_rectangle_int_from_double ( cairo_rectangle_int_t recti,
const cairo_rectangle_t rectf 
)

Definition at line 292 of file cairo-rectangle.c.

◆ _cairo_rectangle_intersect()

cairo_bool_t _cairo_rectangle_intersect ( cairo_rectangle_int_t dst,
const cairo_rectangle_int_t src 
)

Definition at line 119 of file cairo-rectangle.c.

◆ _cairo_rectangle_intersects()

static cairo_bool_t _cairo_rectangle_intersects ( const cairo_rectangle_int_t dst,
const cairo_rectangle_int_t src 
)
inlinestatic

Definition at line 347 of file cairoint.h.

References link_confs::dst, int(), and link_confs::src.

Referenced by _cairo_recording_surface_replay_internal().

◆ _cairo_rectangle_union()

void _cairo_rectangle_union ( cairo_rectangle_int_t dst,
const cairo_rectangle_int_t src 
)

Definition at line 153 of file cairo-rectangle.c.

◆ _cairo_restrict_value()

static double _cairo_restrict_value ( double  value,
double  min,
double  max 
)
inlinestatic

◆ _cairo_round()

static double _cairo_round ( double  r)
inlinestatic

Definition at line 757 of file cairoint.h.

References floor, and r.

Referenced by _cairo_lround(), cairo_cff_font_read_font_metrics(), and percent().

◆ _cairo_scaled_font_create_in_error()

cairo_scaled_font_t* _cairo_scaled_font_create_in_error ( cairo_status_t  status)

Definition at line 1217 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_fini()

void _cairo_scaled_font_fini ( cairo_scaled_font_t scaled_font)

Definition at line 909 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_font_extents()

cairo_status_t _cairo_scaled_font_font_extents ( cairo_scaled_font_t scaled_font,
cairo_font_extents_t extents 
)

◆ _cairo_scaled_font_freeze_cache()

void _cairo_scaled_font_freeze_cache ( cairo_scaled_font_t scaled_font)

Definition at line 790 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_get_max_scale()

double _cairo_scaled_font_get_max_scale ( cairo_scaled_font_t scaled_font)

Definition at line 3064 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_glyph_approximate_extents()

cairo_bool_t _cairo_scaled_font_glyph_approximate_extents ( cairo_scaled_font_t scaled_font,
const cairo_glyph_t glyphs,
int  num_glyphs,
cairo_rectangle_int_t extents 
)

Definition at line 2297 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_glyph_device_extents()

cairo_status_t _cairo_scaled_font_glyph_device_extents ( cairo_scaled_font_t scaled_font,
const cairo_glyph_t glyphs,
int  num_glyphs,
cairo_rectangle_int_t extents,
cairo_bool_t overlap 
)

Definition at line 2209 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_glyph_path()

cairo_status_t _cairo_scaled_font_glyph_path ( cairo_scaled_font_t scaled_font,
const cairo_glyph_t glyphs,
int  num_glyphs,
cairo_path_fixed_t path 
)

Definition at line 2640 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_init()

cairo_status_t _cairo_scaled_font_init ( cairo_scaled_font_t scaled_font,
cairo_font_face_t font_face,
const cairo_matrix_t font_matrix,
const cairo_matrix_t ctm,
const cairo_font_options_t options,
const cairo_scaled_font_backend_t backend 
)

Definition at line 710 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_map_destroy()

void _cairo_scaled_font_map_destroy ( void  )

Definition at line 403 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_register_placeholder_and_unlock_font_map()

cairo_status_t _cairo_scaled_font_register_placeholder_and_unlock_font_map ( cairo_scaled_font_t scaled_font)

Definition at line 501 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_reset_cache()

void _cairo_scaled_font_reset_cache ( cairo_scaled_font_t scaled_font)

Definition at line 816 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_reset_static_data()

void _cairo_scaled_font_reset_static_data ( void  )

Definition at line 1246 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_set_error()

cairo_status_t _cairo_scaled_font_set_error ( cairo_scaled_font_t scaled_font,
cairo_status_t  status 
)

_cairo_scaled_font_set_error: @scaled_font: a scaled_font @status: a status value indicating an error

Atomically sets scaled_font->status to @status and calls _cairo_error; Does nothing if status is CAIRO_STATUS_SUCCESS.

All assignments of an error status to scaled_font->status should happen through _cairo_scaled_font_set_error(). Note that due to the nature of the atomic operation, it is not safe to call this function on the nil objects.

The purpose of this function is to allow the user to set a breakpoint in _cairo_error() to generate a stack trace for when the user causes cairo to detect an error.

Return value: the error status.

Definition at line 277 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_set_metrics()

cairo_status_t _cairo_scaled_font_set_metrics ( cairo_scaled_font_t scaled_font,
cairo_font_extents_t fs_metrics 
)

Definition at line 851 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_show_glyphs()

cairo_status_t _cairo_scaled_font_show_glyphs ( cairo_scaled_font_t scaled_font,
cairo_operator_t  op,
const cairo_pattern_t source,
cairo_surface_t surface,
int  source_x,
int  source_y,
int  dest_x,
int  dest_y,
unsigned int  width,
unsigned int  height,
cairo_glyph_t glyphs,
int  num_glyphs,
cairo_region_t clip_region 
)

◆ _cairo_scaled_font_thaw_cache()

void _cairo_scaled_font_thaw_cache ( cairo_scaled_font_t scaled_font)

Definition at line 800 of file cairo-scaled-font.c.

◆ _cairo_scaled_font_unregister_placeholder_and_lock_font_map()

void _cairo_scaled_font_unregister_placeholder_and_lock_font_map ( cairo_scaled_font_t scaled_font)

Definition at line 549 of file cairo-scaled-font.c.

◆ _cairo_scaled_glyph_lookup()

cairo_int_status_t _cairo_scaled_glyph_lookup ( cairo_scaled_font_t scaled_font,
unsigned long  index,
cairo_scaled_glyph_info_t  info,
cairo_scaled_glyph_t **  scaled_glyph_ret 
)

_cairo_scaled_glyph_lookup: @scaled_font: a cairo_scaled_font_t @index: the glyph to create @info: a cairo_scaled_glyph_info_t marking which portions of the glyph should be filled in. @scaled_glyph_ret: a cairo_scaled_glyph_t where the glyph is returned.

If the desired info is not available, (for example, when trying to get INFO_PATH with a bitmapped font), this function will return CAIRO_INT_STATUS_UNSUPPORTED.

Note: This function must be called with the scaled font frozen, and it must remain frozen for as long as the @scaled_glyph_ret is alive. (If the scaled font was not frozen, then there is no guarantee that the glyph would not be evicted before you tried to access it.) See _cairo_scaled_font_freeze_cache() and _cairo_scaled_font_thaw_cache().

Returns: a glyph with the requested portions filled in. Glyph lookup is cached and glyph will be automatically freed along with the scaled_font so no explicit free is required. @info can be one or more of: CAIRO_SCALED_GLYPH_INFO_METRICS - glyph metrics and bounding box CAIRO_SCALED_GLYPH_INFO_SURFACE - surface holding glyph image CAIRO_SCALED_GLYPH_INFO_PATH - path holding glyph outline in device space

Definition at line 2981 of file cairo-scaled-font.c.

◆ _cairo_scaled_glyph_set_color_surface()

void _cairo_scaled_glyph_set_color_surface ( cairo_scaled_glyph_t scaled_glyph,
cairo_scaled_font_t scaled_font,
cairo_image_surface_t surface 
)

Definition at line 2831 of file cairo-scaled-font.c.

◆ _cairo_scaled_glyph_set_metrics()

void _cairo_scaled_glyph_set_metrics ( cairo_scaled_glyph_t scaled_glyph,
cairo_scaled_font_t scaled_font,
cairo_text_extents_t fs_metrics 
)

_cairo_scaled_glyph_set_metrics: @scaled_glyph: a cairo_scaled_glyph_t @scaled_font: a cairo_scaled_font_t @fs_metrics: a cairo_text_extents_t in font space

_cairo_scaled_glyph_set_metrics() stores user space metrics for the specified glyph given font space metrics. It is called by the font backend when initializing a glyph with CAIRO_SCALED_GLYPH_INFO_METRICS.

Definition at line 2702 of file cairo-scaled-font.c.

◆ _cairo_scaled_glyph_set_path()

void _cairo_scaled_glyph_set_path ( cairo_scaled_glyph_t scaled_glyph,
cairo_scaled_font_t scaled_font,
cairo_path_fixed_t path 
)

Definition at line 2797 of file cairo-scaled-font.c.

◆ _cairo_scaled_glyph_set_recording_surface()

void _cairo_scaled_glyph_set_recording_surface ( cairo_scaled_glyph_t scaled_glyph,
cairo_scaled_font_t scaled_font,
cairo_surface_t recording_surface 
)

Definition at line 2813 of file cairo-scaled-font.c.

◆ _cairo_scaled_glyph_set_surface()

void _cairo_scaled_glyph_set_surface ( cairo_scaled_glyph_t scaled_glyph,
cairo_scaled_font_t scaled_font,
cairo_image_surface_t surface 
)

Definition at line 2779 of file cairo-scaled-font.c.

◆ _cairo_spline_bound()

cairo_status_t _cairo_spline_bound ( cairo_spline_add_point_func_t  add_point_func,
void closure,
const cairo_point_t p0,
const cairo_point_t p1,
const cairo_point_t p2,
const cairo_point_t p3 
)

Definition at line 277 of file cairo-spline.c.

◆ _cairo_spline_decompose()

cairo_status_t _cairo_spline_decompose ( cairo_spline_t spline,
double  tolerance 
)

Definition at line 260 of file cairo-spline.c.

◆ _cairo_spline_init()

cairo_bool_t _cairo_spline_init ( cairo_spline_t spline,
cairo_spline_add_point_func_t  add_point_func,
void closure,
const cairo_point_t a,
const cairo_point_t b,
const cairo_point_t c,
const cairo_point_t d 
)

Definition at line 84 of file cairo-spline.c.

◆ _cairo_spline_intersects()

cairo_bool_t _cairo_spline_intersects ( const cairo_point_t a,
const cairo_point_t b,
const cairo_point_t c,
const cairo_point_t d,
const cairo_box_t box 
)

Definition at line 43 of file cairo-spline.c.

◆ _cairo_stock_color()

const cairo_color_t* _cairo_stock_color ( cairo_stock_t  stock)

Definition at line 61 of file cairo-color.c.

◆ _cairo_string_hash()

unsigned long _cairo_string_hash ( const char *  str,
int  len 
)

Definition at line 1021 of file cairo-misc.c.

◆ _cairo_stroke_style_dash_approximate()

void _cairo_stroke_style_dash_approximate ( const cairo_stroke_style_t style,
const cairo_matrix_t ctm,
double  tolerance,
double *  dash_offset,
double *  dashes,
unsigned int num_dashes 
)

Definition at line 270 of file cairo-stroke-style.c.

◆ _cairo_stroke_style_dash_can_approximate()

cairo_bool_t _cairo_stroke_style_dash_can_approximate ( const cairo_stroke_style_t style,
const cairo_matrix_t ctm,
double  tolerance 
)

Definition at line 252 of file cairo-stroke-style.c.

◆ _cairo_stroke_style_dash_period()

double _cairo_stroke_style_dash_period ( const cairo_stroke_style_t style)

Definition at line 174 of file cairo-stroke-style.c.

◆ _cairo_stroke_style_dash_stroked()

double _cairo_stroke_style_dash_stroked ( const cairo_stroke_style_t style)

Definition at line 217 of file cairo-stroke-style.c.

◆ _cairo_stroke_style_fini()

void _cairo_stroke_style_fini ( cairo_stroke_style_t style)

Definition at line 87 of file cairo-stroke-style.c.

◆ _cairo_stroke_style_init()

void _cairo_stroke_style_init ( cairo_stroke_style_t style)

Definition at line 40 of file cairo-stroke-style.c.

◆ _cairo_stroke_style_init_copy()

cairo_status_t _cairo_stroke_style_init_copy ( cairo_stroke_style_t style,
const cairo_stroke_style_t other 
)

Definition at line 55 of file cairo-stroke-style.c.

◆ _cairo_stroke_style_max_distance_from_path()

void _cairo_stroke_style_max_distance_from_path ( const cairo_stroke_style_t style,
const cairo_path_fixed_t path,
const cairo_matrix_t ctm,
double *  dx,
double *  dy 
)

Definition at line 103 of file cairo-stroke-style.c.

◆ _cairo_stroke_style_max_join_distance_from_path()

void _cairo_stroke_style_max_join_distance_from_path ( const cairo_stroke_style_t style,
const cairo_path_fixed_t path,
const cairo_matrix_t ctm,
double *  dx,
double *  dy 
)

Definition at line 146 of file cairo-stroke-style.c.

◆ _cairo_stroke_style_max_line_distance_from_path()

void _cairo_stroke_style_max_line_distance_from_path ( const cairo_stroke_style_t style,
const cairo_path_fixed_t path,
const cairo_matrix_t ctm,
double *  dx,
double *  dy 
)

Definition at line 131 of file cairo-stroke-style.c.

◆ _cairo_strtod()

double _cairo_strtod ( const char *  nptr,
char **  endptr 
)

Definition at line 830 of file cairo-misc.c.

◆ _cairo_surface_acquire_source_image()

cairo_status_t _cairo_surface_acquire_source_image ( cairo_surface_t surface,
cairo_image_surface_t **  image_out,
void **  image_extra 
)

_cairo_surface_acquire_source_image: @surface: a cairo_surface_t @image_out: location to store a pointer to an image surface that has identical contents to @surface. This surface could be @surface itself, a surface held internal to @surface, or it could be a new surface with a copy of the relevant portion of @surface. @image_extra: location to store image specific backend data

Gets an image surface to use when drawing as a fallback when drawing with @surface as a source. _cairo_surface_release_source_image() must be called when finished.

Return value: CAIRO_STATUS_SUCCESS if an image was stored in @image_out. CAIRO_INT_STATUS_UNSUPPORTED if an image cannot be retrieved for the specified surface. Or CAIRO_STATUS_NO_MEMORY.

Definition at line 2040 of file cairo-surface.c.

◆ _cairo_surface_attach_snapshot()

void _cairo_surface_attach_snapshot ( cairo_surface_t surface,
cairo_surface_t snapshot,
cairo_surface_func_t  detach_func 
)

Definition at line 355 of file cairo-surface.c.

◆ _cairo_surface_begin_modification()

cairo_status_t _cairo_surface_begin_modification ( cairo_surface_t surface)

Definition at line 392 of file cairo-surface.c.

◆ _cairo_surface_copy_mime_data()

cairo_status_t _cairo_surface_copy_mime_data ( cairo_surface_t dst,
cairo_surface_t src 
)

Definition at line 1519 of file cairo-surface.c.

◆ _cairo_surface_create_for_rectangle_int()

cairo_surface_t* _cairo_surface_create_for_rectangle_int ( cairo_surface_t target,
const cairo_rectangle_int_t extents 
)

Definition at line 513 of file cairo-surface-subsurface.c.

◆ _cairo_surface_create_scratch()

cairo_surface_t* _cairo_surface_create_scratch ( cairo_surface_t other,
cairo_content_t  content,
int  width,
int  height,
const cairo_color_t color 
)

Definition at line 864 of file cairo-surface.c.

◆ _cairo_surface_detach_snapshot()

void _cairo_surface_detach_snapshot ( cairo_surface_t snapshot)

Definition at line 341 of file cairo-surface.c.

◆ _cairo_surface_fill()

cairo_status_t _cairo_surface_fill ( cairo_surface_t surface,
cairo_operator_t  op,
const cairo_pattern_t source,
const cairo_path_fixed_t path,
cairo_fill_rule_t  fill_rule,
double  tolerance,
cairo_antialias_t  antialias,
const cairo_clip_t clip 
)

Definition at line 2391 of file cairo-surface.c.

◆ _cairo_surface_fill_stroke()

cairo_status_t _cairo_surface_fill_stroke ( cairo_surface_t surface,
cairo_operator_t  fill_op,
const cairo_pattern_t fill_source,
cairo_fill_rule_t  fill_rule,
double  fill_tolerance,
cairo_antialias_t  fill_antialias,
cairo_path_fixed_t path,
cairo_operator_t  stroke_op,
const cairo_pattern_t stroke_source,
const cairo_stroke_style_t stroke_style,
const cairo_matrix_t stroke_ctm,
const cairo_matrix_t stroke_ctm_inverse,
double  stroke_tolerance,
cairo_antialias_t  stroke_antialias,
const cairo_clip_t clip 
)

Definition at line 2257 of file cairo-surface.c.

◆ _cairo_surface_get_extents()

cairo_bool_t _cairo_surface_get_extents ( cairo_surface_t surface,
cairo_rectangle_int_t extents 
)

_cairo_surface_get_extents: @surface: the cairo_surface_t to fetch extents for

This function returns a bounding box for the surface. The surface bounds are defined as a region beyond which no rendering will possibly be recorded, in other words, it is the maximum extent of potentially usable coordinates.

For vector surfaces, (PDF, PS, SVG and recording-surfaces), the surface might be conceived as unbounded, but we force the user to provide a maximum size at the time of surface_create. So get_extents uses that size.

Note: The coordinates returned are in "backend" space rather than "surface" space. That is, they are relative to the true (0,0) origin rather than the device_transform origin. This might seem a bit inconsistent with other cairo_surface_t interfaces, but all current callers are within the surface layer where backend space is desired.

This behavior would have to be changed is we ever exported a public variant of this function.

Definition at line 2533 of file cairo-surface.c.

◆ _cairo_surface_has_device_transform()

cairo_bool_t _cairo_surface_has_device_transform ( cairo_surface_t surface)

Definition at line 2017 of file cairo-surface.c.

◆ _cairo_surface_has_mime_image()

cairo_bool_t _cairo_surface_has_mime_image ( cairo_surface_t surface)

Definition at line 1237 of file cairo-surface.c.

◆ _cairo_surface_has_snapshot()

cairo_surface_t* _cairo_surface_has_snapshot ( cairo_surface_t surface,
const cairo_surface_backend_t backend 
)

Definition at line 376 of file cairo-surface.c.

◆ _cairo_surface_init()

void _cairo_surface_init ( cairo_surface_t surface,
const cairo_surface_backend_t backend,
cairo_device_t device,
cairo_content_t  content,
cairo_bool_t  is_vector 
)

Definition at line 401 of file cairo-surface.c.

◆ _cairo_surface_map_to_image()

cairo_image_surface_t* _cairo_surface_map_to_image ( cairo_surface_t surface,
const cairo_rectangle_int_t extents 
)

_cairo_surface_map_to_image: @surface: an existing surface used to extract the image from @extents: limit the extraction to an rectangular region

Returns an image surface that is the most efficient mechanism for modifying the backing store of the target surface. The region retrieved is limited to @extents.

Note, the use of the original surface as a target or source whilst it is mapped is undefined. The result of mapping the surface multiple times is undefined. Calling cairo_surface_destroy() or cairo_surface_finish() on the resulting image surface results in undefined behavior. Changing the device transform of the image surface or of @surface before the image surface is unmapped results in undefined behavior.

Assumes that @surface is valid (CAIRO_STATUS_SUCCESS, non-finished).

Return value: a pointer to the newly allocated image surface. The caller must use _cairo_surface_unmap_image() to destroy this image surface.

This function always returns a valid pointer, but it will return a pointer to a "nil" surface if @other is already in an error state or any other error occurs.

The returned image might have a CAIRO_FORMAT_INVALID format.

Definition at line 637 of file cairo-surface.c.

◆ _cairo_surface_mask()

cairo_status_t _cairo_surface_mask ( cairo_surface_t surface,
cairo_operator_t  op,
const cairo_pattern_t source,
const cairo_pattern_t mask,
const cairo_clip_t clip 
)

Definition at line 2208 of file cairo-surface.c.

◆ _cairo_surface_paint()

cairo_status_t _cairo_surface_paint ( cairo_surface_t surface,
cairo_operator_t  op,
const cairo_pattern_t source,
const cairo_clip_t clip 
)

Definition at line 2171 of file cairo-surface.c.

◆ _cairo_surface_release_device_reference()

void _cairo_surface_release_device_reference ( cairo_surface_t surface)

_cairo_surface_release_device_reference: @surface: a cairo_surface_t

This function makes @surface release the reference to its device. The function is intended to be used for avoiding cycling references for surfaces that are owned by their device, for example cache surfaces. Note that the @surface will still assume that the device is available. So it is the caller's responsibility to ensure the device stays around until the @surface is destroyed. Just calling cairo_surface_finish() is not enough.

Definition at line 1098 of file cairo-surface.c.

◆ _cairo_surface_release_source_image()

void _cairo_surface_release_source_image ( cairo_surface_t surface,
cairo_image_surface_t image,
void image_extra 
)

_cairo_surface_release_source_image: @surface: a cairo_surface_t @image_extra: same as return from the matching _cairo_surface_acquire_source_image()

Releases any resources obtained with _cairo_surface_acquire_source_image()

Definition at line 2088 of file cairo-surface.c.

◆ _cairo_surface_set_error()

cairo_int_status_t _cairo_surface_set_error ( cairo_surface_t surface,
cairo_int_status_t  status 
)

_cairo_surface_set_error: @surface: a surface @status: a status value indicating an error

Atomically sets surface->status to @status and calls _cairo_error; Does nothing if status is CAIRO_STATUS_SUCCESS or any of the internal status values.

All assignments of an error status to surface->status should happen through _cairo_surface_set_error(). Note that due to the nature of the atomic operation, it is not safe to call this function on the nil objects.

The purpose of this function is to allow the user to set a breakpoint in _cairo_error() to generate a stack trace for when the user causes cairo to detect an error.

Return value: the error status.

Definition at line 184 of file cairo-surface.c.

◆ _cairo_surface_set_font_options()

void _cairo_surface_set_font_options ( cairo_surface_t surface,
cairo_font_options_t options 
)

_cairo_surface_set_font_options: @surface: a cairo_surface_t @options: a cairo_font_options_t object that contains the options to use for this surface instead of backend's default font options.

Sets the default font rendering options for the surface. This is useful to correctly propagate default font options when falling back to an image surface in a backend implementation. This affects the options returned in cairo_surface_get_font_options().

If @options is NULL the surface options are reset to those of the backend default.

Definition at line 1561 of file cairo-surface.c.

◆ _cairo_surface_set_resolution()

void _cairo_surface_set_resolution ( cairo_surface_t surface,
double  x_res,
double  y_res 
)

_cairo_surface_set_resolution: @surface: the surface @x_res: x resolution, in dpi @y_res: y resolution, in dpi

Set the actual surface resolution of @surface to the given x and y DPI. Mainly used for correctly computing the scale factor when fallback rendering needs to take place in the paginated surface.

Definition at line 2971 of file cairo-surface.c.

◆ _cairo_surface_show_text_glyphs()

cairo_status_t _cairo_surface_show_text_glyphs ( cairo_surface_t surface,
cairo_operator_t  op,
const cairo_pattern_t source,
const char *  utf8,
int  utf8_len,
cairo_glyph_t glyphs,
int  num_glyphs,
const cairo_text_cluster_t clusters,
int  num_clusters,
cairo_text_cluster_flags_t  cluster_flags,
cairo_scaled_font_t scaled_font,
const cairo_clip_t clip 
)

Definition at line 2809 of file cairo-surface.c.

◆ _cairo_surface_snapshot()

_cairo_surface_snapshot: @surface: a cairo_surface_t

Make an immutable reference to @surface. It is an error to call a surface-modifying function on the result of this function. The resulting 'snapshot' is a lazily copied-on-write surface i.e. it remains a reference to the original surface until that surface is written to again, at which time a copy is made of the original surface and the snapshot then points to that instead. Multiple snapshots of the same unmodified surface point to the same copy.

The caller owns the return value and should call cairo_surface_destroy() when finished with it. This function will not return NULL, but will return a nil surface instead.

Return value: The snapshot surface. Note that the return surface may not necessarily be of the same type as @surface.

Definition at line 240 of file cairo-surface-snapshot.c.

◆ _cairo_surface_stroke()

cairo_status_t _cairo_surface_stroke ( cairo_surface_t surface,
cairo_operator_t  op,
const cairo_pattern_t source,
const cairo_path_fixed_t path,
const cairo_stroke_style_t style,
const cairo_matrix_t ctm,
const cairo_matrix_t ctm_inverse,
double  tolerance,
cairo_antialias_t  antialias,
const cairo_clip_t clip 
)

Definition at line 2344 of file cairo-surface.c.

◆ _cairo_surface_tag()

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 
)

Definition at line 2925 of file cairo-surface.c.

◆ _cairo_surface_unmap_image()

cairo_int_status_t _cairo_surface_unmap_image ( cairo_surface_t surface,
cairo_image_surface_t image 
)

_cairo_surface_unmap_image: @surface: the surface passed to _cairo_surface_map_to_image(). the currently mapped image

Unmaps the image surface as returned from _cairo_surface_map_to_image().

The content of the image will be uploaded to the target surface. Afterwards, the image is destroyed.

Using an image surface which wasn't returned by _cairo_surface_map_to_image() results in undefined behavior.

An image surface in error status can be passed to _cairo_surface_unmap_image().

Return value: the unmap status.

Even if the unmap status is not successful, destroyed.

Definition at line 676 of file cairo-surface.c.

◆ _cairo_toy_font_face_reset_static_data()

void _cairo_toy_font_face_reset_static_data ( void  )

Definition at line 510 of file cairo-toy-font-face.c.

◆ _cairo_trapezoid_array_translate_and_scale()

void _cairo_trapezoid_array_translate_and_scale ( cairo_trapezoid_t offset_traps,
cairo_trapezoid_t src_traps,
int  num_traps,
double  tx,
double  ty,
double  sx,
double  sy 
)

Definition at line 649 of file cairo-traps.c.

◆ _cairo_ucs4_to_utf16()

int _cairo_ucs4_to_utf16 ( uint32_t  unicode,
uint16_t utf16 
)

_cairo_ucs4_to_utf16: @unicode: a UCS-4 character @utf16: buffer to write utf16 string into. Must have at least 2 elements. Or NULL.

This space left intentionally blank.

Return value: Number of elements in the utf16 string or 0 if an invalid unicode character

Definition at line 357 of file cairo-unicode.c.

◆ _cairo_ucs4_to_utf8()

int _cairo_ucs4_to_utf8 ( uint32_t  unicode,
char *  utf8 
)

_cairo_ucs4_to_utf8: @unicode: a UCS-4 character @utf8: buffer to write utf8 string into. Must have at least 4 bytes space available. Or NULL.

This space left intentionally blank.

Return value: Number of bytes in the utf8 string or 0 if an invalid unicode character

Definition at line 312 of file cairo-unicode.c.

◆ _cairo_unbounded_rectangle_init()

◆ _cairo_unscaled_font_destroy()

void _cairo_unscaled_font_destroy ( cairo_unscaled_font_t font)

Definition at line 331 of file cairo-font-face.c.

◆ _cairo_unscaled_font_init()

void _cairo_unscaled_font_init ( cairo_unscaled_font_t font,
const cairo_unscaled_font_backend_t backend 
)

Definition at line 310 of file cairo-font-face.c.

◆ _cairo_unscaled_font_reference()

cairo_unscaled_font_t* _cairo_unscaled_font_reference ( cairo_unscaled_font_t font)

Definition at line 318 of file cairo-font-face.c.

◆ _cairo_user_data_array_copy()

cairo_status_t _cairo_user_data_array_copy ( cairo_user_data_array_t dst,
const cairo_user_data_array_t src 
)

Definition at line 499 of file cairo-array.c.

◆ _cairo_user_data_array_fini()

void _cairo_user_data_array_fini ( cairo_user_data_array_t array)

_cairo_user_data_array_fini: @array: a cairo_user_data_array_t

Destroys all current keys in the user data array and deallocates any memory allocated for the array itself.

Definition at line 380 of file cairo-array.c.

◆ _cairo_user_data_array_foreach()

void _cairo_user_data_array_foreach ( cairo_user_data_array_t array,
void(*)(const void *key, void *elt, void *closure func,
void closure 
)

Definition at line 514 of file cairo-array.c.

◆ _cairo_user_data_array_get_data()

void* _cairo_user_data_array_get_data ( cairo_user_data_array_t array,
const cairo_user_data_key_t key 
)

_cairo_user_data_array_get_data: @array: a cairo_user_data_array_t @key: the address of the cairo_user_data_key_t the user data was attached to

Returns user data previously attached using the specified key. If no user data has been attached with the given key this function returns NULL.

Return value: the user data previously attached or NULL.

Definition at line 412 of file cairo-array.c.

◆ _cairo_user_data_array_init()

void _cairo_user_data_array_init ( cairo_user_data_array_t array)

_cairo_user_data_array_init: @array: a cairo_user_data_array_t

Initializes a cairo_user_data_array_t structure for future use. After initialization, the array has no keys. Call _cairo_user_data_array_fini() to free any allocated memory when done using the array.

Definition at line 367 of file cairo-array.c.

◆ _cairo_user_data_array_set_data()

cairo_status_t _cairo_user_data_array_set_data ( cairo_user_data_array_t array,
const cairo_user_data_key_t key,
void user_data,
cairo_destroy_func_t  destroy 
)

_cairo_user_data_array_set_data: @array: a cairo_user_data_array_t @key: the address of a cairo_user_data_key_t to attach the user data to @user_data: the user data to attach @destroy: a cairo_destroy_func_t which will be called when the user data array is destroyed or when new user data is attached using the same key.

Attaches user data to a user data array. To remove user data, call this function with the key that was used to set it and NULL for @data.

Return value: CAIRO_STATUS_SUCCESS or CAIRO_STATUS_NO_MEMORY if a slot could not be allocated for the user data.

Definition at line 449 of file cairo-array.c.

◆ _cairo_utf8_get_char_validated()

int _cairo_utf8_get_char_validated ( const char *  p,
uint32_t unicode 
)

_cairo_utf8_get_char_validated: : a UTF-8 string @unicode: location to store one Unicode character

Decodes the first character of a valid UTF-8 string, and returns the number of bytes consumed.

Note that the string should be valid. Do not use this without validating the string first.

Returns: the number of bytes forming the character returned.

Definition at line 213 of file cairo-unicode.c.

◆ _cairo_utf8_to_ucs4()

cairo_status_t _cairo_utf8_to_ucs4 ( const char *  str,
int  len,
uint32_t **  result,
int items_written 
)

_cairo_utf8_to_ucs4: @str: an UTF-8 string @len: length of @str in bytes, or -1 if it is nul-terminated. If @len is supplied and the string has an embedded nul byte, only the portion before the nul byte is converted.

Returns
: location to store a pointer to a newly allocated UTF-32 string (always native endian), or NULL. Free with free(). A 0 word will be written after the last character. @items_written: location to store number of 32-bit words written. (Not including the trailing 0)

Converts a UTF-8 string to UCS-4. UCS-4 is an encoding of Unicode with 1 32-bit word per character. The string is validated to consist entirely of valid Unicode characters.

Return value: CAIRO_STATUS_SUCCESS if the entire string was successfully converted. CAIRO_STATUS_INVALID_STRING if an invalid sequence was found.

Definition at line 254 of file cairo-unicode.c.

◆ _cairo_utf8_to_utf16()

cairo_status_t _cairo_utf8_to_utf16 ( const char *  str,
int  len,
uint16_t **  result,
int items_written 
)

_cairo_utf8_to_utf16: @str: an UTF-8 string @len: length of @str in bytes, or -1 if it is nul-terminated. If @len is supplied and the string has an embedded nul byte, only the portion before the nul byte is converted.

Returns
: location to store a pointer to a newly allocated UTF-16 string (always native endian). Free with free(). A 0 word will be written after the last character. @items_written: location to store number of 16-bit words written. (Not including the trailing 0)

Converts a UTF-8 string to UTF-16. UTF-16 is an encoding of Unicode where characters are represented either as a single 16-bit word, or as a pair of 16-bit "surrogates". The string is validated to consist entirely of valid Unicode characters.

Return value: CAIRO_STATUS_SUCCESS if the entire string was successfully converted. CAIRO_STATUS_INVALID_STRING if an an invalid sequence was found.

Definition at line 398 of file cairo-unicode.c.

◆ _cairo_validate_text_clusters()

cairo_status_t _cairo_validate_text_clusters ( const char *  utf8,
int  utf8_len,
const cairo_glyph_t glyphs,
int  num_glyphs,
const cairo_text_cluster_t clusters,
int  num_clusters,
cairo_text_cluster_flags_t  cluster_flags 
)

_cairo_validate_text_clusters: @utf8: UTF-8 text @utf8_len: length of @utf8 in bytes @glyphs: array of glyphs @num_glyphs: number of glyphs @clusters: array of cluster mapping information @num_clusters: number of clusters in the mapping @cluster_flags: cluster flags

Check that clusters cover the entire glyphs and utf8 arrays, and that cluster boundaries are UTF-8 boundaries.

Return value: CAIRO_STATUS_SUCCESS upon success, or CAIRO_STATUS_INVALID_CLUSTERS on error. The error is either invalid UTF-8 input, or bad cluster mapping.

Definition at line 305 of file cairo-misc.c.

◆ _cairo_win32_font_reset_static_data()

void _cairo_win32_font_reset_static_data ( void  )

◆ _pixman_format_from_masks()

cairo_bool_t _pixman_format_from_masks ( cairo_format_masks_t masks,
pixman_format_code_t format_ret 
)

Definition at line 201 of file cairo-image-surface.c.

◆ _pixman_format_to_masks()

cairo_bool_t _pixman_format_to_masks ( pixman_format_code_t  pixman_format,
cairo_format_masks_t masks 
)

Definition at line 251 of file cairo-image-surface.c.

◆ be16_to_cpu()

◆ be32_to_cpu()

◆ cpu_to_be16()

◆ cpu_to_be32()

static uint32_t cpu_to_be32 ( uint32_t  v)
inlinestatic

◆ get_unaligned_be16()

static uint16_t get_unaligned_be16 ( const unsigned char *  p)
inlinestatic

Definition at line 252 of file cairoint.h.

References p.

Referenced by cairo_cff_font_get_gid_for_cid(), cairo_cff_font_read_fdselect(), and cff_index_read().

◆ get_unaligned_be32()

static uint32_t get_unaligned_be32 ( const unsigned char *  p)
inlinestatic

◆ put_unaligned_be16()

static void put_unaligned_be16 ( uint16_t  v,
unsigned char *  p 
)
inlinestatic

Definition at line 262 of file cairoint.h.

References p, and v.

◆ put_unaligned_be32()

static void put_unaligned_be32 ( uint32_t  v,
unsigned char *  p 
)
inlinestatic

Definition at line 268 of file cairoint.h.

References p, and v.

Referenced by cairo_cff_font_write_cid_fontdict().

Variable Documentation

◆ _cairo_empty_rectangle

const cairo_rectangle_int_t _cairo_empty_rectangle
extern

Definition at line 44 of file cairo-rectangle.c.

◆ _cairo_font_face_nil

const cairo_font_face_t _cairo_font_face_nil
extern

SECTION:cairo-font-face @Title: cairo_font_face_t @Short_Description: Base class for font faces @See_Also: cairo_scaled_font_t

cairo_font_face_t represents a particular font at a particular weight, slant, and other characteristic but no size, transformation, or size.

Font faces are created using <firstterm>font-backend</firstterm>-specific constructors, typically of the form <function>cairo_<emphasis>backend</emphasis>_font_face_create()</function>, or implicitly using the <firstterm>toy</firstterm> text API by way of cairo_select_font_face(). The resulting face can be accessed using cairo_get_font_face().

Definition at line 63 of file cairo-font-face.c.

◆ _cairo_font_face_nil_file_not_found

const cairo_font_face_t _cairo_font_face_nil_file_not_found
extern

Definition at line 70 of file cairo-font-face.c.

◆ _cairo_pattern_black

const cairo_solid_pattern_t _cairo_pattern_black
extern

Definition at line 100 of file cairo-pattern.c.

◆ _cairo_pattern_clear

const cairo_solid_pattern_t _cairo_pattern_clear
extern

Definition at line 117 of file cairo-pattern.c.

◆ _cairo_pattern_white

const cairo_solid_pattern_t _cairo_pattern_white
extern

Definition at line 134 of file cairo-pattern.c.

◆ _cairo_twin_charmap

const uint16_t _cairo_twin_charmap[128]
extern

Definition at line 1054 of file cairo-font-face-twin-data.c.

◆ _cairo_twin_outlines

const int8_t _cairo_twin_outlines[]
extern

Definition at line 5 of file cairo-font-face-twin-data.c.

◆ _cairo_unbounded_rectangle

const cairo_rectangle_int_t _cairo_unbounded_rectangle
extern

Definition at line 45 of file cairo-rectangle.c.

Referenced by _cairo_unbounded_rectangle_init().

◆ _cairo_user_font_face_backend

const struct _cairo_font_face_backend _cairo_user_font_face_backend
extern

Definition at line 507 of file cairo-user-font.c.

◆ _cairo_win32_font_face_backend

const struct _cairo_font_face_backend _cairo_win32_font_face_backend
extern

Definition at line 2016 of file cairo-win32-font.c.