2007-12-10 Tomas Frydrych <tf@openedhand.com>

* tests/test-viewport.c:
	* tests/Makefile.am:
	Added a simple viewport test.
This commit is contained in:
Tomas Frydrych 2007-12-10 10:13:31 +00:00
parent 797805c6e7
commit 54b752c869
3 changed files with 84 additions and 8 deletions

View File

@ -1,3 +1,17 @@
2007-12-10 Tomas Frydrych <tf@openedhand.com>
* tests/test-viewport.c:
* tests/Makefile.am:
Added a simple viewport test.
2007-12-10 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
(_clutter_actor_apply_modelview_transform):
Moved offset translation after rotation so that rotation coords
are also relative to the offset point.
2007-12-09 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-events.c (input_cb):
@ -26,13 +40,6 @@
(clutter_actor_get_positionu): Add unit-based accessors to
the size and position.
2007-12-07 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
(_clutter_actor_apply_modelview_transform):
Moved offset translation after rotation so that rotation coords
are also relative to the offset point.
2007-12-07 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:

View File

@ -3,7 +3,7 @@ noinst_PROGRAMS = test-textures test-events test-offscreen test-scale \
test-perspective test-rotate test-depth \
test-threads test-timeline test-score test-script \
test-model test-grab test-effects test-fullscreen \
test-shader test-unproject
test-shader test-unproject test-viewport
INCLUDES = -I$(top_srcdir)/
LDADD = $(top_builddir)/clutter/libclutter-@CLUTTER_FLAVOUR@-@CLUTTER_MAJORMINOR@.la
@ -32,5 +32,6 @@ test_script_SOURCES = test-script.c
test_model_SOURCES = test-model.c
test_effects_SOURCES = test-effects.c
test_fullscreen_SOURCES = test-fullscreen.c
test_vieport_SOURCES = test-viewport.c
EXTRA_DIST = redhand.png test-script.json

68
tests/test-viewport.c Normal file
View File

@ -0,0 +1,68 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <clutter/clutter.h>
int
main (int argc, char *argv[])
{
ClutterTimeline *timeline;
ClutterAlpha *alpha;
ClutterBehaviour *r_behave;
ClutterActor *stage;
ClutterActor *hand;
ClutterColor stage_color = { 0xcc, 0xcc, 0xcc, 0xff };
GdkPixbuf *pixbuf;
clutter_init (&argc, &argv);
stage = clutter_stage_get_default ();
pixbuf = gdk_pixbuf_new_from_file ("redhand.png", NULL);
if (!pixbuf)
g_error("pixbuf load failed");
clutter_stage_set_color (CLUTTER_STAGE (stage),
&stage_color);
/* Make a hand */
hand = clutter_texture_new_from_pixbuf (pixbuf);
clutter_actor_set_position (hand, 300, 200);
clutter_actor_set_clip (hand, 20, 21, 132, 170);
clutter_actor_set_anchor_point (hand, 86, 125);
clutter_actor_show (hand);
clutter_container_add_actor (CLUTTER_CONTAINER (stage), hand);
/* Make a timeline */
timeline = clutter_timeline_new (200, 26); /* num frames, fps */
g_object_set (timeline, "loop", TRUE, NULL);
/* Set an alpha func to power behaviour - ramp is constant rise/fall */
alpha = clutter_alpha_new_full (timeline,
CLUTTER_ALPHA_RAMP_INC,
NULL, NULL);
/* Create a behaviour for that alpha */
r_behave = clutter_behaviour_rotate_new (alpha,
CLUTTER_Z_AXIS,
CLUTTER_ROTATE_CW,
0.0, 360.0);
/* Apply it to our actor */
clutter_behaviour_apply (r_behave, hand);
/* start the timeline and thus the animations */
clutter_timeline_start (timeline);
clutter_actor_show_all (stage);
clutter_main();
g_object_unref (r_behave);
return 0;
}