summaryrefslogtreecommitdiff
path: root/xps
diff options
context:
space:
mode:
Diffstat (limited to 'xps')
-rw-r--r--xps/xps_gradient.c38
1 files changed, 16 insertions, 22 deletions
diff --git a/xps/xps_gradient.c b/xps/xps_gradient.c
index e5699719..2d98953e 100644
--- a/xps/xps_gradient.c
+++ b/xps/xps_gradient.c
@@ -219,20 +219,17 @@ xps_draw_one_radial_gradient(xps_document *doc, fz_matrix ctm,
shade->use_background = 0;
shade->use_function = 1;
shade->type = FZ_RADIAL;
- shade->extend[0] = extend;
- shade->extend[1] = extend;
+ shade->u.a_or_r.extend[0] = extend;
+ shade->u.a_or_r.extend[1] = extend;
xps_sample_gradient_stops(shade, stops, count);
- shade->mesh_len = 6;
- shade->mesh_cap = 6;
- shade->mesh = fz_malloc_array(doc->ctx, shade->mesh_cap, sizeof(float));
- shade->mesh[0] = x0;
- shade->mesh[1] = y0;
- shade->mesh[2] = r0;
- shade->mesh[3] = x1;
- shade->mesh[4] = y1;
- shade->mesh[5] = r1;
+ shade->u.a_or_r.coords[0][0] = x0;
+ shade->u.a_or_r.coords[0][1] = y0;
+ shade->u.a_or_r.coords[0][2] = r0;
+ shade->u.a_or_r.coords[1][0] = x1;
+ shade->u.a_or_r.coords[1][1] = y1;
+ shade->u.a_or_r.coords[1][2] = r1;
fz_fill_shade(doc->dev, shade, ctm, 1);
@@ -260,20 +257,17 @@ xps_draw_one_linear_gradient(xps_document *doc, fz_matrix ctm,
shade->use_background = 0;
shade->use_function = 1;
shade->type = FZ_LINEAR;
- shade->extend[0] = extend;
- shade->extend[1] = extend;
+ shade->u.a_or_r.extend[0] = extend;
+ shade->u.a_or_r.extend[1] = extend;
xps_sample_gradient_stops(shade, stops, count);
- shade->mesh_len = 6;
- shade->mesh_cap = 6;
- shade->mesh = fz_malloc_array(doc->ctx, shade->mesh_cap, sizeof(float));
- shade->mesh[0] = x0;
- shade->mesh[1] = y0;
- shade->mesh[2] = 0;
- shade->mesh[3] = x1;
- shade->mesh[4] = y1;
- shade->mesh[5] = 0;
+ shade->u.a_or_r.coords[0][0] = x0;
+ shade->u.a_or_r.coords[0][1] = y0;
+ shade->u.a_or_r.coords[0][2] = 0;
+ shade->u.a_or_r.coords[1][0] = x1;
+ shade->u.a_or_r.coords[1][1] = y1;
+ shade->u.a_or_r.coords[1][2] = 0;
fz_fill_shade(doc->dev, shade, ctm, doc->opacity[doc->opacity_top]);