diff --git a/clutter/clutter/clutter-offscreen-effect.c b/clutter/clutter/clutter-offscreen-effect.c index 2fed76744..10a9cc24a 100644 --- a/clutter/clutter/clutter-offscreen-effect.c +++ b/clutter/clutter/clutter-offscreen-effect.c @@ -603,6 +603,30 @@ clutter_offscreen_effect_get_target (ClutterOffscreenEffect *effect) return (CoglMaterial *)effect->priv->target; } +/** + * clutter_offscreen_effect_get_pipeline: + * @effect: a #ClutterOffscreenEffect + * + * Retrieves the pipeline used as a render target for the offscreen + * buffer created by @effect + * + * You should only use the returned #CoglPipeline when painting. The + * returned pipeline might change between different frames. + * + * Return value: (transfer none): a #CoglPipeline or %NULL. The + * returned pipeline is owned by Clutter and it should not be + * modified or freed + * + */ +CoglPipeline * +clutter_offscreen_effect_get_pipeline (ClutterOffscreenEffect *effect) +{ + g_return_val_if_fail (CLUTTER_IS_OFFSCREEN_EFFECT (effect), + NULL); + + return effect->priv->target; +} + /** * clutter_offscreen_effect_paint_target: * @effect: a #ClutterOffscreenEffect diff --git a/clutter/clutter/clutter-offscreen-effect.h b/clutter/clutter/clutter-offscreen-effect.h index 2de98bb0a..7cac5d7de 100644 --- a/clutter/clutter/clutter-offscreen-effect.h +++ b/clutter/clutter/clutter-offscreen-effect.h @@ -98,6 +98,9 @@ GType clutter_offscreen_effect_get_type (void) G_GNUC_CONST; CLUTTER_EXPORT CoglMaterial * clutter_offscreen_effect_get_target (ClutterOffscreenEffect *effect); +CLUTTER_EXPORT +CoglPipeline * clutter_offscreen_effect_get_pipeline (ClutterOffscreenEffect *effect); + CLUTTER_EXPORT CoglHandle clutter_offscreen_effect_get_texture (ClutterOffscreenEffect *effect);