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)  

cairo-fixed-private.h File Reference
Include dependency graph for cairo-fixed-private.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CAIRO_FIXED_ONE   ((cairo_fixed_t)(1 << CAIRO_FIXED_FRAC_BITS))
 
#define CAIRO_FIXED_ONE_DOUBLE   ((double)(1 << CAIRO_FIXED_FRAC_BITS))
 
#define CAIRO_FIXED_EPSILON   ((cairo_fixed_t)(1))
 
#define CAIRO_FIXED_ERROR_DOUBLE   (1. / (2 * CAIRO_FIXED_ONE_DOUBLE))
 
#define CAIRO_FIXED_FRAC_MASK   ((cairo_fixed_t)(((cairo_fixed_unsigned_t)(-1)) >> (CAIRO_FIXED_BITS - CAIRO_FIXED_FRAC_BITS)))
 
#define CAIRO_FIXED_WHOLE_MASK   (~CAIRO_FIXED_FRAC_MASK)
 
#define CAIRO_MAGIC_NUMBER_FIXED_16_16   (103079215104.0)
 
#define CAIRO_MAGIC_NUMBER_FIXED   ((1LL << (52 - CAIRO_FIXED_FRAC_BITS)) * 1.5)
 

Functions

static cairo_fixed_t _cairo_fixed_from_int (int i)
 
static cairo_fixed_t _cairo_fixed_from_double (double d)
 
static cairo_fixed_t _cairo_fixed_from_26_6 (uint32_t i)
 
static cairo_fixed_t _cairo_fixed_from_16_16 (uint32_t i)
 
static double _cairo_fixed_to_double (cairo_fixed_t f)
 
static int _cairo_fixed_is_integer (cairo_fixed_t f)
 
static cairo_fixed_t _cairo_fixed_floor (cairo_fixed_t f)
 
static cairo_fixed_t _cairo_fixed_ceil (cairo_fixed_t f)
 
static cairo_fixed_t _cairo_fixed_round (cairo_fixed_t f)
 
static cairo_fixed_t _cairo_fixed_round_down (cairo_fixed_t f)
 
static int _cairo_fixed_integer_part (cairo_fixed_t f)
 
static int _cairo_fixed_integer_round (cairo_fixed_t f)
 
static int _cairo_fixed_integer_round_down (cairo_fixed_t f)
 
static int _cairo_fixed_fractional_part (cairo_fixed_t f)
 
static int _cairo_fixed_integer_floor (cairo_fixed_t f)
 
static int _cairo_fixed_integer_ceil (cairo_fixed_t f)
 
static cairo_fixed_16_16_t _cairo_fixed_to_16_16 (cairo_fixed_t f)
 
static cairo_fixed_16_16_t _cairo_fixed_16_16_from_double (double d)
 
static int _cairo_fixed_16_16_floor (cairo_fixed_16_16_t f)
 
static double _cairo_fixed_16_16_to_double (cairo_fixed_16_16_t f)
 
static cairo_fixed_t _cairo_fixed_mul (cairo_fixed_t a, cairo_fixed_t b)
 
static cairo_fixed_t _cairo_fixed_mul_div (cairo_fixed_t a, cairo_fixed_t b, cairo_fixed_t c)
 
static cairo_fixed_t _cairo_fixed_mul_div_floor (cairo_fixed_t a, cairo_fixed_t b, cairo_fixed_t c)
 
static cairo_fixed_t _cairo_edge_compute_intersection_y_for_x (const cairo_point_t *p1, const cairo_point_t *p2, cairo_fixed_t x)
 
static cairo_fixed_t _cairo_edge_compute_intersection_x_for_y (const cairo_point_t *p1, const cairo_point_t *p2, cairo_fixed_t y)
 
static cairo_bool_t _slow_segment_intersection (const cairo_point_t *seg1_p1, const cairo_point_t *seg1_p2, const cairo_point_t *seg2_p1, const cairo_point_t *seg2_p2, cairo_point_t *intersection)
 

Macro Definition Documentation

◆ CAIRO_FIXED_EPSILON

#define CAIRO_FIXED_EPSILON   ((cairo_fixed_t)(1))

Definition at line 54 of file cairo-fixed-private.h.

◆ CAIRO_FIXED_ERROR_DOUBLE

#define CAIRO_FIXED_ERROR_DOUBLE   (1. / (2 * CAIRO_FIXED_ONE_DOUBLE))

Definition at line 56 of file cairo-fixed-private.h.

◆ CAIRO_FIXED_FRAC_MASK

#define CAIRO_FIXED_FRAC_MASK   ((cairo_fixed_t)(((cairo_fixed_unsigned_t)(-1)) >> (CAIRO_FIXED_BITS - CAIRO_FIXED_FRAC_BITS)))

Definition at line 58 of file cairo-fixed-private.h.

◆ CAIRO_FIXED_ONE

#define CAIRO_FIXED_ONE   ((cairo_fixed_t)(1 << CAIRO_FIXED_FRAC_BITS))

Definition at line 52 of file cairo-fixed-private.h.

◆ CAIRO_FIXED_ONE_DOUBLE

#define CAIRO_FIXED_ONE_DOUBLE   ((double)(1 << CAIRO_FIXED_FRAC_BITS))

Definition at line 53 of file cairo-fixed-private.h.

◆ CAIRO_FIXED_WHOLE_MASK

#define CAIRO_FIXED_WHOLE_MASK   (~CAIRO_FIXED_FRAC_MASK)

Definition at line 59 of file cairo-fixed-private.h.

◆ CAIRO_MAGIC_NUMBER_FIXED

#define CAIRO_MAGIC_NUMBER_FIXED   ((1LL << (52 - CAIRO_FIXED_FRAC_BITS)) * 1.5)

Definition at line 107 of file cairo-fixed-private.h.

◆ CAIRO_MAGIC_NUMBER_FIXED_16_16

#define CAIRO_MAGIC_NUMBER_FIXED_16_16   (103079215104.0)

Definition at line 104 of file cairo-fixed-private.h.

Function Documentation

◆ _cairo_edge_compute_intersection_x_for_y()

static cairo_fixed_t _cairo_edge_compute_intersection_x_for_y ( const cairo_point_t p1,
const cairo_point_t p2,
cairo_fixed_t  y 
)
inlinestatic

◆ _cairo_edge_compute_intersection_y_for_x()

static cairo_fixed_t _cairo_edge_compute_intersection_y_for_x ( const cairo_point_t p1,
const cairo_point_t p2,
cairo_fixed_t  x 
)
inlinestatic

Definition at line 317 of file cairo-fixed-private.h.

References _cairo_fixed_mul_div_floor(), p1, p2, cordic::x, and y.

Referenced by _add_clipped_edge(), and _add_edge().

◆ _cairo_fixed_16_16_floor()

static int _cairo_fixed_16_16_floor ( cairo_fixed_16_16_t  f)
inlinestatic

Definition at line 276 of file cairo-fixed-private.h.

References f.

Referenced by composite_traps(), and composite_tristrip().

◆ _cairo_fixed_16_16_from_double()

◆ _cairo_fixed_16_16_to_double()

static double _cairo_fixed_16_16_to_double ( cairo_fixed_16_16_t  f)
inlinestatic

Definition at line 285 of file cairo-fixed-private.h.

References f.

◆ _cairo_fixed_ceil()

static cairo_fixed_t _cairo_fixed_ceil ( cairo_fixed_t  f)
inlinestatic

Definition at line 170 of file cairo-fixed-private.h.

References _cairo_fixed_floor(), CAIRO_FIXED_FRAC_MASK, and f.

Referenced by _cairo_clip_copy_region().

◆ _cairo_fixed_floor()

static cairo_fixed_t _cairo_fixed_floor ( cairo_fixed_t  f)
inlinestatic

◆ _cairo_fixed_fractional_part()

◆ _cairo_fixed_from_16_16()

static cairo_fixed_t _cairo_fixed_from_16_16 ( uint32_t  i)
inlinestatic

Definition at line 142 of file cairo-fixed-private.h.

References CAIRO_FIXED_FRAC_BITS, and i.

◆ _cairo_fixed_from_26_6()

static cairo_fixed_t _cairo_fixed_from_26_6 ( uint32_t  i)
inlinestatic

Definition at line 132 of file cairo-fixed-private.h.

References CAIRO_FIXED_FRAC_BITS, and i.

Referenced by _conic_to(), _cubic_to(), _line_to(), and _move_to().

◆ _cairo_fixed_from_double()

static cairo_fixed_t _cairo_fixed_from_double ( double  d)
inlinestatic

Definition at line 111 of file cairo-fixed-private.h.

References CAIRO_MAGIC_NUMBER_FIXED, d, i, and u.

Referenced by _cairo_box_from_doubles(), _cairo_cogl_context_arc(), _cairo_cogl_context_curve_to(), _cairo_cogl_context_line_to(), _cairo_cogl_context_move_to(), _cairo_cogl_context_rectangle_real(), _cairo_cogl_context_rel_curve_to(), _cairo_cogl_context_rel_line_to(), _cairo_cogl_context_rel_move_to(), _cairo_default_context_arc(), _cairo_default_context_curve_to(), _cairo_default_context_line_to(), _cairo_default_context_move_to(), _cairo_default_context_rel_curve_to(), _cairo_default_context_rel_line_to(), _cairo_default_context_rel_move_to(), _cairo_gstate_in_clip(), _cairo_gstate_in_stroke(), _cairo_in_fill_init(), _cairo_matrix_is_integer_translation(), _cairo_matrix_is_pixel_exact(), _cairo_path_fixed_approximate_stroke_extents(), _cairo_path_fixed_stroke_to_polygon(), _cairo_path_fixed_transform(), _cairo_path_fixed_transform_point(), _cairo_pen_init(), _cairo_quartz_path_apply_func(), _cairo_quartz_setup_state(), _cairo_rectilinear_stroker_init(), _cairo_rectilinear_stroker_line_to_dashed(), _cairo_scaled_font_glyph_device_extents(), _cairo_scaled_font_glyph_path(), _cairo_scaled_font_single_glyph_device_extents(), _cairo_scaled_glyph_set_metrics(), _cairo_script_surface_clipper_intersect_clip_path(), _cairo_spline_bound(), _cairo_stroker_add_cap(), _cairo_stroker_join(), _cairo_stroker_limit(), _cairo_stroker_line_to_dashed(), _cairo_trapezoid_array_translate_and_scale(), _cairo_traps_contain(), _cairo_win32_transform_FIXED_to_fixed(), _cairo_xml_surface_emit_clip_boxes(), _cairo_xml_surface_emit_clip_path(), _compute_face(), _gradient_color_stops_equal(), _path_covers_bbox(), _slow_segment_intersection(), _trace_mask_to_path(), add_cap(), compute_face(), draw_bezier_curve(), i915_can_blt(), join(), line_to_dashed(), outer_close(), outer_join(), rasterize_bezier_curve(), stroker_init(), and use_bilinear().

◆ _cairo_fixed_from_int()

◆ _cairo_fixed_integer_ceil()

◆ _cairo_fixed_integer_floor()

◆ _cairo_fixed_integer_part()

◆ _cairo_fixed_integer_round()

◆ _cairo_fixed_integer_round_down()

◆ _cairo_fixed_is_integer()

◆ _cairo_fixed_mul()

◆ _cairo_fixed_mul_div()

static cairo_fixed_t _cairo_fixed_mul_div ( cairo_fixed_t  a,
cairo_fixed_t  b,
cairo_fixed_t  c 
)
inlinestatic

◆ _cairo_fixed_mul_div_floor()

◆ _cairo_fixed_round()

static cairo_fixed_t _cairo_fixed_round ( cairo_fixed_t  f)
inlinestatic

Definition at line 176 of file cairo-fixed-private.h.

References _cairo_fixed_floor(), CAIRO_FIXED_FRAC_MASK, and f.

◆ _cairo_fixed_round_down()

◆ _cairo_fixed_to_16_16()

◆ _cairo_fixed_to_double()

static double _cairo_fixed_to_double ( cairo_fixed_t  f)
inlinestatic

Definition at line 152 of file cairo-fixed-private.h.

References CAIRO_FIXED_ONE_DOUBLE, and f.

Referenced by _cairo_box_to_doubles(), _cairo_debug_print_boxes(), _cairo_debug_print_clip(), _cairo_debug_print_contour(), _cairo_debug_print_path(), _cairo_debug_print_polygon(), _cairo_default_context_get_current_point(), _cairo_gl_composite_emit_point(), _cairo_gstate_extents_to_user_rectangle(), _cairo_gstate_path_extents(), _cairo_path_fixed_add(), _cairo_path_fixed_approximate_stroke_extents(), _cairo_path_fixed_transform_point(), _cairo_path_to_qpainterpath_curve_to(), _cairo_path_to_qpainterpath_line_to(), _cairo_path_to_qpainterpath_move_to(), _cairo_path_to_quartz_context_curve_to(), _cairo_path_to_quartz_context_line_to(), _cairo_path_to_quartz_context_move_to(), _cairo_pdf_path_curve_to(), _cairo_pdf_path_line_to(), _cairo_pdf_path_move_to(), _cairo_pdf_path_rectangle(), _cairo_pdf_surface_emit_type3_font_subset(), _cairo_ps_surface_emit_type3_font_subset(), _cairo_quartz_path_apply_func(), _cairo_rectilinear_stroker_line_to_dashed(), _cairo_spline_bound(), _cairo_spline_error_squared(), _cairo_stroker_curve_to(), _cairo_stroker_join(), _cairo_stroker_line_to(), _cairo_stroker_line_to_dashed(), _cairo_stroker_spline_to(), _cairo_svg_path_curve_to(), _cairo_svg_path_line_to(), _cairo_svg_path_move_to(), _cairo_type3_glyph_surface_emit_fallback_image(), _cairo_type3_glyph_surface_emit_glyph(), _cairo_win32_printing_surface_paint_recording_pattern(), _cairo_win32_printing_surface_path_curve_to(), _cairo_win32_printing_surface_path_line_to(), _cairo_win32_printing_surface_path_move_to(), _cairo_xml_curve_to(), _cairo_xml_line_to(), _cairo_xml_move_to(), _cairo_xml_surface_emit_clip_boxes(), _can_composite_glyphs(), _cliprect_covers_surface(), _cpp_curve_to(), _cpp_line_to(), _cpp_move_to(), _emit_path(), _emit_path_boxes(), _path_curve_to(), _path_line_to(), _path_move_to(), _print_curve_to(), _print_line_to(), _print_move_to(), _project_line_x_onto_16_16(), _slow_segment_intersection(), _vg_curve_to(), _vg_line_to(), _vg_move_to(), cairo_recording_surface_ink_extents(), compute_face(), join(), line_to_dashed(), outer_close(), outer_join(), and project_line_x_onto_16_16().

◆ _slow_segment_intersection()

static cairo_bool_t _slow_segment_intersection ( const cairo_point_t seg1_p1,
const cairo_point_t seg1_p2,
const cairo_point_t seg2_p1,
const cairo_point_t seg2_p2,
cairo_point_t intersection 
)
inlinestatic