From 51f7892600b2032f725801c45d7c3b3891053773 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 20 Jul 2016 19:13:47 +0200 Subject: [PATCH] tests: Drop tests that use cogl-1.0 path API Commit d62d780a9526c dropped the 1.0 version of that API as well as the 2.0 compatibility layer. --- clutter/tests/interactive/Makefile.am | 2 - clutter/tests/interactive/test-clip.c | 396 ------------------ .../tests/interactive/test-cogl-primitives.c | 144 ------- 3 files changed, 542 deletions(-) delete mode 100644 clutter/tests/interactive/test-clip.c delete mode 100644 clutter/tests/interactive/test-cogl-primitives.c diff --git a/clutter/tests/interactive/Makefile.am b/clutter/tests/interactive/Makefile.am index 03c5c94c0..d7eb437b8 100644 --- a/clutter/tests/interactive/Makefile.am +++ b/clutter/tests/interactive/Makefile.am @@ -15,7 +15,6 @@ UNIT_TESTS = \ test-state-animator.c \ test-fbo.c \ test-multistage.c \ - test-cogl-primitives.c \ test-cogl-tex-tile.c \ test-cogl-tex-convert.c \ test-cogl-tex-foreign.c \ @@ -24,7 +23,6 @@ UNIT_TESTS = \ test-cogl-tex-polygon.c \ test-cogl-multitexture.c \ test-stage-read-pixels.c \ - test-clip.c \ test-paint-wrapper.c \ test-texture-quality.c \ test-layout.c \ diff --git a/clutter/tests/interactive/test-clip.c b/clutter/tests/interactive/test-clip.c deleted file mode 100644 index 1b4401f88..000000000 --- a/clutter/tests/interactive/test-clip.c +++ /dev/null @@ -1,396 +0,0 @@ -#include -#include -#include - -typedef struct _CallbackData CallbackData; -typedef struct _Clip Clip; - -typedef enum - { - CLIP_NONE, - CLIP_RECTANGLE, - CLIP_ROTATED_RECTANGLE, - CLIP_SHAPES - } ClipType; - -struct _Clip -{ - ClipType type; - gint x1, y1, x2, y2; -}; - -struct _CallbackData -{ - ClutterActor *stage; - CoglHandle hand; - - Clip current_clip; - - GSList *clips; -}; - -static const char -instructions[] = - "Left button and drag to draw a rectangle, control+left to draw a rotated " - "rectangle or shift+left to draw a path. Press 'r' to reset or 'u' " - "to undo the last clip."; - -static void -path_shapes (gint x, gint y, gint width, gint height) -{ - cogl_path_move_to (x, y); - cogl_path_line_to (x, (y + height * 4 / 5)); - cogl_path_line_to ((x + width * 4 / 15), (y + height * 4 / 5)); - cogl_path_close (); - - cogl_path_rectangle (x + width / 3, - y, - x + width * 9 / 15, - y + height * 4 / 5); - - cogl_path_ellipse ((x + width * 4 / 5), - (y + height * 2 / 5), - (width * 2 / 15), - (height * 2 / 5)); -} - -static void -draw_shapes (gint x, gint y) -{ - path_shapes (x, y, 300, 100); - cogl_set_source_color4ub (0x00, 0x00, 0xff, 0xff); - cogl_path_fill_preserve (); - cogl_set_source_color4ub (0xff, 0x00, 0x00, 0xff); - cogl_path_stroke (); -} - -static void -make_clip_path (Clip *clip) -{ - switch (clip->type) - { - case CLIP_NONE: - break; - - case CLIP_RECTANGLE: - cogl_path_rectangle (clip->x1, - clip->y1, - clip->x2, - clip->y2); - break; - - case CLIP_ROTATED_RECTANGLE: - { - int size = MIN (ABS (clip->x2 - clip->x1), - ABS (clip->y2 - clip->y1)); - int cx = (clip->x1 + clip->x2) / 2; - int cy = (clip->y1 + clip->y2) / 2; - - cogl_path_move_to (cx - size / 2, cy); - cogl_path_line_to (cx, cy - size / 2); - cogl_path_line_to (cx + size / 2, cy); - cogl_path_line_to (cx, cy + size / 2); - cogl_path_close (); - } - break; - - case CLIP_SHAPES: - { - int x, y, width, height; - - if (clip->x1 < clip->x2) - { - x = clip->x1; - width = clip->x2 - x; - } - else - { - x = clip->x2; - width = clip->x1 - x; - } - if (clip->y1 < clip->y2) - { - y = clip->y1; - height = clip->y2 - y; - } - else - { - y = clip->y2; - height = clip->y1 - y; - } - - path_shapes (x, y, width, height); - } - break; - } -} - -static void -on_paint (ClutterActor *actor, CallbackData *data) -{ - int i; - ClutterGeometry stage_size; - gint hand_width, hand_height; - GSList *node; - - clutter_actor_get_allocation_geometry (data->stage, &stage_size); - - hand_width = cogl_texture_get_width (data->hand); - hand_height = cogl_texture_get_height (data->hand); - - /* Setup the clipping */ - for (node = data->clips; node; node = node->next) - { - Clip *clip = (Clip *) node->data; - - if (clip->type == CLIP_RECTANGLE) - cogl_clip_push_rectangle (clip->x1, - clip->y1, - clip->x2, - clip->y2); - else if (clip->type == CLIP_ROTATED_RECTANGLE) - { - float size = MIN (ABS (clip->x2 - clip->x1), - ABS (clip->y2 - clip->y1)); - int cx = (clip->x1 + clip->x2) / 2; - int cy = (clip->y1 + clip->y2) / 2; - - size = sqrtf ((size / 2) * (size / 2) * 2); - - cogl_push_matrix (); - - /* Rotate 45° about the centre point */ - cogl_translate (cx, cy, 0.0f); - cogl_rotate (45.0f, 0.0f, 0.0f, 1.0f); - cogl_clip_push_rectangle (-size / 2, -size / 2, size / 2, size / 2); - - cogl_pop_matrix (); - } - else - { - make_clip_path (clip); - cogl_clip_push_from_path (); - } - } - - /* Draw a rectangle filling the entire stage */ - cogl_set_source_color4ub (0x80, 0x80, 0xff, 0xff); - cogl_rectangle (0, 0, stage_size.width, stage_size.height); - - draw_shapes (10, 10); - - /* Draw the hand at different rotations */ - for (i = -2; i <= 2; i++) - { - cogl_push_matrix (); - - cogl_translate (stage_size.width / 2 + stage_size.width / 6 * i, - stage_size.height / 2, 0); - - cogl_rotate (i * 40, 0, 1, 0); - - cogl_set_source_color4ub (0xff, 0xff, 0xff, 0xff); - - cogl_set_source_texture (data->hand); - cogl_rectangle_with_texture_coords ((-hand_width / 2), - (-hand_height / 2), - (hand_width / 2), - (hand_height / 2), - 0, 0, 1, 1); - - cogl_pop_matrix (); - } - - draw_shapes (stage_size.width - 310, stage_size.height - 110); - - /* Remove all of the clipping */ - g_slist_foreach (data->clips, (GFunc) cogl_clip_pop, NULL); - - /* Draw the bounding box for each of the clips */ - for (node = data->clips; node; node = node->next) - { - Clip *clip = (Clip *) node->data; - - make_clip_path (clip); - cogl_set_source_color4ub (0x00, 0x00, 0xff, 0xff); - cogl_path_stroke (); - } - - /* Draw the bounding box for the pending new clip */ - if (data->current_clip.type != CLIP_NONE) - { - make_clip_path (&data->current_clip); - cogl_set_source_color4ub (0xff, 0x00, 0x00, 0xff); - cogl_path_stroke (); - } -} - -static gboolean -on_button_press (ClutterActor *stage, ClutterButtonEvent *event, - CallbackData *data) -{ - data->current_clip.x1 = data->current_clip.x2 = event->x; - data->current_clip.y1 = data->current_clip.y2 = event->y; - - switch (event->button) - { - case CLUTTER_BUTTON_PRIMARY: - if (clutter_event_has_shift_modifier ((ClutterEvent *) event)) - data->current_clip.type = CLIP_SHAPES; - else if (clutter_event_has_control_modifier ((ClutterEvent *) event)) - data->current_clip.type = CLIP_ROTATED_RECTANGLE; - else - data->current_clip.type = CLIP_RECTANGLE; - break; - - case CLUTTER_BUTTON_SECONDARY: - data->current_clip.type = CLIP_ROTATED_RECTANGLE; - break; - - case CLUTTER_BUTTON_MIDDLE: - data->current_clip.type = CLIP_SHAPES; - break; - - default: - data->current_clip.type = CLIP_NONE; - break; - } - - clutter_actor_queue_redraw (stage); - - return FALSE; -} - -static gboolean -on_button_release (ClutterActor *stage, ClutterButtonEvent *event, - CallbackData *data) -{ - if (data->current_clip.type != CLIP_NONE) - { - data->clips = g_slist_prepend (data->clips, - g_slice_copy (sizeof (Clip), - &data->current_clip)); - - data->current_clip.type = CLIP_NONE; - } - - clutter_actor_queue_redraw (stage); - - return FALSE; -} - -static gboolean -on_motion (ClutterActor *stage, ClutterMotionEvent *event, - CallbackData *data) -{ - if (data->current_clip.type != CLIP_NONE) - { - data->current_clip.x2 = event->x; - data->current_clip.y2 = event->y; - - clutter_actor_queue_redraw (stage); - } - - return FALSE; -} - -static void -free_clips (CallbackData *data) -{ - GSList *node; - - for (node = data->clips; node; node = node->next) - g_slice_free (Clip, node->data); - - g_slist_free (data->clips); - - data->clips = NULL; -} - -static gboolean -on_key_press (ClutterActor *stage, - ClutterEvent *event, - CallbackData *data) -{ - switch (clutter_event_get_key_symbol (event)) - { - case CLUTTER_KEY_r: - free_clips (data); - clutter_actor_queue_redraw (stage); - break; - - case CLUTTER_KEY_u: - if (data->clips) - { - g_slice_free (Clip, data->clips->data); - data->clips = g_slist_delete_link (data->clips, data->clips); - clutter_actor_queue_redraw (stage); - } - break; - } - - return FALSE; -} - -G_MODULE_EXPORT int -test_clip_main (int argc, char **argv) -{ - CallbackData data; - ClutterActor *stub_actor, *label; - gchar *file; - - if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS) - return 1; - - data.current_clip.type = CLIP_NONE; - data.clips = NULL; - - data.stage = clutter_stage_new (); - clutter_stage_set_title (CLUTTER_STAGE (data.stage), "Clipping"); - g_signal_connect (data.stage, "destroy", G_CALLBACK (clutter_main_quit), NULL); - - stub_actor = clutter_rectangle_new (); - clutter_container_add (CLUTTER_CONTAINER (data.stage), stub_actor, NULL); - - file = g_build_filename (TESTS_DATADIR, "redhand.png", NULL); - data.hand = cogl_texture_new_from_file (file, - COGL_TEXTURE_NONE, - COGL_PIXEL_FORMAT_ANY, - NULL); - g_free (file); - - label = clutter_text_new_with_text ("Sans 12px", instructions); - clutter_text_set_line_wrap (CLUTTER_TEXT (label), TRUE); - clutter_actor_set_width (label, clutter_actor_get_width (data.stage) - 310); - clutter_actor_set_y (label, - clutter_actor_get_height (data.stage) - - clutter_actor_get_height (label)); - clutter_container_add (CLUTTER_CONTAINER (data.stage), label, NULL); - - g_signal_connect (stub_actor, "paint", G_CALLBACK (on_paint), &data); - - g_signal_connect (data.stage, "button-press-event", - G_CALLBACK (on_button_press), &data); - g_signal_connect (data.stage, "button-release-event", - G_CALLBACK (on_button_release), &data); - g_signal_connect (data.stage, "motion-event", - G_CALLBACK (on_motion), &data); - g_signal_connect (data.stage, "key-press-event", - G_CALLBACK (on_key_press), &data); - - clutter_actor_show (data.stage); - - clutter_main (); - - cogl_handle_unref (data.hand); - - free_clips (&data); - - return 0; -} - -G_MODULE_EXPORT const char * -test_clip_describe (void) -{ - return "Actor clipping with various techniques"; -} diff --git a/clutter/tests/interactive/test-cogl-primitives.c b/clutter/tests/interactive/test-cogl-primitives.c deleted file mode 100644 index 8880d717e..000000000 --- a/clutter/tests/interactive/test-cogl-primitives.c +++ /dev/null @@ -1,144 +0,0 @@ -#include -#include -#include - -#include -#include - -typedef void (*PaintFunc) (void); - -static void -test_paint_line (void) -{ - cogl_path_line (-50, -25, 50, 25); -} - -static void -test_paint_rect (void) -{ - cogl_path_rectangle (-50, -25, 50, 25); -} - -static void -test_paint_rndrect(void) -{ - cogl_path_round_rectangle (-50, -25, 50, 25, 10, 5); -} - -static void -test_paint_polyl (void) -{ - gfloat poly_coords[] = { - -50, -50, - +50, -30, - +30, +30, - -30, +40 - }; - - cogl_path_polyline (poly_coords, 4); -} - -static void -test_paint_polyg (void) -{ - gfloat poly_coords[] = { - -50, -50, - +50, -30, - +30, +30, - -30, +40 - }; - - cogl_path_polygon (poly_coords, 4); -} - -static void -test_paint_elp (void) -{ - cogl_path_ellipse (0, 0, 60, 40); -} - -static void -test_paint_curve (void) -{ - cogl_path_move_to (-50, +50); - - cogl_path_curve_to (+100, -50, - -100, -50, - +50, +50); -} - -static PaintFunc paint_func []= -{ - test_paint_line, - test_paint_rect, - test_paint_rndrect, - test_paint_polyl, - test_paint_polyg, - test_paint_elp, - test_paint_curve -}; - -static void -paint_cb (ClutterActor *self, ClutterTimeline *tl) -{ - gint paint_index = (clutter_timeline_get_progress (tl) - * G_N_ELEMENTS (paint_func)); - - cogl_push_matrix (); - - paint_func[paint_index] (); - - cogl_translate (100, 100, 0); - cogl_set_source_color4ub (0, 160, 0, 255); - cogl_path_stroke_preserve (); - - cogl_translate (150, 0, 0); - cogl_set_source_color4ub (200, 0, 0, 255); - cogl_path_fill (); - - cogl_pop_matrix(); -} - -G_MODULE_EXPORT int -test_cogl_primitives_main (int argc, char *argv[]) -{ - ClutterActor *stage; - ClutterActor *coglbox; - ClutterTimeline *tl; - - if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS) - return 1; - - tl = clutter_timeline_new (G_N_ELEMENTS (paint_func) * 1000); - clutter_timeline_set_loop (tl, TRUE); - clutter_timeline_start (tl); - - stage = clutter_stage_new (); - clutter_actor_set_size (stage, 400, 400); - clutter_stage_set_title (CLUTTER_STAGE (stage), "Cogl Path Primitives"); - g_signal_connect (stage, "destroy", G_CALLBACK (clutter_main_quit), NULL); - - coglbox = clutter_group_new (); - clutter_container_add_actor (CLUTTER_CONTAINER (stage), coglbox); - g_signal_connect (coglbox, "paint", G_CALLBACK (paint_cb), tl); - /* Redraw every frame of the timeline */ - g_signal_connect_swapped (tl, "new-frame", - G_CALLBACK (clutter_actor_queue_redraw), coglbox); - - clutter_actor_set_rotation (coglbox, CLUTTER_Y_AXIS, -30, 200, 0, 0); - clutter_actor_set_position (coglbox, 0, 100); - - clutter_actor_show (stage); - - clutter_main (); - - g_object_unref (tl); - - return 0; -} - -G_MODULE_EXPORT const char * -test_cogl_primitives (void) -{ - return "2D Path primitives support in Cogl."; -}