1 /* GTK - The GIMP Toolkit
2 * Copyright (C) 2011 Benjamin Otte <otte@gnome.org>
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.
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.
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/>.
18 #ifndef __GTK_ROUNDED_BOX_PRIVATE_H__
19 #define __GTK_ROUNDED_BOX_PRIVATE_H__
21 #include <glib-object.h>
23 #include <gtk/gtkenums.h>
24 #include <gtk/gtkthemingengine.h>
26 #include "gtkcsstypesprivate.h"
30 typedef struct _GtkRoundedBox GtkRoundedBox;
31 typedef struct _GtkRoundedBoxCorner GtkRoundedBoxCorner;
33 struct _GtkRoundedBoxCorner {
38 struct _GtkRoundedBox {
40 cairo_rectangle_t box;
41 GtkRoundedBoxCorner corner[4];
44 void _gtk_rounded_box_init_rect (GtkRoundedBox *box,
50 void _gtk_rounded_box_apply_border_radius_for_engine (GtkRoundedBox *box,
51 GtkThemingEngine *engine,
52 GtkJunctionSides junction);
53 void _gtk_rounded_box_apply_border_radius_for_context (GtkRoundedBox *box,
54 GtkStyleContext *context,
55 GtkJunctionSides junction);
57 void _gtk_rounded_box_grow (GtkRoundedBox *box,
62 void _gtk_rounded_box_shrink (GtkRoundedBox *box,
67 void _gtk_rounded_box_move (GtkRoundedBox *box,
71 double _gtk_rounded_box_guess_length (const GtkRoundedBox *box,
74 void _gtk_rounded_box_path (const GtkRoundedBox *box,
76 void _gtk_rounded_box_path_side (const GtkRoundedBox *box,
79 void _gtk_rounded_box_path_top (const GtkRoundedBox *outer,
80 const GtkRoundedBox *inner,
82 void _gtk_rounded_box_path_right (const GtkRoundedBox *outer,
83 const GtkRoundedBox *inner,
85 void _gtk_rounded_box_path_bottom (const GtkRoundedBox *outer,
86 const GtkRoundedBox *inner,
88 void _gtk_rounded_box_path_left (const GtkRoundedBox *outer,
89 const GtkRoundedBox *inner,
91 void _gtk_rounded_box_clip_path (const GtkRoundedBox *box,
96 #endif /* __GTK_ROUNDED_BOX_PRIVATE_H__ */