From d61ee2240b218df56ea6651025ad95034a3fb164 Mon Sep 17 00:00:00 2001 From: Matthew Allum Date: Wed, 21 Jun 2006 16:29:28 +0000 Subject: [PATCH] 2006-06-21 Matthew Allum * clutter/Makefile.am: Make sure clutter.h included. * clutter/clutter-stage.c: (clutter_stage_realize), (clutter_stage_get_actor_at_pos): Select for motion events on X window. Return highest rather than lowest found actor for actor_at_pos. * examples/Makefile.am: Remove test-text, remane test video. * examples/README: Add info about the included examples. * examples/test-video.c: * examples/video-player.c: Redo test-video a little nicer and rename. * examples/video-cube.c: Fix so it at least 'works' again. * examples/test.c: Clean up a little. --- ChangeLog | 20 ++ clutter/Makefile.am | 32 ++-- clutter/clutter-stage.c | 5 +- examples/Makefile.am | 23 +-- examples/README | 37 ++++ examples/media-actions-pause.png | Bin 0 -> 6434 bytes examples/media-actions-start.png | Bin 0 -> 8053 bytes examples/test-video.c | 158 ---------------- examples/test.c | 3 +- examples/vid-panel.png | Bin 0 -> 98180 bytes examples/video-cube.c | 9 +- examples/video-player.c | 383 +++++++++++++++++++++++++++++++++++++++ 12 files changed, 477 insertions(+), 193 deletions(-) create mode 100644 examples/README create mode 100644 examples/media-actions-pause.png create mode 100644 examples/media-actions-start.png delete mode 100644 examples/test-video.c create mode 100644 examples/vid-panel.png create mode 100644 examples/video-player.c diff --git a/ChangeLog b/ChangeLog index b74d007..d87024b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +2006-06-21 Matthew Allum + + * clutter/Makefile.am: + Make sure clutter.h included. + * clutter/clutter-stage.c: (clutter_stage_realize), + (clutter_stage_get_actor_at_pos): + Select for motion events on X window. + Return highest rather than lowest found actor for actor_at_pos. + * examples/Makefile.am: + Remove test-text, remane test video. + * examples/README: + Add info about the included examples. + * examples/test-video.c: + * examples/video-player.c: + Redo test-video a little nicer and rename. + * examples/video-cube.c: + Fix so it at least 'works' again. + * examples/test.c: + Clean up a little. + 2006-06-21 Ross Burton * Makefile.am: diff --git a/clutter/Makefile.am b/clutter/Makefile.am index e1c1d89..30146b2 100644 --- a/clutter/Makefile.am +++ b/clutter/Makefile.am @@ -5,22 +5,22 @@ GLIB_MKENUMS=`pkg-config --variable=glib_mkenums glib-2.0` BUILT_SOURCES = $(MARSHALFILES) $(ENUMFILES) -source_h = \ - $(srcdir)/clutter-keysyms.h \ - $(srcdir)/clutter-util.h \ - $(srcdir)/clutter-media.h \ - $(srcdir)/clutter-event.h \ - $(srcdir)/clutter-color.h \ - $(srcdir)/clutter-timeline.h \ - $(srcdir)/clutter-actor.h \ - $(srcdir)/clutter-group.h \ - $(srcdir)/clutter-stage.h \ - $(srcdir)/clutter-rectangle.h \ - $(srcdir)/clutter-texture.h \ - $(srcdir)/clutter-clone-texture.h \ - $(srcdir)/clutter-video-texture.h \ - $(srcdir)/clutter-label.h \ - $(srcdir)/clutter-main.h +source_h = clutter.h \ + clutter-keysyms.h \ + clutter-util.h \ + clutter-media.h \ + clutter-event.h \ + clutter-color.h \ + clutter-timeline.h \ + clutter-actor.h \ + clutter-group.h \ + clutter-stage.h \ + clutter-rectangle.h \ + clutter-texture.h \ + clutter-clone-texture.h \ + clutter-video-texture.h \ + clutter-label.h \ + clutter-main.h clutter-marshal.h: clutter-marshal.list ( $(GLIB_GENMARSHAL) --prefix=clutter_marshal \ diff --git a/clutter/clutter-stage.c b/clutter/clutter-stage.c index f39296a..79ee032 100644 --- a/clutter/clutter-stage.c +++ b/clutter/clutter-stage.c @@ -403,6 +403,8 @@ clutter_stage_realize (ClutterActor *actor) priv->xwin, StructureNotifyMask |ExposureMask + /* FIXME: we may want to eplicity enable MotionMask */ + |PointerMotionMask |KeyPressMask |KeyReleaseMask |ButtonPressMask @@ -1058,7 +1060,8 @@ clutter_stage_get_actor_at_pos (ClutterStage *stage, g_print ("Hit at %i\n", buff[i * 4 + 3]); #endif - found = clutter_group_find_child_by_id (CLUTTER_GROUP (stage), buff[3]); + found = clutter_group_find_child_by_id (CLUTTER_GROUP (stage), + buff[(hits-1) * 4 + 3]); } sync_gl_viewport (stage); diff --git a/examples/Makefile.am b/examples/Makefile.am index 5f74677..86881d9 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -1,4 +1,4 @@ -noinst_PROGRAMS = test test-video video-cube test-text super-oh +noinst_PROGRAMS = test video-player video-cube super-oh INCLUDES = -I$(top_srcdir)/ @@ -10,9 +10,9 @@ test_LDFLAGS = \ $(GCONF_LIBS) \ $(top_builddir)/clutter/libclutter-@CLUTTER_MAJORMINOR@.la -test_video_SOURCES = test-video.c -test_video_CFLAGS = $(CLUTTER_CFLAGS) $(GST_CFLAGS) $(GCONF_CFLAGS) -test_video_LDFLAGS = \ +video_player_SOURCES = video-player.c +video_player_CFLAGS = $(CLUTTER_CFLAGS) $(GST_CFLAGS) $(GCONF_CFLAGS) +video_player_LDFLAGS = \ $(CLUTTER_LIBS) \ $(GST_LIBS) \ $(GCONF_LIBS) \ @@ -26,14 +26,6 @@ video_cube_LDFLAGS = \ $(GCONF_LIBS) \ $(top_builddir)/clutter/libclutter-@CLUTTER_MAJORMINOR@.la -test_text_SOURCES = test-text.c -test_text_CFLAGS = $(CLUTTER_CFLAGS) $(GST_CFLAGS) $(GCONF_CFLAGS) -test_text_LDFLAGS = \ - $(CLUTTER_LIBS) \ - $(GST_LIBS) \ - $(GCONF_LIBS) \ - $(top_builddir)/clutter/libclutter-@CLUTTER_MAJORMINOR@.la - super_oh_SOURCES = super-oh.c super_oh_CFLAGS = $(CLUTTER_CFLAGS) $(GST_CFLAGS) $(GCONF_CFLAGS) super_oh_LDFLAGS = \ @@ -42,4 +34,9 @@ super_oh_LDFLAGS = \ $(GCONF_LIBS) \ $(top_builddir)/clutter/libclutter-@CLUTTER_MAJORMINOR@.la -EXTRA_DIST = redhand.png clutter-logo-800x600.png \ No newline at end of file +EXTRA_DIST = redhand.png \ + clutter-logo-800x600.png \ + media-actions-pause.png \ + media-actions-start.png \ + vid-panel.png \ + README diff --git a/examples/README b/examples/README new file mode 100644 index 0000000..1e2e389 --- /dev/null +++ b/examples/README @@ -0,0 +1,37 @@ +examples/ +=== + +This directory contains a number of simple hacks come tests come +examples come clutter demos. + +There are: + + o test + + Lots of randomness. Scratchpad to test new features. + + o test.py + + Like above but more randomness in python. + + o super-oh + + Spinning OH logos. Click to dissapear. + + o video-player. + + Simple fullscreen video player. + + - Move mouse to see controls. + - Hit q or Esc to exit, p to toggle pause state. + - Has some useless cheesy effects built in. + - Hit e to flip the video. + + o video-cube. + + Pure evil. A nasty hack to do a video cube with clutter. + Could be done much nicer. + + +Also see http://svn.o-hand.com/repos/misc/trunk/opt for a simple +clutter based presentation program. diff --git a/examples/media-actions-pause.png b/examples/media-actions-pause.png new file mode 100644 index 0000000000000000000000000000000000000000..38614e1c7a9719357549b2e5f7590290febc76ed GIT binary patch literal 6434 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 literal 0 HcmV?d00001 diff --git a/examples/media-actions-start.png b/examples/media-actions-start.png new file mode 100644 index 0000000000000000000000000000000000000000..b3c6170bf638824c63abe4900d531c9403b7357f GIT binary patch literal 8053 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 D9};(B literal 0 HcmV?d00001 diff --git a/examples/test-video.c b/examples/test-video.c deleted file mode 100644 index efa0690..0000000 --- a/examples/test-video.c +++ /dev/null @@ -1,158 +0,0 @@ -#include - -ClutterActor *rect; /* um... */ - - -void input_cb (ClutterStage *stage, - ClutterEvent *event, - gpointer user_data) -{ - ClutterVideoTexture *vtex = CLUTTER_VIDEO_TEXTURE(user_data); - static gint paused = 0; - - if (event->type == CLUTTER_KEY_RELEASE) - { - if (paused) - { - clutter_media_set_playing (CLUTTER_MEDIA(vtex), TRUE); - paused = 0; - } - else - { - clutter_media_set_playing (CLUTTER_MEDIA(vtex), FALSE); - paused = 1; - } - } -} - -void -size_change (ClutterTexture *texture, - gint width, - gint height, - gpointer user_data) -{ - ClutterActor *stage; - ClutterGeometry stage_geom; - gint vid_width, vid_height, new_y, new_height; - - stage = clutter_stage_get_default (); - - clutter_actor_get_geometry (stage, &stage_geom); - - clutter_texture_get_base_size (texture, &vid_width, &vid_height); - - printf("*** vid : %ix%i stage %ix%i ***\n", - vid_width, vid_height, stage_geom.width, stage_geom.height); - - - new_height = ( vid_height * stage_geom.width ) / vid_width; - new_y = (stage_geom.height - new_height) / 2; - - clutter_actor_set_position (CLUTTER_ACTOR (texture), 0, new_y); - - clutter_actor_set_size (CLUTTER_ACTOR (texture), - stage_geom.width, - new_height); - - // clutter_actor_set_opacity (CLUTTER_ACTOR (texture), 50); - - printf("*** Pos set to +%i+%i , %ix%i ***\n", - 0, new_y, stage_geom.width, new_height); -} - -void -tick (GObject *object, - GParamSpec *pspec, - ClutterLabel *label) -{ - ClutterVideoTexture *vtex; - gint w, h, position, duration; - gchar buf[256]; - - vtex = CLUTTER_VIDEO_TEXTURE(object); - - position = clutter_media_get_position (CLUTTER_MEDIA(vtex)); - duration = clutter_media_get_duration (CLUTTER_MEDIA(vtex)); - - g_snprintf(buf, 256, "%i / %i", position, duration); - - clutter_label_set_text (label, buf); - - clutter_texture_get_base_size (CLUTTER_TEXTURE(label), &w, &h); - clutter_actor_set_size(rect, w+10, h+10); -} - -int -main (int argc, char *argv[]) -{ - ClutterActor *label, *vtexture, *ctexture; - ClutterActor *stage; - ClutterColor rect_color = { 0xde, 0xde, 0xdf, 0xaa }; - ClutterColor stage_color = { 0x00, 0x00, 0x00, 0x00 }; - GError *err = NULL; - - if (argc < 2) - g_error("%s