1 /*
2  * Clutter.
3  *
4  * An OpenGL based 'interactive canvas' library.
5  *
6  * Authored By Matthew Allum  <mallum@openedhand.com>
7  *
8  * Copyright (C) 2006 OpenedHand
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 2 of the License, or (at your option) any later version.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
25 #error "Only <clutter/clutter.h> can be included directly."
26 #endif
27 
28 #ifndef __CLUTTER_RECTANGLE_H__
29 #define __CLUTTER_RECTANGLE_H__
30 
31 #include <glib-object.h>
32 #include <clutter/clutter-actor.h>
33 #include <clutter/clutter-color.h>
34 
35 G_BEGIN_DECLS
36 
37 #define CLUTTER_TYPE_RECTANGLE                  (clutter_rectangle_get_type())
38 #define CLUTTER_RECTANGLE(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_RECTANGLE, ClutterRectangle))
39 #define CLUTTER_RECTANGLE_CLASS(klass)          (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_RECTANGLE, ClutterRectangleClass))
40 #define CLUTTER_IS_RECTANGLE(obj)               (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_RECTANGLE))
41 #define CLUTTER_IS_RECTANGLE_CLASS(klass)       (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_RECTANGLE))
42 #define CLUTTER_RECTANGLE_GET_CLASS(obj)        (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_RECTANGLE, ClutterRectangleClass))
43 
44 typedef struct _ClutterRectangle        ClutterRectangle;
45 typedef struct _ClutterRectangleClass   ClutterRectangleClass;
46 typedef struct _ClutterRectanglePrivate ClutterRectanglePrivate;
47 
48 /**
49  * ClutterRectangle:
50  *
51  * The #ClutterRectangle structure contains only private data
52  * and should be accessed using the provided API
53  *
54  * Since: 0.2
55  */
56 struct _ClutterRectangle
57 {
58   /*< private >*/
59   ClutterActor           parent;
60 
61   ClutterRectanglePrivate *priv;
62 };
63 
64 /**
65  * ClutterRectangleClass:
66  *
67  * The #ClutterRectangleClass structure contains only private data
68  *
69  * Since: 0.2
70  */
71 struct _ClutterRectangleClass
72 {
73   /*< private >*/
74   ClutterActorClass parent_class;
75 
76   /* padding for future expansion */
77   void (*_clutter_rectangle1) (void);
78   void (*_clutter_rectangle2) (void);
79   void (*_clutter_rectangle3) (void);
80   void (*_clutter_rectangle4) (void);
81 };
82 
83 CLUTTER_DEPRECATED_IN_1_10
84 GType clutter_rectangle_get_type (void) G_GNUC_CONST;
85 
86 CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_new)
87 ClutterActor *clutter_rectangle_new              (void);
88 
89 CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_new)
90 ClutterActor *clutter_rectangle_new_with_color   (const ClutterColor *color);
91 
92 CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_get_background_color)
93 void          clutter_rectangle_get_color        (ClutterRectangle   *rectangle,
94                                                   ClutterColor       *color);
95 
96 CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_set_background_color)
97 void          clutter_rectangle_set_color        (ClutterRectangle   *rectangle,
98 						  const ClutterColor *color);
99 
100 CLUTTER_DEPRECATED_IN_1_10
101 guint         clutter_rectangle_get_border_width (ClutterRectangle   *rectangle);
102 
103 CLUTTER_DEPRECATED_IN_1_10
104 void          clutter_rectangle_set_border_width (ClutterRectangle   *rectangle,
105                                                   guint               width);
106 
107 CLUTTER_DEPRECATED_IN_1_10
108 void          clutter_rectangle_get_border_color (ClutterRectangle   *rectangle,
109                                                   ClutterColor       *color);
110 
111 CLUTTER_DEPRECATED_IN_1_10
112 void          clutter_rectangle_set_border_color (ClutterRectangle   *rectangle,
113                                                   const ClutterColor *color);
114 
115 G_END_DECLS
116 
117 #endif /* __CLUTTER_RECTANGLE_H__ */
118