1/* GDK - The GIMP Drawing Kit
2 * Copyright (C) 2005 Red Hat, Inc.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef __GDK_CAIRO_H__
19#define __GDK_CAIRO_H__
20
21#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
22#error "Only <gdk/gdk.h> can be included directly."
23#endif
24
25#include <gdk/gdkversionmacros.h>
26#include <gdk/deprecated/gdkcolor.h>
27#include <gdk/gdkrgba.h>
28#include <gdk/gdkdrawingcontext.h>
29#include <gdk/gdkpixbuf.h>
30#include <pango/pangocairo.h>
31
32G_BEGIN_DECLS
33
34GDK_DEPRECATED_IN_3_22_FOR(gdk_window_begin_draw_frame() and gdk_drawing_context_get_cairo_context())
35cairo_t * gdk_cairo_create (GdkWindow *window);
36
37GDK_AVAILABLE_IN_ALL
38gboolean gdk_cairo_get_clip_rectangle (cairo_t *cr,
39 GdkRectangle *rect);
40
41GDK_AVAILABLE_IN_ALL
42void gdk_cairo_set_source_rgba (cairo_t *cr,
43 const GdkRGBA *rgba);
44GDK_AVAILABLE_IN_ALL
45void gdk_cairo_set_source_pixbuf (cairo_t *cr,
46 const GdkPixbuf *pixbuf,
47 gdouble pixbuf_x,
48 gdouble pixbuf_y);
49GDK_AVAILABLE_IN_ALL
50void gdk_cairo_set_source_window (cairo_t *cr,
51 GdkWindow *window,
52 gdouble x,
53 gdouble y);
54
55GDK_AVAILABLE_IN_ALL
56void gdk_cairo_rectangle (cairo_t *cr,
57 const GdkRectangle *rectangle);
58GDK_AVAILABLE_IN_ALL
59void gdk_cairo_region (cairo_t *cr,
60 const cairo_region_t *region);
61
62GDK_AVAILABLE_IN_ALL
63cairo_region_t *
64 gdk_cairo_region_create_from_surface
65 (cairo_surface_t *surface);
66
67GDK_DEPRECATED_IN_3_4_FOR(gdk_cairo_set_source_rgba)
68void gdk_cairo_set_source_color (cairo_t *cr,
69 const GdkColor *color);
70
71GDK_AVAILABLE_IN_3_10
72cairo_surface_t * gdk_cairo_surface_create_from_pixbuf (const GdkPixbuf *pixbuf,
73 int scale,
74 GdkWindow *for_window);
75GDK_AVAILABLE_IN_3_16
76void gdk_cairo_draw_from_gl (cairo_t *cr,
77 GdkWindow *window,
78 int source,
79 int source_type,
80 int buffer_scale,
81 int x,
82 int y,
83 int width,
84 int height);
85
86GDK_AVAILABLE_IN_3_22
87GdkDrawingContext * gdk_cairo_get_drawing_context (cairo_t *cr);
88
89G_END_DECLS
90
91#endif /* __GDK_CAIRO_H__ */
92