2 * Copyright (c) 2008 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.1 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, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301 USA
20 #ifndef _SWFDEC_RENDERER_H_
21 #define _SWFDEC_RENDERER_H_
24 #include <swfdec/swfdec_player.h>
28 //typedef struct _SwfdecRenderer SwfdecRenderer;
29 typedef struct _SwfdecRendererPrivate SwfdecRendererPrivate
;
30 typedef struct _SwfdecRendererClass SwfdecRendererClass
;
32 #define SWFDEC_TYPE_RENDERER (swfdec_renderer_get_type())
33 #define SWFDEC_IS_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_RENDERER))
34 #define SWFDEC_IS_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_RENDERER))
35 #define SWFDEC_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_RENDERER, SwfdecRenderer))
36 #define SWFDEC_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_RENDERER, SwfdecRendererClass))
37 #define SWFDEC_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SWFDEC_TYPE_RENDERER, SwfdecRendererClass))
40 struct _SwfdecRenderer
{
43 SwfdecRendererPrivate
*priv
;
46 struct _SwfdecRendererClass
49 GObjectClass object_class
;
52 cairo_surface_t
* (* create_similar
) (SwfdecRenderer
* renderer
,
53 cairo_surface_t
* surface
);
54 cairo_surface_t
* (* create_for_data
) (SwfdecRenderer
* renderer
,
56 cairo_format_t format
,
62 GType
swfdec_renderer_get_type (void);
64 SwfdecRenderer
* swfdec_renderer_new (cairo_surface_t
* surface
);
65 SwfdecRenderer
* swfdec_renderer_new_for_player (cairo_surface_t
* surface
,
66 SwfdecPlayer
* player
);
68 cairo_surface_t
* swfdec_renderer_get_surface (SwfdecRenderer
* renderer
);