4
* Copyright (C) 2009-2010 Daniel P. Berrange <dan@berrange.com>
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.0 of the License, or (at your option) any later version.
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with this library; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24
#include <glib-object.h>
30
#define VNC_TYPE_CURSOR (vnc_cursor_get_type())
31
#define VNC_CURSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), VNC_TYPE_CURSOR, VncCursor))
32
#define VNC_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), VNC_TYPE_CURSOR, VncCursorClass))
33
#define VNC_IS_CURSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), VNC_TYPE_CURSOR))
34
#define VNC_IS_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), VNC_TYPE_CURSOR))
35
#define VNC_CURSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), VNC_TYPE_CURSOR, VncCursorClass))
38
typedef struct _VncCursor VncCursor;
39
typedef struct _VncCursorClass VncCursorClass;
40
typedef struct _VncCursorPrivate VncCursorPrivate;
46
VncCursorPrivate *priv;
48
/* Do not add fields to this struct */
51
struct _VncCursorClass
53
GObjectClass parent_class;
56
* If adding fields to this struct, remove corresponding
57
* amount of padding to avoid changing overall struct size
59
gpointer _vnc_reserved[VNC_PADDING];
63
GType vnc_cursor_get_type(void);
64
VncCursor *vnc_cursor_new(guint8 *rgba24data,
65
guint16 hotx, guint16 hoty,
66
guint16 width, guint16 height);
68
const guint8 *vnc_cursor_get_data(VncCursor *cursor);
70
guint16 vnc_cursor_get_hotx(VncCursor *cursor);
71
guint16 vnc_cursor_get_hoty(VncCursor *cursor);
73
guint16 vnc_cursor_get_width(VncCursor *cursor);
74
guint16 vnc_cursor_get_height(VncCursor *cursor);
78
#endif /* VNC_CURSOR_H */