Пример #1
0
static cairo_int_status_t
_draw_trap (cairo_gl_context_t		*ctx,
	    cairo_gl_composite_t	*setup,
	    cairo_trapezoid_t		*trap)
{
    cairo_point_t quad[4];

    quad[0].x = _cairo_edge_compute_intersection_x_for_y (&trap->left.p1,
							  &trap->left.p2,
							  trap->top);
    quad[0].y = trap->top;

    quad[1].x = _cairo_edge_compute_intersection_x_for_y (&trap->left.p1,
						      &trap->left.p2,
						      trap->bottom);
    quad[1].y = trap->bottom;

    quad[2].x = _cairo_edge_compute_intersection_x_for_y (&trap->right.p1,
						      &trap->right.p2,
						      trap->bottom);
    quad[2].y = trap->bottom;

    quad[3].x = _cairo_edge_compute_intersection_x_for_y (&trap->right.p1,
						      &trap->right.p2,
						      trap->top);
    quad[3].y = trap->top;
    return _cairo_gl_composite_emit_quad_as_tristrip (ctx, setup, quad);
}
Пример #2
0
static cairo_status_t
_stroke_shaper_add_quad (void			*closure,
			 const cairo_point_t	 quad[4])
{
    struct _tristrip_composite_info *info = closure;
    return _cairo_gl_composite_emit_quad_as_tristrip (info->ctx, &info->setup,
						      quad);
}
static cairo_int_status_t
_draw_int_rect (cairo_gl_context_t	*ctx,
                cairo_gl_composite_t	*setup,
                cairo_rectangle_int_t	*rect)
{
    cairo_box_t box;
    cairo_point_t quad[4];

    _cairo_box_from_rectangle (&box, rect);
    quad[0].x = box.p1.x;
    quad[0].y = box.p1.y;
    quad[1].x = box.p1.x;
    quad[1].y = box.p2.y;
    quad[2].x = box.p2.x;
    quad[2].y = box.p2.y;
    quad[3].x = box.p2.x;
    quad[3].y = box.p1.y;

    return _cairo_gl_composite_emit_quad_as_tristrip (ctx, setup, quad);
}
Пример #4
0
static cairo_int_status_t
_cairo_gl_msaa_compositor_draw_quad (cairo_gl_context_t 	*ctx,
				     cairo_gl_composite_t	*setup,
				     cairo_box_t		*box)
{
    cairo_point_t quad[4];

    quad[0].x = box->p1.x;
    quad[0].y = box->p1.y;

    quad[1].x = box->p1.x;
    quad[1].y = box->p2.y;

    quad[2].x = box->p2.x;
    quad[2].y = box->p2.y;

    quad[3].x = box->p2.x;
    quad[3].y = box->p1.y;

    return _cairo_gl_composite_emit_quad_as_tristrip (ctx, setup, quad);
}