From f1fe73d1909a2448a004a88362a1a532d0d4f7c3 Mon Sep 17 00:00:00 2001 From: sanine Date: Sun, 12 Feb 2023 23:53:22 -0600 Subject: switch to tinyobj and nanovg from assimp and cairo --- .../doc/public/html/cairo-cairo-t.html | 3488 -------------------- 1 file changed, 3488 deletions(-) delete mode 100644 libs/cairo-1.16.0/doc/public/html/cairo-cairo-t.html (limited to 'libs/cairo-1.16.0/doc/public/html/cairo-cairo-t.html') diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-cairo-t.html b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-t.html deleted file mode 100644 index 27d9753..0000000 --- a/libs/cairo-1.16.0/doc/public/html/cairo-cairo-t.html +++ /dev/null @@ -1,3488 +0,0 @@ - - - - -cairo_t: Cairo: A Vector Graphics Library - - - - - - - - - - - - - - - - -
-
-
- - -
-

cairo_t

-

cairo_t — The cairo drawing context

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-cairo_t * - -cairo_create () -
-cairo_t * - -cairo_reference () -
-void - -cairo_destroy () -
-cairo_status_t - -cairo_status () -
-void - -cairo_save () -
-void - -cairo_restore () -
-cairo_surface_t * - -cairo_get_target () -
-void - -cairo_push_group () -
-void - -cairo_push_group_with_content () -
-cairo_pattern_t * - -cairo_pop_group () -
-void - -cairo_pop_group_to_source () -
-cairo_surface_t * - -cairo_get_group_target () -
-void - -cairo_set_source_rgb () -
-void - -cairo_set_source_rgba () -
-void - -cairo_set_source () -
-void - -cairo_set_source_surface () -
-cairo_pattern_t * - -cairo_get_source () -
-void - -cairo_set_antialias () -
-cairo_antialias_t - -cairo_get_antialias () -
-void - -cairo_set_dash () -
-int - -cairo_get_dash_count () -
-void - -cairo_get_dash () -
-void - -cairo_set_fill_rule () -
-cairo_fill_rule_t - -cairo_get_fill_rule () -
-void - -cairo_set_line_cap () -
-cairo_line_cap_t - -cairo_get_line_cap () -
-void - -cairo_set_line_join () -
-cairo_line_join_t - -cairo_get_line_join () -
-void - -cairo_set_line_width () -
-double - -cairo_get_line_width () -
-void - -cairo_set_miter_limit () -
-double - -cairo_get_miter_limit () -
-void - -cairo_set_operator () -
-cairo_operator_t - -cairo_get_operator () -
-void - -cairo_set_tolerance () -
-double - -cairo_get_tolerance () -
-void - -cairo_clip () -
-void - -cairo_clip_preserve () -
-void - -cairo_clip_extents () -
-cairo_bool_t - -cairo_in_clip () -
-void - -cairo_reset_clip () -
-void - -cairo_rectangle_list_destroy () -
-cairo_rectangle_list_t * - -cairo_copy_clip_rectangle_list () -
-void - -cairo_fill () -
-void - -cairo_fill_preserve () -
-void - -cairo_fill_extents () -
-cairo_bool_t - -cairo_in_fill () -
-void - -cairo_mask () -
-void - -cairo_mask_surface () -
-void - -cairo_paint () -
-void - -cairo_paint_with_alpha () -
-void - -cairo_stroke () -
-void - -cairo_stroke_preserve () -
-void - -cairo_stroke_extents () -
-cairo_bool_t - -cairo_in_stroke () -
-void - -cairo_copy_page () -
-void - -cairo_show_page () -
unsigned int - -cairo_get_reference_count () -
-cairo_status_t - -cairo_set_user_data () -
-void * - -cairo_get_user_data () -
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
typedefcairo_t
enumcairo_antialias_t
enumcairo_fill_rule_t
enumcairo_line_cap_t
enumcairo_line_join_t
enumcairo_operator_t
 cairo_rectangle_t
 cairo_rectangle_list_t
-
-
-

Description

-

cairo_t is the main object used when drawing with cairo. To -draw with cairo, you create a cairo_t, set the target surface, -and drawing options for the cairo_t, create shapes with -functions like cairo_move_to() and cairo_line_to(), and then -draw shapes with cairo_stroke() or cairo_fill().

-

cairo_t's can be pushed to a stack via cairo_save(). -They may then safely be changed, without losing the current state. -Use cairo_restore() to restore to the saved state.

-
-
-

Functions

-
-

cairo_create ()

-
cairo_t *
-cairo_create (cairo_surface_t *target);
-

Creates a new cairo_t with all graphics state parameters set to -default values and with target - as a target surface. The target -surface should be constructed with a backend-specific function such -as cairo_image_surface_create() (or any other -cairo_backend_surface_create() -variant).

-

This function references target -, so you can immediately -call cairo_surface_destroy() on it if you don't need to -maintain a separate reference to it.

-
-

Parameters

-
----- - - - - - -

target

target surface for the context

 
-
-
-

Returns

-

a newly allocated cairo_t with a reference -count of 1. The initial reference count should be released -with cairo_destroy() when you are done using the cairo_t. -This function never returns NULL. If memory cannot be -allocated, a special cairo_t object will be returned on -which cairo_status() returns CAIRO_STATUS_NO_MEMORY. If -you attempt to target a surface which does not support -writing (such as cairo_mime_surface_t) then a -CAIRO_STATUS_WRITE_ERROR will be raised. You can use this -object normally, but no drawing will be done.

-
-

Since: 1.0

-
-
-
-

cairo_reference ()

-
cairo_t *
-cairo_reference (cairo_t *cr);
-

Increases the reference count on cr - by one. This prevents -cr - from being destroyed until a matching call to cairo_destroy() -is made.

-

Use cairo_get_reference_count() to get the number of references to -a cairo_t.

-
-

Parameters

-
----- - - - - - -

cr

a cairo_t

 
-
-
-

Returns

-

the referenced cairo_t.

-
-

Since: 1.0

-
-
-
-

cairo_destroy ()

-
void
-cairo_destroy (cairo_t *cr);
-

Decreases the reference count on cr - by one. If the result -is zero, then cr - and all associated resources are freed. -See cairo_reference().

-
-

Parameters

-
----- - - - - - -

cr

a cairo_t

 
-
-

Since: 1.0

-
-
-
-

cairo_status ()

-
cairo_status_t
-cairo_status (cairo_t *cr);
-

Checks whether an error has previously occurred for this context.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the current status of this context, see cairo_status_t

-
-

Since: 1.0

-
-
-
-

cairo_save ()

-
void
-cairo_save (cairo_t *cr);
-

Makes a copy of the current state of cr - and saves it -on an internal stack of saved states for cr -. When -cairo_restore() is called, cr - will be restored to -the saved state. Multiple calls to cairo_save() and -cairo_restore() can be nested; each call to cairo_restore() -restores the state from the matching paired cairo_save().

-

It isn't necessary to clear all saved states before -a cairo_t is freed. If the reference count of a cairo_t -drops to zero in response to a call to cairo_destroy(), -any saved states will be freed along with the cairo_t.

-
-

Parameters

-
----- - - - - - -

cr

a cairo_t

 
-
-

Since: 1.0

-
-
-
-

cairo_restore ()

-
void
-cairo_restore (cairo_t *cr);
-

Restores cr - to the state saved by a preceding call to -cairo_save() and removes that state from the stack of -saved states.

-
-

Parameters

-
----- - - - - - -

cr

a cairo_t

 
-
-

Since: 1.0

-
-
-
-

cairo_get_target ()

-
cairo_surface_t *
-cairo_get_target (cairo_t *cr);
-

Gets the target surface for the cairo context as passed to -cairo_create().

-

This function will always return a valid pointer, but the result -can be a "nil" surface if cr - is already in an error state, -(ie. cairo_status() != CAIRO_STATUS_SUCCESS). -A nil surface is indicated by cairo_surface_status() -!= CAIRO_STATUS_SUCCESS.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the target surface. This object is owned by cairo. To -keep a reference to it, you must call cairo_surface_reference().

-
-

Since: 1.0

-
-
-
-

cairo_push_group ()

-
void
-cairo_push_group (cairo_t *cr);
-

Temporarily redirects drawing to an intermediate surface known as a -group. The redirection lasts until the group is completed by a call -to cairo_pop_group() or cairo_pop_group_to_source(). These calls -provide the result of any drawing to the group as a pattern, -(either as an explicit object, or set as the source pattern).

-

This group functionality can be convenient for performing -intermediate compositing. One common use of a group is to render -objects as opaque within the group, (so that they occlude each -other), and then blend the result with translucence onto the -destination.

-

Groups can be nested arbitrarily deep by making balanced calls to -cairo_push_group()/cairo_pop_group(). Each call pushes/pops the new -target group onto/from a stack.

-

The cairo_push_group() function calls cairo_save() so that any -changes to the graphics state will not be visible outside the -group, (the pop_group functions call cairo_restore()).

-

By default the intermediate group will have a content type of -CAIRO_CONTENT_COLOR_ALPHA. Other content types can be chosen for -the group by using cairo_push_group_with_content() instead.

-

As an example, here is how one might fill and stroke a path with -translucence, but without any portion of the fill being visible -under the stroke:

-
- - - - - - - -
1
-2
-3
-4
-5
-6
-7
cairo_push_group (cr);
-cairo_set_source (cr, fill_pattern);
-cairo_fill_preserve (cr);
-cairo_set_source (cr, stroke_pattern);
-cairo_stroke (cr);
-cairo_pop_group_to_source (cr);
-cairo_paint_with_alpha (cr, alpha);
-
- -
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-

Since: 1.2

-
-
-
-

cairo_push_group_with_content ()

-
void
-cairo_push_group_with_content (cairo_t *cr,
-                               cairo_content_t content);
-

Temporarily redirects drawing to an intermediate surface known as a -group. The redirection lasts until the group is completed by a call -to cairo_pop_group() or cairo_pop_group_to_source(). These calls -provide the result of any drawing to the group as a pattern, -(either as an explicit object, or set as the source pattern).

-

The group will have a content type of content -. The ability to -control this content type is the only distinction between this -function and cairo_push_group() which you should see for a more -detailed description of group rendering.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo context

 

content

a cairo_content_t indicating the type of group that -will be created

 
-
-

Since: 1.2

-
-
-
-

cairo_pop_group ()

-
cairo_pattern_t *
-cairo_pop_group (cairo_t *cr);
-

Terminates the redirection begun by a call to cairo_push_group() or -cairo_push_group_with_content() and returns a new pattern -containing the results of all drawing operations performed to the -group.

-

The cairo_pop_group() function calls cairo_restore(), (balancing a -call to cairo_save() by the push_group function), so that any -changes to the graphics state will not be visible outside the -group.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

a newly created (surface) pattern containing the -results of all drawing operations performed to the group. The -caller owns the returned object and should call -cairo_pattern_destroy() when finished with it.

-
-

Since: 1.2

-
-
-
-

cairo_pop_group_to_source ()

-
void
-cairo_pop_group_to_source (cairo_t *cr);
-

Terminates the redirection begun by a call to cairo_push_group() or -cairo_push_group_with_content() and installs the resulting pattern -as the source pattern in the given cairo context.

-

The behavior of this function is equivalent to the sequence of -operations:

-
- - - - - - - -
1
-2
-3
cairo_pattern_t *group = cairo_pop_group (cr);
-cairo_set_source (cr, group);
-cairo_pattern_destroy (group);
-
- -

but is more convenient as their is no need for a variable to store -the short-lived pointer to the pattern.

-

The cairo_pop_group() function calls cairo_restore(), (balancing a -call to cairo_save() by the push_group function), so that any -changes to the graphics state will not be visible outside the -group.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-

Since: 1.2

-
-
-
-

cairo_get_group_target ()

-
cairo_surface_t *
-cairo_get_group_target (cairo_t *cr);
-

Gets the current destination surface for the context. This is either -the original target surface as passed to cairo_create() or the target -surface for the current group as started by the most recent call to -cairo_push_group() or cairo_push_group_with_content().

-

This function will always return a valid pointer, but the result -can be a "nil" surface if cr - is already in an error state, -(ie. cairo_status() != CAIRO_STATUS_SUCCESS). -A nil surface is indicated by cairo_surface_status() -!= CAIRO_STATUS_SUCCESS.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the target surface. This object is owned by cairo. To -keep a reference to it, you must call cairo_surface_reference().

-
-

Since: 1.2

-
-
-
-

cairo_set_source_rgb ()

-
void
-cairo_set_source_rgb (cairo_t *cr,
-                      double red,
-                      double green,
-                      double blue);
-

Sets the source pattern within cr - to an opaque color. This opaque -color will then be used for any subsequent drawing operation until -a new source pattern is set.

-

The color components are floating point numbers in the range 0 to

-
  1. If the values passed in are outside that range, they will be -clamped.

-

The default source pattern is opaque black, (that is, it is -equivalent to cairo_set_source_rgb(cr, 0.0, 0.0, 0.0)).

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

cr

a cairo context

 

red

red component of color

 

green

green component of color

 

blue

blue component of color

 
-
-

Since: 1.0

-
-
-
-

cairo_set_source_rgba ()

-
void
-cairo_set_source_rgba (cairo_t *cr,
-                       double red,
-                       double green,
-                       double blue,
-                       double alpha);
-

Sets the source pattern within cr - to a translucent color. This -color will then be used for any subsequent drawing operation until -a new source pattern is set.

-

The color and alpha components are floating point numbers in the -range 0 to 1. If the values passed in are outside that range, they -will be clamped.

-

The default source pattern is opaque black, (that is, it is -equivalent to cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0)).

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

cr

a cairo context

 

red

red component of color

 

green

green component of color

 

blue

blue component of color

 

alpha

alpha component of color

 
-
-

Since: 1.0

-
-
-
-

cairo_set_source ()

-
void
-cairo_set_source (cairo_t *cr,
-                  cairo_pattern_t *source);
-

Sets the source pattern within cr - to source -. This pattern -will then be used for any subsequent drawing operation until a new -source pattern is set.

-

Note: The pattern's transformation matrix will be locked to the -user space in effect at the time of cairo_set_source(). This means -that further modifications of the current transformation matrix -will not affect the source pattern. See cairo_pattern_set_matrix().

-

The default source pattern is a solid pattern that is opaque black, -(that is, it is equivalent to cairo_set_source_rgb(cr, 0.0, 0.0, -0.0)).

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo context

 

source

a cairo_pattern_t to be used as the source for -subsequent drawing operations.

 
-
-

Since: 1.0

-
-
-
-

cairo_set_source_surface ()

-
void
-cairo_set_source_surface (cairo_t *cr,
-                          cairo_surface_t *surface,
-                          double x,
-                          double y);
-

This is a convenience function for creating a pattern from surface - -and setting it as the source in cr - with cairo_set_source().

-

The x - and y - parameters give the user-space coordinate at which -the surface origin should appear. (The surface origin is its -upper-left corner before any transformation has been applied.) The -x - and y - parameters are negated and then set as translation values -in the pattern matrix.

-

Other than the initial translation pattern matrix, as described -above, all other pattern attributes, (such as its extend mode), are -set to the default values as in cairo_pattern_create_for_surface(). -The resulting pattern can be queried with cairo_get_source() so -that these attributes can be modified if desired, (eg. to create a -repeating pattern with cairo_pattern_set_extend()).

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

cr

a cairo context

 

surface

a surface to be used to set the source pattern

 

x

User-space X coordinate for surface origin

 

y

User-space Y coordinate for surface origin

 
-
-

Since: 1.0

-
-
-
-

cairo_get_source ()

-
cairo_pattern_t *
-cairo_get_source (cairo_t *cr);
-

Gets the current source pattern for cr -.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the current source pattern. This object is owned by -cairo. To keep a reference to it, you must call -cairo_pattern_reference().

-
-

Since: 1.0

-
-
-
-

cairo_set_antialias ()

-
void
-cairo_set_antialias (cairo_t *cr,
-                     cairo_antialias_t antialias);
-

Set the antialiasing mode of the rasterizer used for drawing shapes. -This value is a hint, and a particular backend may or may not support -a particular value. At the current time, no backend supports -CAIRO_ANTIALIAS_SUBPIXEL when drawing shapes.

-

Note that this option does not affect text rendering, instead see -cairo_font_options_set_antialias().

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo_t

 

antialias

the new antialiasing mode

 
-
-

Since: 1.0

-
-
-
-

cairo_get_antialias ()

-
cairo_antialias_t
-cairo_get_antialias (cairo_t *cr);
-

Gets the current shape antialiasing mode, as set by -cairo_set_antialias().

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the current shape antialiasing mode.

-
-

Since: 1.0

-
-
-
-

cairo_set_dash ()

-
void
-cairo_set_dash (cairo_t *cr,
-                const double *dashes,
-                int num_dashes,
-                double offset);
-

Sets the dash pattern to be used by cairo_stroke(). A dash pattern -is specified by dashes -, an array of positive values. Each value -provides the length of alternate "on" and "off" portions of the -stroke. The offset - specifies an offset into the pattern at which -the stroke begins.

-

Each "on" segment will have caps applied as if the segment were a -separate sub-path. In particular, it is valid to use an "on" length -of 0.0 with CAIRO_LINE_CAP_ROUND or CAIRO_LINE_CAP_SQUARE in order -to distributed dots or squares along a path.

-

Note: The length values are in user-space units as evaluated at the -time of stroking. This is not necessarily the same as the user -space at the time of cairo_set_dash().

-

If num_dashes - is 0 dashing is disabled.

-

If num_dashes - is 1 a symmetric pattern is assumed with alternating -on and off portions of the size specified by the single value in -dashes -.

-

If any value in dashes - is negative, or if all values are 0, then -cr - will be put into an error state with a status of -CAIRO_STATUS_INVALID_DASH.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

cr

a cairo context

 

dashes

an array specifying alternate lengths of on and off stroke portions

 

num_dashes

the length of the dashes array

 

offset

an offset into the dash pattern at which the stroke should start

 
-
-

Since: 1.0

-
-
-
-

cairo_get_dash_count ()

-
int
-cairo_get_dash_count (cairo_t *cr);
-

This function returns the length of the dash array in cr - (0 if dashing -is not currently in effect).

-

See also cairo_set_dash() and cairo_get_dash().

-
-

Parameters

-
----- - - - - - -

cr

a cairo_t

 
-
-
-

Returns

-

the length of the dash array, or 0 if no dash array set.

-
-

Since: 1.4

-
-
-
-

cairo_get_dash ()

-
void
-cairo_get_dash (cairo_t *cr,
-                double *dashes,
-                double *offset);
-

Gets the current dash array. If not NULL, dashes - should be big -enough to hold at least the number of values returned by -cairo_get_dash_count().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

cr

a cairo_t

 

dashes

return value for the dash array, or NULL

 

offset

return value for the current dash offset, or NULL

 
-
-

Since: 1.4

-
-
-
-

cairo_set_fill_rule ()

-
void
-cairo_set_fill_rule (cairo_t *cr,
-                     cairo_fill_rule_t fill_rule);
-

Set the current fill rule within the cairo context. The fill rule -is used to determine which regions are inside or outside a complex -(potentially self-intersecting) path. The current fill rule affects -both cairo_fill() and cairo_clip(). See cairo_fill_rule_t for details -on the semantics of each available fill rule.

-

The default fill rule is CAIRO_FILL_RULE_WINDING.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo_t

 

fill_rule

a fill rule, specified as a cairo_fill_rule_t

 
-
-

Since: 1.0

-
-
-
-

cairo_get_fill_rule ()

-
cairo_fill_rule_t
-cairo_get_fill_rule (cairo_t *cr);
-

Gets the current fill rule, as set by cairo_set_fill_rule().

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the current fill rule.

-
-

Since: 1.0

-
-
-
-

cairo_set_line_cap ()

-
void
-cairo_set_line_cap (cairo_t *cr,
-                    cairo_line_cap_t line_cap);
-

Sets the current line cap style within the cairo context. See -cairo_line_cap_t for details about how the available line cap -styles are drawn.

-

As with the other stroke parameters, the current line cap style is -examined by cairo_stroke(), cairo_stroke_extents(), and -cairo_stroke_to_path(), but does not have any effect during path -construction.

-

The default line cap style is CAIRO_LINE_CAP_BUTT.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo context

 

line_cap

a line cap style

 
-
-

Since: 1.0

-
-
-
-

cairo_get_line_cap ()

-
cairo_line_cap_t
-cairo_get_line_cap (cairo_t *cr);
-

Gets the current line cap style, as set by cairo_set_line_cap().

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the current line cap style.

-
-

Since: 1.0

-
-
-
-

cairo_set_line_join ()

-
void
-cairo_set_line_join (cairo_t *cr,
-                     cairo_line_join_t line_join);
-

Sets the current line join style within the cairo context. See -cairo_line_join_t for details about how the available line join -styles are drawn.

-

As with the other stroke parameters, the current line join style is -examined by cairo_stroke(), cairo_stroke_extents(), and -cairo_stroke_to_path(), but does not have any effect during path -construction.

-

The default line join style is CAIRO_LINE_JOIN_MITER.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo context

 

line_join

a line join style

 
-
-

Since: 1.0

-
-
-
-

cairo_get_line_join ()

-
cairo_line_join_t
-cairo_get_line_join (cairo_t *cr);
-

Gets the current line join style, as set by cairo_set_line_join().

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the current line join style.

-
-

Since: 1.0

-
-
-
-

cairo_set_line_width ()

-
void
-cairo_set_line_width (cairo_t *cr,
-                      double width);
-

Sets the current line width within the cairo context. The line -width value specifies the diameter of a pen that is circular in -user space, (though device-space pen may be an ellipse in general -due to scaling/shear/rotation of the CTM).

-

Note: When the description above refers to user space and CTM it -refers to the user space and CTM in effect at the time of the -stroking operation, not the user space and CTM in effect at the -time of the call to cairo_set_line_width(). The simplest usage -makes both of these spaces identical. That is, if there is no -change to the CTM between a call to cairo_set_line_width() and the -stroking operation, then one can just pass user-space values to -cairo_set_line_width() and ignore this note.

-

As with the other stroke parameters, the current line width is -examined by cairo_stroke(), cairo_stroke_extents(), and -cairo_stroke_to_path(), but does not have any effect during path -construction.

-

The default line width value is 2.0.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo_t

 

width

a line width

 
-
-

Since: 1.0

-
-
-
-

cairo_get_line_width ()

-
double
-cairo_get_line_width (cairo_t *cr);
-

This function returns the current line width value exactly as set by -cairo_set_line_width(). Note that the value is unchanged even if -the CTM has changed between the calls to cairo_set_line_width() and -cairo_get_line_width().

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the current line width.

-
-

Since: 1.0

-
-
-
-

cairo_set_miter_limit ()

-
void
-cairo_set_miter_limit (cairo_t *cr,
-                       double limit);
-

Sets the current miter limit within the cairo context.

-

If the current line join style is set to CAIRO_LINE_JOIN_MITER -(see cairo_set_line_join()), the miter limit is used to determine -whether the lines should be joined with a bevel instead of a miter. -Cairo divides the length of the miter by the line width. -If the result is greater than the miter limit, the style is -converted to a bevel.

-

As with the other stroke parameters, the current line miter limit is -examined by cairo_stroke(), cairo_stroke_extents(), and -cairo_stroke_to_path(), but does not have any effect during path -construction.

-

The default miter limit value is 10.0, which will convert joins -with interior angles less than 11 degrees to bevels instead of -miters. For reference, a miter limit of 2.0 makes the miter cutoff -at 60 degrees, and a miter limit of 1.414 makes the cutoff at 90 -degrees.

-

A miter limit for a desired angle can be computed as: miter limit = -1/sin(angle/2)

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo context

 

limit

miter limit to set

 
-
-

Since: 1.0

-
-
-
-

cairo_get_miter_limit ()

-
double
-cairo_get_miter_limit (cairo_t *cr);
-

Gets the current miter limit, as set by cairo_set_miter_limit().

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the current miter limit.

-
-

Since: 1.0

-
-
-
-

cairo_set_operator ()

-
void
-cairo_set_operator (cairo_t *cr,
-                    cairo_operator_t op);
-

Sets the compositing operator to be used for all drawing -operations. See cairo_operator_t for details on the semantics of -each available compositing operator.

-

The default operator is CAIRO_OPERATOR_OVER.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo_t

 

op

a compositing operator, specified as a cairo_operator_t

 
-
-

Since: 1.0

-
-
-
-

cairo_get_operator ()

-
cairo_operator_t
-cairo_get_operator (cairo_t *cr);
-

Gets the current compositing operator for a cairo context.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the current compositing operator.

-
-

Since: 1.0

-
-
-
-

cairo_set_tolerance ()

-
void
-cairo_set_tolerance (cairo_t *cr,
-                     double tolerance);
-

Sets the tolerance used when converting paths into trapezoids. -Curved segments of the path will be subdivided until the maximum -deviation between the original path and the polygonal approximation -is less than tolerance -. The default value is 0.1. A larger -value will give better performance, a smaller value, better -appearance. (Reducing the value from the default value of 0.1 -is unlikely to improve appearance significantly.) The accuracy of paths -within Cairo is limited by the precision of its internal arithmetic, and -the prescribed tolerance - is restricted to the smallest -representable internal value.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo_t

 

tolerance

the tolerance, in device units (typically pixels)

 
-
-

Since: 1.0

-
-
-
-

cairo_get_tolerance ()

-
double
-cairo_get_tolerance (cairo_t *cr);
-

Gets the current tolerance value, as set by cairo_set_tolerance().

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the current tolerance value.

-
-

Since: 1.0

-
-
-
-

cairo_clip ()

-
void
-cairo_clip (cairo_t *cr);
-

Establishes a new clip region by intersecting the current clip -region with the current path as it would be filled by cairo_fill() -and according to the current fill rule (see cairo_set_fill_rule()).

-

After cairo_clip(), the current path will be cleared from the cairo -context.

-

The current clip region affects all drawing operations by -effectively masking out any changes to the surface that are outside -the current clip region.

-

Calling cairo_clip() can only make the clip region smaller, never -larger. But the current clip is part of the graphics state, so a -temporary restriction of the clip region can be achieved by -calling cairo_clip() within a cairo_save()/cairo_restore() -pair. The only other means of increasing the size of the clip -region is cairo_reset_clip().

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-

Since: 1.0

-
-
-
-

cairo_clip_preserve ()

-
void
-cairo_clip_preserve (cairo_t *cr);
-

Establishes a new clip region by intersecting the current clip -region with the current path as it would be filled by cairo_fill() -and according to the current fill rule (see cairo_set_fill_rule()).

-

Unlike cairo_clip(), cairo_clip_preserve() preserves the path within -the cairo context.

-

The current clip region affects all drawing operations by -effectively masking out any changes to the surface that are outside -the current clip region.

-

Calling cairo_clip_preserve() can only make the clip region smaller, never -larger. But the current clip is part of the graphics state, so a -temporary restriction of the clip region can be achieved by -calling cairo_clip_preserve() within a cairo_save()/cairo_restore() -pair. The only other means of increasing the size of the clip -region is cairo_reset_clip().

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-

Since: 1.0

-
-
-
-

cairo_clip_extents ()

-
void
-cairo_clip_extents (cairo_t *cr,
-                    double *x1,
-                    double *y1,
-                    double *x2,
-                    double *y2);
-

Computes a bounding box in user coordinates covering the area inside the -current clip.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

cr

a cairo context

 

x1

left of the resulting extents

 

y1

top of the resulting extents

 

x2

right of the resulting extents

 

y2

bottom of the resulting extents

 
-
-

Since: 1.4

-
-
-
-

cairo_in_clip ()

-
cairo_bool_t
-cairo_in_clip (cairo_t *cr,
-               double x,
-               double y);
-

Tests whether the given point is inside the area that would be -visible through the current clip, i.e. the area that would be filled by -a cairo_paint() operation.

-

See cairo_clip(), and cairo_clip_preserve().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

cr

a cairo context

 

x

X coordinate of the point to test

 

y

Y coordinate of the point to test

 
-
-
-

Returns

-

A non-zero value if the point is inside, or zero if -outside.

-
-

Since: 1.10

-
-
-
-

cairo_reset_clip ()

-
void
-cairo_reset_clip (cairo_t *cr);
-

Reset the current clip region to its original, unrestricted -state. That is, set the clip region to an infinitely large shape -containing the target surface. Equivalently, if infinity is too -hard to grasp, one can imagine the clip region being reset to the -exact bounds of the target surface.

-

Note that code meant to be reusable should not call -cairo_reset_clip() as it will cause results unexpected by -higher-level code which calls cairo_clip(). Consider using -cairo_save() and cairo_restore() around cairo_clip() as a more -robust means of temporarily restricting the clip region.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-

Since: 1.0

-
-
-
-

cairo_rectangle_list_destroy ()

-
void
-cairo_rectangle_list_destroy (cairo_rectangle_list_t *rectangle_list);
-

Unconditionally frees rectangle_list - and all associated -references. After this call, the rectangle_list - pointer must not -be dereferenced.

-
-

Parameters

-
----- - - - - - -

rectangle_list

a rectangle list, as obtained from cairo_copy_clip_rectangle_list()

 
-
-

Since: 1.4

-
-
-
-

cairo_copy_clip_rectangle_list ()

-
cairo_rectangle_list_t *
-cairo_copy_clip_rectangle_list (cairo_t *cr);
-

Gets the current clip region as a list of rectangles in user coordinates. -Never returns NULL.

-

The status in the list may be CAIRO_STATUS_CLIP_NOT_REPRESENTABLE to -indicate that the clip region cannot be represented as a list of -user-space rectangles. The status may have other values to indicate -other errors.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-
-

Returns

-

the current clip region as a list of rectangles in user coordinates, -which should be destroyed using cairo_rectangle_list_destroy().

-
-

Since: 1.4

-
-
-
-

cairo_fill ()

-
void
-cairo_fill (cairo_t *cr);
-

A drawing operator that fills the current path according to the -current fill rule, (each sub-path is implicitly closed before being -filled). After cairo_fill(), the current path will be cleared from -the cairo context. See cairo_set_fill_rule() and -cairo_fill_preserve().

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-

Since: 1.0

-
-
-
-

cairo_fill_preserve ()

-
void
-cairo_fill_preserve (cairo_t *cr);
-

A drawing operator that fills the current path according to the -current fill rule, (each sub-path is implicitly closed before being -filled). Unlike cairo_fill(), cairo_fill_preserve() preserves the -path within the cairo context.

-

See cairo_set_fill_rule() and cairo_fill().

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-

Since: 1.0

-
-
-
-

cairo_fill_extents ()

-
void
-cairo_fill_extents (cairo_t *cr,
-                    double *x1,
-                    double *y1,
-                    double *x2,
-                    double *y2);
-

Computes a bounding box in user coordinates covering the area that -would be affected, (the "inked" area), by a cairo_fill() operation -given the current path and fill parameters. If the current path is -empty, returns an empty rectangle ((0,0), (0,0)). Surface -dimensions and clipping are not taken into account.

-

Contrast with cairo_path_extents(), which is similar, but returns -non-zero extents for some paths with no inked area, (such as a -simple line segment).

-

Note that cairo_fill_extents() must necessarily do more work to -compute the precise inked areas in light of the fill rule, so -cairo_path_extents() may be more desirable for sake of performance -if the non-inked path extents are desired.

-

See cairo_fill(), cairo_set_fill_rule() and cairo_fill_preserve().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

cr

a cairo context

 

x1

left of the resulting extents

 

y1

top of the resulting extents

 

x2

right of the resulting extents

 

y2

bottom of the resulting extents

 
-
-

Since: 1.0

-
-
-
-

cairo_in_fill ()

-
cairo_bool_t
-cairo_in_fill (cairo_t *cr,
-               double x,
-               double y);
-

Tests whether the given point is inside the area that would be -affected by a cairo_fill() operation given the current path and -filling parameters. Surface dimensions and clipping are not taken -into account.

-

See cairo_fill(), cairo_set_fill_rule() and cairo_fill_preserve().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

cr

a cairo context

 

x

X coordinate of the point to test

 

y

Y coordinate of the point to test

 
-
-
-

Returns

-

A non-zero value if the point is inside, or zero if -outside.

-
-

Since: 1.0

-
-
-
-

cairo_mask ()

-
void
-cairo_mask (cairo_t *cr,
-            cairo_pattern_t *pattern);
-

A drawing operator that paints the current source -using the alpha channel of pattern - as a mask. (Opaque -areas of pattern - are painted with the source, transparent -areas are not painted.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo context

 

pattern

a cairo_pattern_t

 
-
-

Since: 1.0

-
-
-
-

cairo_mask_surface ()

-
void
-cairo_mask_surface (cairo_t *cr,
-                    cairo_surface_t *surface,
-                    double surface_x,
-                    double surface_y);
-

A drawing operator that paints the current source -using the alpha channel of surface - as a mask. (Opaque -areas of surface - are painted with the source, transparent -areas are not painted.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

cr

a cairo context

 

surface

a cairo_surface_t

 

surface_x

X coordinate at which to place the origin of surface -

 

surface_y

Y coordinate at which to place the origin of surface -

 
-
-

Since: 1.0

-
-
-
-

cairo_paint ()

-
void
-cairo_paint (cairo_t *cr);
-

A drawing operator that paints the current source everywhere within -the current clip region.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-

Since: 1.0

-
-
-
-

cairo_paint_with_alpha ()

-
void
-cairo_paint_with_alpha (cairo_t *cr,
-                        double alpha);
-

A drawing operator that paints the current source everywhere within -the current clip region using a mask of constant alpha value -alpha -. The effect is similar to cairo_paint(), but the drawing -is faded out using the alpha value.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo context

 

alpha

alpha value, between 0 (transparent) and 1 (opaque)

 
-
-

Since: 1.0

-
-
-
-

cairo_stroke ()

-
void
-cairo_stroke (cairo_t *cr);
-

A drawing operator that strokes the current path according to the -current line width, line join, line cap, and dash settings. After -cairo_stroke(), the current path will be cleared from the cairo -context. See cairo_set_line_width(), cairo_set_line_join(), -cairo_set_line_cap(), cairo_set_dash(), and -cairo_stroke_preserve().

-

Note: Degenerate segments and sub-paths are treated specially and -provide a useful result. These can result in two different -situations:

-
    -
  1. Zero-length "on" segments set in cairo_set_dash(). If the cap -style is CAIRO_LINE_CAP_ROUND or CAIRO_LINE_CAP_SQUARE then these -segments will be drawn as circular dots or squares respectively. In -the case of CAIRO_LINE_CAP_SQUARE, the orientation of the squares -is determined by the direction of the underlying path.

  2. -
  3. A sub-path created by cairo_move_to() followed by either a -cairo_close_path() or one or more calls to cairo_line_to() to the -same coordinate as the cairo_move_to(). If the cap style is -CAIRO_LINE_CAP_ROUND then these sub-paths will be drawn as circular -dots. Note that in the case of CAIRO_LINE_CAP_SQUARE a degenerate -sub-path will not be drawn at all, (since the correct orientation -is indeterminate).

  4. -
-

In no case will a cap style of CAIRO_LINE_CAP_BUTT cause anything -to be drawn in the case of either degenerate segments or sub-paths.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-

Since: 1.0

-
-
-
-

cairo_stroke_preserve ()

-
void
-cairo_stroke_preserve (cairo_t *cr);
-

A drawing operator that strokes the current path according to the -current line width, line join, line cap, and dash settings. Unlike -cairo_stroke(), cairo_stroke_preserve() preserves the path within the -cairo context.

-

See cairo_set_line_width(), cairo_set_line_join(), -cairo_set_line_cap(), cairo_set_dash(), and -cairo_stroke_preserve().

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-

Since: 1.0

-
-
-
-

cairo_stroke_extents ()

-
void
-cairo_stroke_extents (cairo_t *cr,
-                      double *x1,
-                      double *y1,
-                      double *x2,
-                      double *y2);
-

Computes a bounding box in user coordinates covering the area that -would be affected, (the "inked" area), by a cairo_stroke() -operation given the current path and stroke parameters. -If the current path is empty, returns an empty rectangle ((0,0), (0,0)). -Surface dimensions and clipping are not taken into account.

-

Note that if the line width is set to exactly zero, then -cairo_stroke_extents() will return an empty rectangle. Contrast with -cairo_path_extents() which can be used to compute the non-empty -bounds as the line width approaches zero.

-

Note that cairo_stroke_extents() must necessarily do more work to -compute the precise inked areas in light of the stroke parameters, -so cairo_path_extents() may be more desirable for sake of -performance if non-inked path extents are desired.

-

See cairo_stroke(), cairo_set_line_width(), cairo_set_line_join(), -cairo_set_line_cap(), cairo_set_dash(), and -cairo_stroke_preserve().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

cr

a cairo context

 

x1

left of the resulting extents

 

y1

top of the resulting extents

 

x2

right of the resulting extents

 

y2

bottom of the resulting extents

 
-
-

Since: 1.0

-
-
-
-

cairo_in_stroke ()

-
cairo_bool_t
-cairo_in_stroke (cairo_t *cr,
-                 double x,
-                 double y);
-

Tests whether the given point is inside the area that would be -affected by a cairo_stroke() operation given the current path and -stroking parameters. Surface dimensions and clipping are not taken -into account.

-

See cairo_stroke(), cairo_set_line_width(), cairo_set_line_join(), -cairo_set_line_cap(), cairo_set_dash(), and -cairo_stroke_preserve().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

cr

a cairo context

 

x

X coordinate of the point to test

 

y

Y coordinate of the point to test

 
-
-
-

Returns

-

A non-zero value if the point is inside, or zero if -outside.

-
-

Since: 1.0

-
-
-
-

cairo_copy_page ()

-
void
-cairo_copy_page (cairo_t *cr);
-

Emits the current page for backends that support multiple pages, but -doesn't clear it, so, the contents of the current page will be retained -for the next page too. Use cairo_show_page() if you want to get an -empty page after the emission.

-

This is a convenience function that simply calls -cairo_surface_copy_page() on cr -'s target.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-

Since: 1.0

-
-
-
-

cairo_show_page ()

-
void
-cairo_show_page (cairo_t *cr);
-

Emits and clears the current page for backends that support multiple -pages. Use cairo_copy_page() if you don't want to clear the page.

-

This is a convenience function that simply calls -cairo_surface_show_page() on cr -'s target.

-
-

Parameters

-
----- - - - - - -

cr

a cairo context

 
-
-

Since: 1.0

-
-
-
-

cairo_get_reference_count ()

-
unsigned int
-cairo_get_reference_count (cairo_t *cr);
-

Returns the current reference count of cr -.

-
-

Parameters

-
----- - - - - - -

cr

a cairo_t

 
-
-
-

Returns

-

the current reference count of cr -. If the -object is a nil object, 0 will be returned.

-
-

Since: 1.4

-
-
-
-

cairo_set_user_data ()

-
cairo_status_t
-cairo_set_user_data (cairo_t *cr,
-                     const cairo_user_data_key_t *key,
-                     void *user_data,
-                     cairo_destroy_func_t destroy);
-

Attach user data to cr -. To remove user data from a surface, -call this function with the key that was used to set it and NULL -for data -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

cr

a cairo_t

 

key

the address of a cairo_user_data_key_t to attach the user data to

 

user_data

the user data to attach to the cairo_t

 

destroy

a cairo_destroy_func_t which will be called when the -cairo_t is destroyed or when new user data is attached using the -same key.

 
-
-
-

Returns

-

CAIRO_STATUS_SUCCESS or CAIRO_STATUS_NO_MEMORY if a -slot could not be allocated for the user data.

-
-

Since: 1.4

-
-
-
-

cairo_get_user_data ()

-
void *
-cairo_get_user_data (cairo_t *cr,
-                     const cairo_user_data_key_t *key);
-

Return user data previously attached to cr - using the specified -key. If no user data has been attached with the given key this -function returns NULL.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cr

a cairo_t

 

key

the address of the cairo_user_data_key_t the user data was -attached to

 
-
-
-

Returns

-

the user data previously attached or NULL.

-
-

Since: 1.4

-
-
-
-

Types and Values

-
-

cairo_t

-
typedef struct _cairo cairo_t;
-
-

A cairo_t contains the current state of the rendering device, -including coordinates of yet to be drawn shapes.

-

Cairo contexts, as cairo_t objects are named, are central to -cairo and all drawing with cairo is always done to a cairo_t -object.

-

Memory management of cairo_t is done with -cairo_reference() and cairo_destroy().

-

Since: 1.0

-
-
-
-

enum cairo_antialias_t

-

Specifies the type of antialiasing to do when rendering text or shapes.

-

As it is not necessarily clear from the above what advantages a particular -antialias method provides, since 1.12, there is also a set of hints: -CAIRO_ANTIALIAS_FAST -: Allow the backend to degrade raster quality for speed -CAIRO_ANTIALIAS_GOOD -: A balance between speed and quality -CAIRO_ANTIALIAS_BEST -: A high-fidelity, but potentially slow, raster mode

-

These make no guarantee on how the backend will perform its rasterisation -(if it even rasterises!), nor that they have any differing effect other -than to enable some form of antialiasing. In the case of glyph rendering, -CAIRO_ANTIALIAS_FAST - and CAIRO_ANTIALIAS_GOOD - will be mapped to -CAIRO_ANTIALIAS_GRAY -, with CAIRO_ANTALIAS_BEST - being equivalent to -CAIRO_ANTIALIAS_SUBPIXEL -.

-

The interpretation of CAIRO_ANTIALIAS_DEFAULT - is left entirely up to -the backend, typically this will be similar to CAIRO_ANTIALIAS_GOOD -.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

CAIRO_ANTIALIAS_DEFAULT

-

Use the default antialiasing for - the subsystem and target device, since 1.0

-
 

CAIRO_ANTIALIAS_NONE

-

Use a bilevel alpha mask, since 1.0

-
 

CAIRO_ANTIALIAS_GRAY

-

Perform single-color antialiasing (using - shades of gray for black text on a white background, for example), since 1.0

-
 

CAIRO_ANTIALIAS_SUBPIXEL

-

Perform antialiasing by taking - advantage of the order of subpixel elements on devices - such as LCD panels, since 1.0

-
 

CAIRO_ANTIALIAS_FAST

-

Hint that the backend should perform some -antialiasing but prefer speed over quality, since 1.12

-
 

CAIRO_ANTIALIAS_GOOD

-

The backend should balance quality against -performance, since 1.12

-
 

CAIRO_ANTIALIAS_BEST

-

Hint that the backend should render at the highest -quality, sacrificing speed if necessary, since 1.12

-
 
-
-

Since: 1.0

-
-
-
-

enum cairo_fill_rule_t

-

cairo_fill_rule_t is used to select how paths are filled. For both -fill rules, whether or not a point is included in the fill is -determined by taking a ray from that point to infinity and looking -at intersections with the path. The ray can be in any direction, -as long as it doesn't pass through the end point of a segment -or have a tricky intersection such as intersecting tangent to the path. -(Note that filling is not actually implemented in this way. This -is just a description of the rule that is applied.)

-

The default fill rule is CAIRO_FILL_RULE_WINDING.

-

New entries may be added in future versions.

-
-

Members

-
----- - - - - - - - - - - - - -

CAIRO_FILL_RULE_WINDING

-

If the path crosses the ray from -left-to-right, counts +1. If the path crosses the ray -from right to left, counts -1. (Left and right are determined -from the perspective of looking along the ray from the starting -point.) If the total count is non-zero, the point will be filled. (Since 1.0)

-
 

CAIRO_FILL_RULE_EVEN_ODD

-

Counts the total number of -intersections, without regard to the orientation of the contour. If -the total number of intersections is odd, the point will be -filled. (Since 1.0)

-
 
-
-

Since: 1.0

-
-
-
-

enum cairo_line_cap_t

-

Specifies how to render the endpoints of the path when stroking.

-

The default line cap style is CAIRO_LINE_CAP_BUTT.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - -

CAIRO_LINE_CAP_BUTT

-

start(stop) the line exactly at the start(end) point (Since 1.0)

-
 

CAIRO_LINE_CAP_ROUND

-

use a round ending, the center of the circle is the end point (Since 1.0)

-
 

CAIRO_LINE_CAP_SQUARE

-

use squared ending, the center of the square is the end point (Since 1.0)

-
 
-
-

Since: 1.0

-
-
-
-

enum cairo_line_join_t

-

Specifies how to render the junction of two lines when stroking.

-

The default line join style is CAIRO_LINE_JOIN_MITER.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - -

CAIRO_LINE_JOIN_MITER

-

use a sharp (angled) corner, see -cairo_set_miter_limit() (Since 1.0)

-
 

CAIRO_LINE_JOIN_ROUND

-

use a rounded join, the center of the circle is the -joint point (Since 1.0)

-
 

CAIRO_LINE_JOIN_BEVEL

-

use a cut-off join, the join is cut off at half -the line width from the joint point (Since 1.0)

-
 
-
-

Since: 1.0

-
-
-
-

enum cairo_operator_t

-

cairo_operator_t is used to set the compositing operator for all cairo -drawing operations.

-

The default operator is CAIRO_OPERATOR_OVER.

-

The operators marked as unbounded modify their -destination even outside of the mask layer (that is, their effect is not -bound by the mask layer). However, their effect can still be limited by -way of clipping.

-

To keep things simple, the operator descriptions here -document the behavior for when both source and destination are either fully -transparent or fully opaque. The actual implementation works for -translucent layers too. -For a more detailed explanation of the effects of each operator, including -the mathematical definitions, see

-https://cairographics.org/operators/. -
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

CAIRO_OPERATOR_CLEAR

-

clear destination layer (bounded) (Since 1.0)

-
 

CAIRO_OPERATOR_SOURCE

-

replace destination layer (bounded) (Since 1.0)

-
 

CAIRO_OPERATOR_OVER

-

draw source layer on top of destination layer -(bounded) (Since 1.0)

-
 

CAIRO_OPERATOR_IN

-

draw source where there was destination content -(unbounded) (Since 1.0)

-
 

CAIRO_OPERATOR_OUT

-

draw source where there was no destination -content (unbounded) (Since 1.0)

-
 

CAIRO_OPERATOR_ATOP

-

draw source on top of destination content and -only there (Since 1.0)

-
 

CAIRO_OPERATOR_DEST

-

ignore the source (Since 1.0)

-
 

CAIRO_OPERATOR_DEST_OVER

-

draw destination on top of source (Since 1.0)

-
 

CAIRO_OPERATOR_DEST_IN

-

leave destination only where there was -source content (unbounded) (Since 1.0)

-
 

CAIRO_OPERATOR_DEST_OUT

-

leave destination only where there was no -source content (Since 1.0)

-
 

CAIRO_OPERATOR_DEST_ATOP

-

leave destination on top of source content -and only there (unbounded) (Since 1.0)

-
 

CAIRO_OPERATOR_XOR

-

source and destination are shown where there is only -one of them (Since 1.0)

-
 

CAIRO_OPERATOR_ADD

-

source and destination layers are accumulated (Since 1.0)

-
 

CAIRO_OPERATOR_SATURATE

-

like over, but assuming source and dest are -disjoint geometries (Since 1.0)

-
 

CAIRO_OPERATOR_MULTIPLY

-

source and destination layers are multiplied. -This causes the result to be at least as dark as the darker inputs. (Since 1.10)

-
 

CAIRO_OPERATOR_SCREEN

-

source and destination are complemented and -multiplied. This causes the result to be at least as light as the lighter -inputs. (Since 1.10)

-
 

CAIRO_OPERATOR_OVERLAY

-

multiplies or screens, depending on the -lightness of the destination color. (Since 1.10)

-
 

CAIRO_OPERATOR_DARKEN

-

replaces the destination with the source if it -is darker, otherwise keeps the source. (Since 1.10)

-
 

CAIRO_OPERATOR_LIGHTEN

-

replaces the destination with the source if it -is lighter, otherwise keeps the source. (Since 1.10)

-
 

CAIRO_OPERATOR_COLOR_DODGE

-

brightens the destination color to reflect -the source color. (Since 1.10)

-
 

CAIRO_OPERATOR_COLOR_BURN

-

darkens the destination color to reflect -the source color. (Since 1.10)

-
 

CAIRO_OPERATOR_HARD_LIGHT

-

Multiplies or screens, dependent on source -color. (Since 1.10)

-
 

CAIRO_OPERATOR_SOFT_LIGHT

-

Darkens or lightens, dependent on source -color. (Since 1.10)

-
 

CAIRO_OPERATOR_DIFFERENCE

-

Takes the difference of the source and -destination color. (Since 1.10)

-
 

CAIRO_OPERATOR_EXCLUSION

-

Produces an effect similar to difference, but -with lower contrast. (Since 1.10)

-
 

CAIRO_OPERATOR_HSL_HUE

-

Creates a color with the hue of the source -and the saturation and luminosity of the target. (Since 1.10)

-
 

CAIRO_OPERATOR_HSL_SATURATION

-

Creates a color with the saturation -of the source and the hue and luminosity of the target. Painting with -this mode onto a gray area produces no change. (Since 1.10)

-
 

CAIRO_OPERATOR_HSL_COLOR

-

Creates a color with the hue and saturation -of the source and the luminosity of the target. This preserves the gray -levels of the target and is useful for coloring monochrome images or -tinting color images. (Since 1.10)

-
 

CAIRO_OPERATOR_HSL_LUMINOSITY

-

Creates a color with the luminosity of -the source and the hue and saturation of the target. This produces an -inverse effect to CAIRO_OPERATOR_HSL_COLOR -. (Since 1.10)

-
 
-
-

Since: 1.0

-
-
-
-

cairo_rectangle_t

-
typedef struct {
-    double x, y, width, height;
-} cairo_rectangle_t;
-
-

A data structure for holding a rectangle.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - -

double x;

X coordinate of the left side of the rectangle

 

double y;

Y coordinate of the the top side of the rectangle

 

double width;

width of the rectangle

 

double height;

height of the rectangle

 
-
-

Since: 1.4

-
-
-
-

cairo_rectangle_list_t

-
typedef struct {
-    cairo_status_t     status;
-    cairo_rectangle_t *rectangles;
-    int                num_rectangles;
-} cairo_rectangle_list_t;
-
-

A data structure for holding a dynamically allocated -array of rectangles.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - -

cairo_status_t status;

Error status of the rectangle list

 

cairo_rectangle_t *rectangles;

Array containing the rectangles

 

int num_rectangles;

Number of rectangles in this list

 
-
-

Since: 1.4

-
-
-
-

See Also

-

cairo_surface_t

-
-
- - - \ No newline at end of file -- cgit v1.2.1