summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippo Argiolas <filippo.argiolas@gmail.com>2009-04-25 20:13:23 +0200
committerFilippo Argiolas <filippo.argiolas@gmail.com>2009-04-25 20:13:23 +0200
commitbc455c2218313fcbead104b52469818a4732ec53 (patch)
tree3e0175fb5966cb5a2410eead85d36e7685bd3a52
parent598c01588ecea3f6f5b3b49cf3e6dcf1d091fd99 (diff)
Subclass CheeseTexture
Write a placeholder subclass of CheeseTexture, at the moment it doesn't do anything but could be useful to abstract the gstreamer part from the TFP backend or just for keeping everything a bit cleaner, we'll see.
-rw-r--r--src/Makefile.am2
-rw-r--r--src/cheese-grid.c4
-rw-r--r--src/cheese-stage.c14
-rw-r--r--src/cheese-texture.c2
4 files changed, 10 insertions, 12 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 4c77e41..93df2e8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -4,6 +4,8 @@ cheese_stage_SOURCES = \
cheese-stage.c \
cheese-texture.h \
cheese-texture.c \
+ cheese-actor.c \
+ cheese-actor.h \
cheese-grid.h \
cheese-grid.c
diff --git a/src/cheese-grid.c b/src/cheese-grid.c
index 3fe5ce0..d08484f 100644
--- a/src/cheese-grid.c
+++ b/src/cheese-grid.c
@@ -30,6 +30,10 @@
#include "cheese-grid.h"
+#define ROWS 3
+#define COLS 3
+#define N_ACTORS ROWS*COLS
+
typedef struct _CheeseGridActorData CheeseGridActorData;
static void cheese_grid_dispose (GObject *object);
diff --git a/src/cheese-stage.c b/src/cheese-stage.c
index 117e1a0..b4703d1 100644
--- a/src/cheese-stage.c
+++ b/src/cheese-stage.c
@@ -17,12 +17,11 @@
* Boston, MA 02111-1307, USA.
*/
-#include "cheese-texture.h"
+#include "cheese-actor.h"
#include "cheese-grid.h"
#include <gtk/gtk.h>
#include <clutter/clutter.h>
-#include <clutter/x11/clutter-x11.h>
#include <clutter-gtk/clutter-gtk.h>
#include <gst/gst.h>
#include <gst/interfaces/xoverlay.h>
@@ -36,7 +35,7 @@
static GstBusSyncReply
create_window (GstBus * bus, GstMessage * message, gpointer data)
{
- CheeseTexture **actor = (CheeseTexture **) data;
+ CheeseActor **actor = (CheeseActor **) data;
static gint count = 0;
static GMutex *mutex = NULL;
Window win;
@@ -158,10 +157,7 @@ main (int argc, char *argv[])
GstElement *tee;
GstElement *fx[N_ACTORS];
GstElement *queue[N_ACTORS], *sink[N_ACTORS];
-/*
- GstElement *upload[N_ACTORS];
- GstElement *effect[N_ACTORS];
-*/
+
const gchar *desc;
gint i;
gint ok = FALSE;
@@ -200,8 +196,6 @@ main (int argc, char *argv[])
"column-gap", CLUTTER_UNITS_FROM_INT(5),
NULL);
-// clutter_actor_set_size (layout, 600, 200);
-
clutter_container_add_actor (CLUTTER_CONTAINER (stage), layout);
g_signal_connect (window, "configure-event",
@@ -213,7 +207,6 @@ main (int argc, char *argv[])
clutter_actor_set_scale_with_gravity (actor[i], 1.0, 1.0,
CLUTTER_GRAVITY_CENTER);
clutter_container_add_actor (CLUTTER_CONTAINER (layout), actor[i]);
-// clutter_actor_set_position (actor[i], xpos, ypos);
clutter_actor_set_reactive (actor[i], TRUE);
g_signal_connect (actor[i], "button-press-event", G_CALLBACK (on_button_animate), NULL);
// g_signal_connect (actor[i], "enter-event", G_CALLBACK (on_enter_animate), NULL);
@@ -223,7 +216,6 @@ main (int argc, char *argv[])
ypos += H + 1;
} else
xpos += W + 1;
-// clutter_actor_show (actor[i]);
}
/* desc = g_strdup_printf ("v4l2src ! "
"video/x-raw-rgb, width=320, height=240, framerate=30/1 ! "
diff --git a/src/cheese-texture.c b/src/cheese-texture.c
index 89b08a7..5967cdc 100644
--- a/src/cheese-texture.c
+++ b/src/cheese-texture.c
@@ -220,7 +220,7 @@ cheese_texture_init (CheeseTexture * self)
gdk_window_add_filter (NULL, gdk_filter, self);
// g_message ("toplevel is %d", GDK_WINDOW_XID (gdk_window_get_toplevel (window)));
- g_object_set (self, "window", GDK_WINDOW_XID (window), "automatic-updates", TRUE, NULL);
+ g_object_set (self, "window", GDK_WINDOW_XID (window), "automatic-updates", FALSE, NULL);
}
ClutterActor *