diff options
author | Filippo Argiolas <filippo.argiolas@gmail.com> | 2009-04-25 20:13:23 +0200 |
---|---|---|
committer | Filippo Argiolas <filippo.argiolas@gmail.com> | 2009-04-25 20:13:23 +0200 |
commit | bc455c2218313fcbead104b52469818a4732ec53 (patch) | |
tree | 3e0175fb5966cb5a2410eead85d36e7685bd3a52 | |
parent | 598c01588ecea3f6f5b3b49cf3e6dcf1d091fd99 (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.am | 2 | ||||
-rw-r--r-- | src/cheese-grid.c | 4 | ||||
-rw-r--r-- | src/cheese-stage.c | 14 | ||||
-rw-r--r-- | src/cheese-texture.c | 2 |
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 * |