[clutter/wip/cogl2: 1/5] offscreen-effect: Make get_target virtual
- From: Neil Roberts <nroberts src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter/wip/cogl2: 1/5] offscreen-effect: Make get_target virtual
- Date: Mon, 30 Apr 2012 15:32:49 +0000 (UTC)
commit 7ce59cc56d1b3a6b0050775f874e34024ffe31c6
Author: Neil Roberts <neil linux intel com>
Date: Fri Apr 27 17:45:45 2012 +0100
offscreen-effect: Make get_target virtual
The clutter_offscreen_effect_get_target function now goes through a
virtual method. This will be useful so that ClutterShaderEffect can
directly return a target with the right program attached instead of
having to modify the material returned by ClutterOffscreenEffect.
clutter/clutter-offscreen-effect.c | 9 ++++++++-
clutter/clutter-offscreen-effect.h | 11 ++++++-----
2 files changed, 14 insertions(+), 6 deletions(-)
---
diff --git a/clutter/clutter-offscreen-effect.c b/clutter/clutter-offscreen-effect.c
index d58227f..ee98e48 100644
--- a/clutter/clutter-offscreen-effect.c
+++ b/clutter/clutter-offscreen-effect.c
@@ -366,6 +366,12 @@ clutter_offscreen_effect_real_paint_target (ClutterOffscreenEffect *effect)
1.0, 1.0);
}
+static CoglMaterial *
+clutter_offscreen_effect_real_get_target (ClutterOffscreenEffect *effect)
+{
+ return (CoglMaterial *) effect->priv->target;
+}
+
static void
clutter_offscreen_effect_paint_texture (ClutterOffscreenEffect *effect)
{
@@ -466,6 +472,7 @@ clutter_offscreen_effect_class_init (ClutterOffscreenEffectClass *klass)
klass->create_texture = clutter_offscreen_effect_real_create_texture;
klass->paint_target = clutter_offscreen_effect_real_paint_target;
+ klass->get_target = clutter_offscreen_effect_real_get_target;
meta_class->set_actor = clutter_offscreen_effect_set_actor;
@@ -535,7 +542,7 @@ clutter_offscreen_effect_get_target (ClutterOffscreenEffect *effect)
g_return_val_if_fail (CLUTTER_IS_OFFSCREEN_EFFECT (effect),
NULL);
- return (CoglMaterial *)effect->priv->target;
+ return CLUTTER_OFFSCREEN_EFFECT_GET_CLASS (effect)->get_target (effect);
}
/**
diff --git a/clutter/clutter-offscreen-effect.h b/clutter/clutter-offscreen-effect.h
index a5987d7..6cdc6f3 100644
--- a/clutter/clutter-offscreen-effect.h
+++ b/clutter/clutter-offscreen-effect.h
@@ -77,10 +77,12 @@ struct _ClutterOffscreenEffectClass
ClutterEffectClass parent_class;
/*< public >*/
- CoglHandle (* create_texture) (ClutterOffscreenEffect *effect,
- gfloat width,
- gfloat height);
- void (* paint_target) (ClutterOffscreenEffect *effect);
+ CoglHandle (* create_texture) (ClutterOffscreenEffect *effect,
+ gfloat width,
+ gfloat height);
+ void (* paint_target) (ClutterOffscreenEffect *effect);
+
+ CoglMaterial *(* get_target) (ClutterOffscreenEffect *effect);
/*< private >*/
void (* _clutter_offscreen1) (void);
@@ -89,7 +91,6 @@ struct _ClutterOffscreenEffectClass
void (* _clutter_offscreen4) (void);
void (* _clutter_offscreen5) (void);
void (* _clutter_offscreen6) (void);
- void (* _clutter_offscreen7) (void);
};
GType clutter_offscreen_effect_get_type (void) G_GNUC_CONST;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]