diff options
author | Emmanuele Bassi <ebassi@linux.intel.com> | 2010-10-21 11:49:37 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@linux.intel.com> | 2010-10-21 12:22:17 +0100 |
commit | 43edfc940038f9582902d83e798b9985f8790f57 (patch) | |
tree | f4183fd4eaa850b9e66ab2c37fe986669c4f83b2 /clutter/clutter-backend-private.h | |
parent | 8613013ab086668360d4ce625fe7b896ca5ae0e0 (diff) | |
download | clutter-43edfc940038f9582902d83e798b9985f8790f57.tar.gz |
Clean up clutter-private.h/4
Move the private Backend API to a separate header.
This also allows us to finally move the class vtable and instance
structure to a separate file and plug the visibility hole that left
the Backend class bare for everyone to poke into.
Diffstat (limited to 'clutter/clutter-backend-private.h')
-rw-r--r-- | clutter/clutter-backend-private.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/clutter/clutter-backend-private.h b/clutter/clutter-backend-private.h new file mode 100644 index 000000000..1167ff148 --- /dev/null +++ b/clutter/clutter-backend-private.h @@ -0,0 +1,99 @@ +#ifndef __CLUTTER_BACKEND_PRIVATE_H__ +#define __CLUTTER_BACKEND_PRIVATE_H__ + +#include <clutter/clutter-backend.h> + +#define CLUTTER_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_BACKEND, ClutterBackendClass)) +#define CLUTTER_IS_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_BACKEND)) +#define CLUTTER_BACKEND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_BACKEND, ClutterBackendClass)) + +G_BEGIN_DECLS + +typedef struct _ClutterBackendPrivate ClutterBackendPrivate; +typedef struct _ClutterBackendClass ClutterBackendClass; + +struct _ClutterBackend +{ + /*< private >*/ + GObject parent_instance; + ClutterBackendPrivate *priv; +}; + +struct _ClutterBackendClass +{ + /*< private >*/ + GObjectClass parent_class; + + /* vfuncs */ + gboolean (* pre_parse) (ClutterBackend *backend, + GError **error); + gboolean (* post_parse) (ClutterBackend *backend, + GError **error); + ClutterStageWindow * (* create_stage) (ClutterBackend *backend, + ClutterStage *wrapper, + GError **error); + void (* init_events) (ClutterBackend *backend); + void (* init_features) (ClutterBackend *backend); + void (* add_options) (ClutterBackend *backend, + GOptionGroup *group); + ClutterFeatureFlags (* get_features) (ClutterBackend *backend); + void (* redraw) (ClutterBackend *backend, + ClutterStage *stage); + gboolean (* create_context) (ClutterBackend *backend, + GError **error); + void (* ensure_context) (ClutterBackend *backend, + ClutterStage *stage); + ClutterDeviceManager *(* get_device_manager) (ClutterBackend *backend); + + void (* copy_event_data) (ClutterBackend *backend, + const ClutterEvent *src, + ClutterEvent *dest); + void (* free_event_data) (ClutterBackend *backend, + ClutterEvent *event); + + /* signals */ + void (* resolution_changed) (ClutterBackend *backend); + void (* font_changed) (ClutterBackend *backend); + void (* settings_changed) (ClutterBackend *backend); +}; + +/* vfuncs implemented by backend */ +GType _clutter_backend_impl_get_type (void); + +void _clutter_backend_redraw (ClutterBackend *backend, + ClutterStage *stage); +ClutterStageWindow *_clutter_backend_create_stage (ClutterBackend *backend, + ClutterStage *wrapper, + GError **error); +void _clutter_backend_ensure_context (ClutterBackend *backend, + ClutterStage *stage); +void _clutter_backend_ensure_context_internal + (ClutterBackend *backend, + ClutterStage *stage); +gboolean _clutter_backend_create_context (ClutterBackend *backend, + GError **error); + +void _clutter_backend_add_options (ClutterBackend *backend, + GOptionGroup *group); +gboolean _clutter_backend_pre_parse (ClutterBackend *backend, + GError **error); +gboolean _clutter_backend_post_parse (ClutterBackend *backend, + GError **error); +void _clutter_backend_init_events (ClutterBackend *backend); + +void _clutter_backend_copy_event_data (ClutterBackend *backend, + const ClutterEvent *src, + ClutterEvent *dest); +void _clutter_backend_free_event_data (ClutterBackend *backend, + ClutterEvent *event); + +ClutterFeatureFlags _clutter_backend_get_features (ClutterBackend *backend); + +gfloat _clutter_backend_get_units_per_em (ClutterBackend *backend, + PangoFontDescription *font_desc); + +gint32 _clutter_backend_get_units_serial (ClutterBackend *backend); + +G_END_DECLS + +#endif /* __CLUTTER_BACKEND_PRIVATE_H__ */ |