1 /* GTK - The GIMP Toolkit
2 * Copyright (C) 2010 Carlos Garnacho <carlosg@gnome.org>
3 * Copyright (C) 2011 Red Hat, Inc.
5 * Authors: Carlos Garnacho <carlosg@gnome.org>
6 * Cosimo Cecchi <cosimoc@gnome.org>
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the
20 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 * Boston, MA 02111-1307, USA.
24 #ifndef __GTK_BORDER_IMAGE_H__
25 #define __GTK_BORDER_IMAGE_H__
27 #include <gtk/gtkborder.h>
28 #include <gtk/gtkenums.h>
29 #include <gtk/gtkgradient.h>
30 #include <gtk/gtkstyleproperties.h>
31 #include <gtk/gtkthemingengine.h>
35 #define GTK_TYPE_BORDER_IMAGE_REPEAT (_gtk_border_image_repeat_get_type ())
37 GType _gtk_border_image_repeat_get_type (void) G_GNUC_CONST;
40 GtkRepeatStyle vrepeat;
41 GtkRepeatStyle hrepeat;
42 } GtkBorderImageRepeat;
44 typedef struct _GtkBorderImage GtkBorderImage;
46 #define GTK_TYPE_BORDER_IMAGE (_gtk_border_image_get_type ())
48 GType _gtk_border_image_get_type (void) G_GNUC_CONST;
50 GtkBorderImage * _gtk_border_image_new (cairo_pattern_t *source,
52 GtkBorderImageRepeat *repeat);
53 GtkBorderImage * _gtk_border_image_new_for_gradient (GtkGradient *gradient,
55 GtkBorderImageRepeat *repeat);
57 GtkBorderImage * _gtk_border_image_resolve (GtkBorderImage *image,
58 GtkStyleProperties *props);
59 gboolean _gtk_border_image_get_resolved (GtkBorderImage *image);
61 GtkBorderImage * _gtk_border_image_ref (GtkBorderImage *image);
62 void _gtk_border_image_unref (GtkBorderImage *image);
64 void _gtk_border_image_render (GtkBorderImage *image,
65 GtkBorder *border_width,
72 GParameter * _gtk_border_image_unpack (const GValue *value,
74 void _gtk_border_image_pack (GValue *value,
75 GtkStyleProperties *props,
80 #endif /* __GTK_BORDER_IMAGE_H__ */