1
/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
2
/* cairo - a vector graphics library with display and print output
3
 *
4
 * Copyright © 2002 University of Southern California
5
 * Copyright © 2005 Red Hat, Inc.
6
 * Copyright © 2011 Intel Corporation
7
 *
8
 * This library is free software; you can redistribute it and/or
9
 * modify it either under the terms of the GNU Lesser General Public
10
 * License version 2.1 as published by the Free Software Foundation
11
 * (the "LGPL") or, at your option, under the terms of the Mozilla
12
 * Public License Version 1.1 (the "MPL"). If you do not alter this
13
 * notice, a recipient may use your version of this file under either
14
 * the MPL or the LGPL.
15
 *
16
 * You should have received a copy of the LGPL along with this library
17
 * in the file COPYING-LGPL-2.1; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
19
 * You should have received a copy of the MPL along with this library
20
 * in the file COPYING-MPL-1.1
21
 *
22
 * The contents of this file are subject to the Mozilla Public License
23
 * Version 1.1 (the "License"); you may not use this file except in
24
 * compliance with the License. You may obtain a copy of the License at
25
 * http://www.mozilla.org/MPL/
26
 *
27
 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
28
 * OF ANY KIND, either express or implied. See the LGPL or the MPL for
29
 * the specific language governing rights and limitations.
30
 *
31
 * The Original Code is the cairo graphics library.
32
 *
33
 * The Initial Developer of the Original Code is University of Southern
34
 * California.
35
 *
36
 * Contributor(s):
37
 *	Carl D. Worth <cworth@cworth.org>
38
 *      Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
39
 *	Chris Wilson <chris@chris-wilson.co.uk>
40
 */
41

            
42
#include "cairoint.h"
43

            
44
#include "cairo-compositor-private.h"
45

            
46
static cairo_int_status_t
47
_cairo_no_compositor_paint (const cairo_compositor_t *_compositor,
48
			    cairo_composite_rectangles_t *extents)
49
{
50
    ASSERT_NOT_REACHED;
51
    return CAIRO_INT_STATUS_NOTHING_TO_DO;
52
}
53

            
54
static cairo_int_status_t
55
_cairo_no_compositor_mask (const cairo_compositor_t *compositor,
56
			   cairo_composite_rectangles_t *extents)
57
{
58
    ASSERT_NOT_REACHED;
59
    return CAIRO_INT_STATUS_NOTHING_TO_DO;
60
}
61

            
62
static cairo_int_status_t
63
_cairo_no_compositor_stroke (const cairo_compositor_t *_compositor,
64
			     cairo_composite_rectangles_t *extents,
65
			     const cairo_path_fixed_t	*path,
66
			     const cairo_stroke_style_t	*style,
67
			     const cairo_matrix_t	*ctm,
68
			     const cairo_matrix_t	*ctm_inverse,
69
			     double		 tolerance,
70
			     cairo_antialias_t	 antialias)
71
{
72
    ASSERT_NOT_REACHED;
73
    return CAIRO_INT_STATUS_NOTHING_TO_DO;
74
}
75

            
76
static cairo_int_status_t
77
_cairo_no_compositor_fill (const cairo_compositor_t *_compositor,
78
			   cairo_composite_rectangles_t *extents,
79
			   const cairo_path_fixed_t	*path,
80
			   cairo_fill_rule_t	 fill_rule,
81
			   double			 tolerance,
82
			   cairo_antialias_t	 antialias)
83
{
84
    ASSERT_NOT_REACHED;
85
    return CAIRO_INT_STATUS_NOTHING_TO_DO;
86
}
87

            
88
static cairo_int_status_t
89
_cairo_no_compositor_glyphs (const cairo_compositor_t *compositor,
90
			     cairo_composite_rectangles_t *extents,
91
			     cairo_scaled_font_t	*scaled_font,
92
			     cairo_glyph_t		*glyphs,
93
			     int			 num_glyphs,
94
			     cairo_bool_t overlap)
95
{
96
    ASSERT_NOT_REACHED;
97
    return CAIRO_INT_STATUS_NOTHING_TO_DO;
98
}
99

            
100
const cairo_compositor_t __cairo_no_compositor = {
101
    NULL,
102
    _cairo_no_compositor_paint,
103
    _cairo_no_compositor_mask,
104
    _cairo_no_compositor_stroke,
105
    _cairo_no_compositor_fill,
106
    _cairo_no_compositor_glyphs,
107
};