Tizen 2.0 Release
[framework/graphics/cairo.git] / src / cairo-surface-offset-private.h
1 /* cairo - a vector graphics library with display and print output
2  *
3  * Copyright © 2002 University of Southern California
4  * Copyright © 2005 Red Hat, Inc.
5  * Copyright © 2009 Chris Wilson
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it either under the terms of the GNU Lesser General Public
9  * License version 2.1 as published by the Free Software Foundation
10  * (the "LGPL") or, at your option, under the terms of the Mozilla
11  * Public License Version 1.1 (the "MPL"). If you do not alter this
12  * notice, a recipient may use your version of this file under either
13  * the MPL or the LGPL.
14  *
15  * You should have received a copy of the LGPL along with this library
16  * in the file COPYING-LGPL-2.1; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
18  * You should have received a copy of the MPL along with this library
19  * in the file COPYING-MPL-1.1
20  *
21  * The contents of this file are subject to the Mozilla Public License
22  * Version 1.1 (the "License"); you may not use this file except in
23  * compliance with the License. You may obtain a copy of the License at
24  * http://www.mozilla.org/MPL/
25  *
26  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
27  * OF ANY KIND, either express or implied. See the LGPL or the MPL for
28  * the specific language governing rights and limitations.
29  *
30  * The Original Code is the cairo graphics library.
31  *
32  * The Initial Developer of the Original Code is University of Southern
33  * California.
34  *
35  * Contributor(s):
36  *      Chris Wilson <chris@chris-wilson.co.u>
37  */
38
39 #ifndef CAIRO_SURFACE_OFFSET_PRIVATE_H
40 #define CAIRO_SURFACE_OFFSET_PRIVATE_H
41
42 #include "cairo-types-private.h"
43
44 CAIRO_BEGIN_DECLS
45
46 cairo_private cairo_status_t
47 _cairo_surface_offset_paint (cairo_surface_t *target,
48                              int x, int y,
49                              cairo_operator_t    op,
50                              const cairo_pattern_t *source,
51                              const cairo_clip_t     *clip);
52
53 cairo_private cairo_status_t
54 _cairo_surface_offset_mask (cairo_surface_t *target,
55                             int x, int y,
56                             cairo_operator_t     op,
57                             const cairo_pattern_t *source,
58                             const cairo_pattern_t *mask,
59                             const cairo_clip_t      *clip);
60
61 cairo_private cairo_status_t
62 _cairo_surface_offset_stroke (cairo_surface_t *surface,
63                               int x, int y,
64                               cairo_operator_t           op,
65                               const cairo_pattern_t     *source,
66                               const cairo_path_fixed_t  *path,
67                               const cairo_stroke_style_t        *stroke_style,
68                               const cairo_matrix_t              *ctm,
69                               const cairo_matrix_t              *ctm_inverse,
70                               double                     tolerance,
71                               cairo_antialias_t  antialias,
72                               const cairo_clip_t                *clip);
73
74 cairo_private cairo_status_t
75 _cairo_surface_offset_fill (cairo_surface_t     *surface,
76                             int x, int y,
77                             cairo_operator_t     op,
78                             const cairo_pattern_t*source,
79                             const cairo_path_fixed_t    *path,
80                             cairo_fill_rule_t    fill_rule,
81                             double               tolerance,
82                             cairo_antialias_t    antialias,
83                             const cairo_clip_t          *clip);
84
85 cairo_private cairo_status_t
86 _cairo_surface_offset_glyphs (cairo_surface_t           *surface,
87                               int x, int y,
88                               cairo_operator_t           op,
89                               const cairo_pattern_t     *source,
90                               cairo_scaled_font_t       *scaled_font,
91                               cairo_glyph_t             *glyphs,
92                               int                        num_glyphs,
93                               const cairo_clip_t                *clip);
94
95 #endif /* CAIRO_SURFACE_OFFSET_PRIVATE_H */