1/* GTK - The GIMP Toolkit
2 * Copyright (C) 2010 Carlos Garnacho <[email protected]>
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 __GTK_RENDER_H__
19#define __GTK_RENDER_H__
20
21#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
22#error "Only <gtk/gtk.h> can be included directly."
23#endif
24
25#include <cairo.h>
26#include <pango/pango.h>
27#include <gdk/gdk.h>
28
29#include <gtk/gtkenums.h>
30#include <gtk/gtktypes.h>
31
32G_BEGIN_DECLS
33
34GDK_AVAILABLE_IN_ALL
35void gtk_render_check (GtkStyleContext *context,
36 cairo_t *cr,
37 gdouble x,
38 gdouble y,
39 gdouble width,
40 gdouble height);
41GDK_AVAILABLE_IN_ALL
42void gtk_render_option (GtkStyleContext *context,
43 cairo_t *cr,
44 gdouble x,
45 gdouble y,
46 gdouble width,
47 gdouble height);
48GDK_AVAILABLE_IN_ALL
49void gtk_render_arrow (GtkStyleContext *context,
50 cairo_t *cr,
51 gdouble angle,
52 gdouble x,
53 gdouble y,
54 gdouble size);
55GDK_AVAILABLE_IN_ALL
56void gtk_render_background (GtkStyleContext *context,
57 cairo_t *cr,
58 gdouble x,
59 gdouble y,
60 gdouble width,
61 gdouble height);
62
63GDK_AVAILABLE_IN_3_20
64void gtk_render_background_get_clip (GtkStyleContext *context,
65 gdouble x,
66 gdouble y,
67 gdouble width,
68 gdouble height,
69 GdkRectangle *out_clip);
70
71GDK_AVAILABLE_IN_ALL
72void gtk_render_frame (GtkStyleContext *context,
73 cairo_t *cr,
74 gdouble x,
75 gdouble y,
76 gdouble width,
77 gdouble height);
78GDK_AVAILABLE_IN_ALL
79void gtk_render_expander (GtkStyleContext *context,
80 cairo_t *cr,
81 gdouble x,
82 gdouble y,
83 gdouble width,
84 gdouble height);
85GDK_AVAILABLE_IN_ALL
86void gtk_render_focus (GtkStyleContext *context,
87 cairo_t *cr,
88 gdouble x,
89 gdouble y,
90 gdouble width,
91 gdouble height);
92GDK_AVAILABLE_IN_ALL
93void gtk_render_layout (GtkStyleContext *context,
94 cairo_t *cr,
95 gdouble x,
96 gdouble y,
97 PangoLayout *layout);
98GDK_AVAILABLE_IN_ALL
99void gtk_render_line (GtkStyleContext *context,
100 cairo_t *cr,
101 gdouble x0,
102 gdouble y0,
103 gdouble x1,
104 gdouble y1);
105GDK_AVAILABLE_IN_ALL
106void gtk_render_slider (GtkStyleContext *context,
107 cairo_t *cr,
108 gdouble x,
109 gdouble y,
110 gdouble width,
111 gdouble height,
112 GtkOrientation orientation);
113GDK_DEPRECATED_IN_3_24_FOR(gtk_render_frame)
114void gtk_render_frame_gap (GtkStyleContext *context,
115 cairo_t *cr,
116 gdouble x,
117 gdouble y,
118 gdouble width,
119 gdouble height,
120 GtkPositionType gap_side,
121 gdouble xy0_gap,
122 gdouble xy1_gap);
123GDK_AVAILABLE_IN_ALL
124void gtk_render_extension (GtkStyleContext *context,
125 cairo_t *cr,
126 gdouble x,
127 gdouble y,
128 gdouble width,
129 gdouble height,
130 GtkPositionType gap_side);
131GDK_AVAILABLE_IN_ALL
132void gtk_render_handle (GtkStyleContext *context,
133 cairo_t *cr,
134 gdouble x,
135 gdouble y,
136 gdouble width,
137 gdouble height);
138GDK_AVAILABLE_IN_ALL
139void gtk_render_activity (GtkStyleContext *context,
140 cairo_t *cr,
141 gdouble x,
142 gdouble y,
143 gdouble width,
144 gdouble height);
145GDK_DEPRECATED_IN_3_10_FOR(gtk_icon_theme_load_icon)
146GdkPixbuf * gtk_render_icon_pixbuf (GtkStyleContext *context,
147 const GtkIconSource *source,
148 GtkIconSize size);
149GDK_AVAILABLE_IN_3_2
150void gtk_render_icon (GtkStyleContext *context,
151 cairo_t *cr,
152 GdkPixbuf *pixbuf,
153 gdouble x,
154 gdouble y);
155GDK_AVAILABLE_IN_3_10
156void gtk_render_icon_surface (GtkStyleContext *context,
157 cairo_t *cr,
158 cairo_surface_t *surface,
159 gdouble x,
160 gdouble y);
161
162G_END_DECLS
163
164#endif /* __GTK_RENDER_H__ */
165