]> Pileus Git - ~andy/gtk/blob - gtk/gtkthemingbackgroundprivate.h
Assamese translation completed
[~andy/gtk] / gtk / gtkthemingbackgroundprivate.h
1 /* GTK - The GIMP Toolkit
2  * Copyright (C) 2011 Red Hat, Inc.
3  * 
4  * Author: Cosimo Cecchi <cosimoc@gnome.org>
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #ifndef __GTK_THEMING_BACKGROUND_PRIVATE_H__
21 #define __GTK_THEMING_BACKGROUND_PRIVATE_H__
22
23 #include <glib-object.h>
24 #include <cairo.h>
25
26 #include "gtkcssimageprivate.h"
27 #include "gtkstylecontextprivate.h"
28 #include "gtkroundedboxprivate.h"
29 #include "gtkshadowprivate.h"
30
31 G_BEGIN_DECLS
32
33 typedef struct _GtkThemingBackground GtkThemingBackground;
34
35 struct _GtkThemingBackground {
36   GtkStyleContext *context;
37
38   cairo_rectangle_t paint_area;
39   cairo_rectangle_t image_rect;
40
41   GtkJunctionSides junction;
42   GtkCssImage *image;
43
44   GtkRoundedBox padding_box;
45   GtkRoundedBox clip_box;
46
47   GtkStateFlags flags;
48   GtkBorder border;
49   GtkBorder padding;
50   GdkRGBA bg_color;
51 };
52
53 void _gtk_theming_background_init (GtkThemingBackground *bg,
54                                    GtkThemingEngine     *engine,
55                                    gdouble               x,
56                                    gdouble               y,
57                                    gdouble               width,
58                                    gdouble               height,
59                                    GtkJunctionSides      junction);
60
61 void _gtk_theming_background_init_from_context (GtkThemingBackground *bg,
62                                                 GtkStyleContext      *context,
63                                                 gdouble               x,
64                                                 gdouble               y,
65                                                 gdouble               width,
66                                                 gdouble               height,
67                                                 GtkJunctionSides      junction);
68
69 void _gtk_theming_background_render (GtkThemingBackground *bg,
70                                      cairo_t              *cr);
71
72 gboolean _gtk_theming_background_has_background_image (GtkThemingBackground *bg);
73
74 G_END_DECLS
75
76 #endif /* __GTK_THEMING_BACKGROUND_PRIVATE_H__ */