示例#1
0
static inline void shadowAndFillCurrentCairoPath(GraphicsContext* context)
{
    cairo_t* cr = context->platformContext()->cr();
    cairo_save(cr);

    drawPathShadow(context, Fill);

    context->platformContext()->prepareForFilling(context->state(), PlatformContextCairo::AdjustPatternForGlobalAlpha);
    cairo_fill(cr);

    cairo_restore(cr);
}
static inline void shadowAndFillCurrentCairoPath(GraphicsContext* context)
{
    cairo_t* cr = context->platformContext()->cr();
    cairo_save(cr);

    context->platformContext()->prepareForFilling(context->state(), PlatformContextCairo::NoAdjustment);

    drawPathShadow(context, Fill);

    cairo_clip(cr);
    cairo_paint_with_alpha(cr, context->platformContext()->globalAlpha());
    cairo_restore(cr);
}
static inline void shadowAndStrokeCurrentCairoPath(GraphicsContext* context)
{
    drawPathShadow(context, Stroke);
    context->platformContext()->prepareForStroking(context->state());
    cairo_stroke(context->platformContext()->cr());
}
static inline void shadowAndFillCurrentCairoPath(GraphicsContext* context)
{
    drawPathShadow(context, Fill);
    fillCurrentCairoPath(context);
}