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__ */