mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-01-06 05:00:17 +01:00
Fix cairo_get_dash and cairo_get_dash_count APIs
Make these functions consistent with other cairo_get functions by making cairo_get_dash_count return the count directly, and removing the cairo_status_t return value from cairo_get_dash.
This commit is contained in:
parent
bc7072064e
commit
28d6a228f0
3 changed files with 20 additions and 40 deletions
37
src/cairo.c
37
src/cairo.c
|
|
@ -953,26 +953,18 @@ cairo_set_dash (cairo_t *cr,
|
|||
/**
|
||||
* cairo_get_dash_count:
|
||||
* @cr: a #cairo_t
|
||||
* @count: return value for the number of dash values, or %NULL
|
||||
*
|
||||
* Gets the length of the dash array in @cr.
|
||||
* Returns the length of the dash array in @cr (0 if dashing is not
|
||||
* currently in effect).
|
||||
*
|
||||
* Return value: %CAIRO_STATUS_SUCCESS, or error status set on
|
||||
* @cr.
|
||||
* See also cairo_set_dash() and cairo_get_dash().
|
||||
*
|
||||
* Since: 1.4
|
||||
*/
|
||||
cairo_status_t
|
||||
cairo_get_dash_count (cairo_t *cr,
|
||||
int *count)
|
||||
int
|
||||
cairo_get_dash_count (cairo_t *cr)
|
||||
{
|
||||
if (cr->status)
|
||||
return cr->status;
|
||||
|
||||
if (count)
|
||||
*count = cr->gstate->stroke_style.num_dashes;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
return cr->gstate->stroke_style.num_dashes;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -985,27 +977,20 @@ cairo_get_dash_count (cairo_t *cr,
|
|||
* enough to hold at least the number of values returned by
|
||||
* cairo_get_dash_count().
|
||||
*
|
||||
* Return value: %CAIRO_STATUS_SUCCESS, or error status set on
|
||||
* @cr.
|
||||
*
|
||||
* Since: 1.4
|
||||
**/
|
||||
cairo_status_t
|
||||
void
|
||||
cairo_get_dash (cairo_t *cr,
|
||||
double *dashes,
|
||||
double *offset)
|
||||
{
|
||||
if (cr->status)
|
||||
return cr->status;
|
||||
|
||||
memcpy (dashes,
|
||||
cr->gstate->stroke_style.dash,
|
||||
sizeof(double) * cr->gstate->stroke_style.num_dashes);
|
||||
if (dashes)
|
||||
memcpy (dashes,
|
||||
cr->gstate->stroke_style.dash,
|
||||
sizeof (double) * cr->gstate->stroke_style.num_dashes);
|
||||
|
||||
if (offset)
|
||||
*offset = cr->gstate->stroke_style.dash_offset;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -1113,10 +1113,10 @@ cairo_get_line_join (cairo_t *cr);
|
|||
cairo_public double
|
||||
cairo_get_miter_limit (cairo_t *cr);
|
||||
|
||||
cairo_public cairo_status_t
|
||||
cairo_get_dash_count (cairo_t *cr, int *count);
|
||||
cairo_public int
|
||||
cairo_get_dash_count (cairo_t *cr);
|
||||
|
||||
cairo_public cairo_status_t
|
||||
cairo_public void
|
||||
cairo_get_dash (cairo_t *cr, double *dashes, double *offset);
|
||||
|
||||
cairo_public void
|
||||
|
|
|
|||
|
|
@ -93,6 +93,8 @@ settings_set (cairo_t *cr, settings_t *settings)
|
|||
static int
|
||||
settings_get (cairo_t *cr, settings_t *settings)
|
||||
{
|
||||
int count;
|
||||
|
||||
settings->op = cairo_get_operator (cr);
|
||||
settings->tolerance = cairo_get_tolerance (cr);
|
||||
settings->fill_rule = cairo_get_fill_rule (cr);
|
||||
|
|
@ -102,18 +104,11 @@ settings_get (cairo_t *cr, settings_t *settings)
|
|||
settings->miter_limit = cairo_get_miter_limit (cr);
|
||||
cairo_get_matrix (cr, &settings->matrix);
|
||||
|
||||
{
|
||||
cairo_status_t status;
|
||||
int count;
|
||||
count = cairo_get_dash_count (cr);
|
||||
if (count != 5)
|
||||
return -1;
|
||||
|
||||
status = cairo_get_dash_count (cr, &count);
|
||||
if (status || count != 5)
|
||||
return -1;
|
||||
|
||||
status = cairo_get_dash (cr, settings->dash, &settings->dash_offset);
|
||||
if (status)
|
||||
return -1;
|
||||
}
|
||||
cairo_get_dash (cr, settings->dash, &settings->dash_offset);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue