Add HildonAppMenu::changed signal
[hildon] / hildon / hildon-remote-texture.h
1 /*
2  * This file is a part of hildon
3  *
4  * Copyright (C) 2008 Nokia Corporation, all rights reserved.
5  *
6  * Contact: Rodrigo Novo <rodrigo.novo@nokia.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * as published by the Free Software Foundation; version 2.1 of
11  * the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful, but
14  * 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.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21  * 02110-1301 USA
22  *
23  */
24
25 #ifndef                                         __HILDON_REMOTE_TEXTURE_H__
26 #define                                         __HILDON_REMOTE_TEXTURE_H__
27
28 #include                                        "hildon-window.h"
29 #include                                        <gtk/gtk.h>
30 #include                                        <sys/types.h>
31
32 G_BEGIN_DECLS
33
34 #define                                         HILDON_TYPE_REMOTE_TEXTURE \
35                                                 (hildon_remote_texture_get_type())
36
37 #define                                         HILDON_REMOTE_TEXTURE(obj) \
38                                                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
39                                                 HILDON_TYPE_REMOTE_TEXTURE, \
40                                                 HildonRemoteTexture))
41
42 #define                                         HILDON_REMOTE_TEXTURE_CLASS(klass) \
43                                                 (G_TYPE_CHECK_CLASS_CAST ((klass), \
44                                                 HILDON_TYPE_REMOTE_TEXTURE, \
45                                                 HildonRemoteTextureClass))
46
47 #define                                         HILDON_IS_REMOTE_TEXTURE(obj) \
48                                                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
49                                                 HILDON_TYPE_REMOTE_TEXTURE))
50
51 #define                                         HILDON_IS_REMOTE_TEXTURE_CLASS(klass) \
52                                                 (G_TYPE_CHECK_CLASS_TYPE ((klass), \
53                                                 HILDON_TYPE_REMOTE_TEXTURE))
54
55 #define                                         HILDON_REMOTE_TEXTURE_GET_CLASS(obj) \
56                                                 (G_TYPE_INSTANCE_GET_CLASS ((obj), \
57                                                 HILDON_TYPE_REMOTE_TEXTURE, \
58                                                 HildonRemoteTextureClass))
59
60 typedef struct                                  _HildonRemoteTexture HildonRemoteTexture;
61 typedef struct                                  _HildonRemoteTextureClass HildonRemoteTextureClass;
62
63 struct                                          _HildonRemoteTextureClass
64 {
65     GtkWindowClass parent_class;
66
67     /* Padding for future extension */
68     void (*_hildon_reserved1)(void);
69     void (*_hildon_reserved2)(void);
70     void (*_hildon_reserved3)(void);
71     void (*_hildon_reserved4)(void);
72 };
73
74 struct                                          _HildonRemoteTexture
75 {
76     GtkWindow parent;
77 };
78
79 GType
80 hildon_remote_texture_get_type                (void) G_GNUC_CONST;
81
82 GtkWidget*
83 hildon_remote_texture_new                     (void);
84
85 void
86 hildon_remote_texture_send_message (HildonRemoteTexture *self,
87                                      guint32 message_type,
88                                      guint32 l0,
89                                      guint32 l1,
90                                      guint32 l2,
91                                      guint32 l3,
92                                      guint32 l4);
93
94 void
95 hildon_remote_texture_set_image (HildonRemoteTexture *self,
96                                  key_t key,
97                                  guint width,
98                                  guint height,
99                                  guint bpp);
100 void
101 hildon_remote_texture_update_area (HildonRemoteTexture *self,
102                                    gint x,
103                                    gint y,
104                                    gint width,
105                                    gint height);
106 void
107 hildon_remote_texture_set_show_full (HildonRemoteTexture *self,
108                                       gint show,
109                                       gint opacity);
110 void
111 hildon_remote_texture_set_show (HildonRemoteTexture *self,
112                                  gint show);
113 void
114 hildon_remote_texture_set_opacity (HildonRemoteTexture *self,
115                                     gint opacity);
116 void
117 hildon_remote_texture_set_position (HildonRemoteTexture *self,
118                                     gint x,
119                                     gint y,
120                                     gint width,
121                                     gint height);
122 void
123 hildon_remote_texture_set_offset (HildonRemoteTexture *self,
124                                   double x,
125                                   double y);
126 void
127 hildon_remote_texture_set_scale (HildonRemoteTexture *self,
128                                  double x_scale,
129                                  double y_scale);
130 void
131 hildon_remote_texture_set_parent (HildonRemoteTexture *self,
132                                    GtkWindow *parent);
133
134 G_END_DECLS
135
136 #endif                                 /* __HILDON_REMOTE_TEXTURE_H__ */