mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 18:11:05 -05:00
2008-11-12 Emmanuele Bassi <ebassi@linux.intel.com>
* tests/conform/Makefile.am: * tests/conform/test-conform-main.c: * tests/conform/test-paint-opacity.c: Add test unit for label, rectangle and paint opacity.
This commit is contained in:
parent
4330932c76
commit
1456949193
@ -1,3 +1,10 @@
|
|||||||
|
2008-11-12 Emmanuele Bassi <ebassi@linux.intel.com>
|
||||||
|
|
||||||
|
* tests/conform/Makefile.am:
|
||||||
|
* tests/conform/test-conform-main.c:
|
||||||
|
* tests/conform/test-paint-opacity.c: Add test unit for label,
|
||||||
|
rectangle and paint opacity.
|
||||||
|
|
||||||
2008-11-12 Emmanuele Bassi <ebassi@linux.intel.com>
|
2008-11-12 Emmanuele Bassi <ebassi@linux.intel.com>
|
||||||
|
|
||||||
* clutter/cogl/cogl-color.h:
|
* clutter/cogl/cogl-color.h:
|
||||||
|
@ -18,7 +18,8 @@ test_conformance_SOURCES = \
|
|||||||
test-clutter-entry.c \
|
test-clutter-entry.c \
|
||||||
test-clutter-rectangle.c \
|
test-clutter-rectangle.c \
|
||||||
test-clutter-fixed.c \
|
test-clutter-fixed.c \
|
||||||
test-actor-invariants.c
|
test-actor-invariants.c \
|
||||||
|
test-paint-opacity.c
|
||||||
|
|
||||||
# For convenience, this provides a way to easily run individual unit tests:
|
# For convenience, this provides a way to easily run individual unit tests:
|
||||||
.PHONY: wrappers
|
.PHONY: wrappers
|
||||||
|
@ -85,7 +85,9 @@ main (int argc, char **argv)
|
|||||||
TEST_CONFORM_SIMPLE ("/mesh", test_mesh_interleved);
|
TEST_CONFORM_SIMPLE ("/mesh", test_mesh_interleved);
|
||||||
TEST_CONFORM_SIMPLE ("/mesh", test_mesh_mutability);
|
TEST_CONFORM_SIMPLE ("/mesh", test_mesh_mutability);
|
||||||
|
|
||||||
g_test_run ();
|
TEST_CONFORM_SIMPLE ("/opacity", test_label_opacity);
|
||||||
return EXIT_SUCCESS;
|
TEST_CONFORM_SIMPLE ("/opacity", test_rectangle_opacity);
|
||||||
}
|
TEST_CONFORM_SIMPLE ("/opacity", test_paint_opacity);
|
||||||
|
|
||||||
|
return g_test_run ();
|
||||||
|
}
|
||||||
|
144
tests/conform/test-paint-opacity.c
Normal file
144
tests/conform/test-paint-opacity.c
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
#include <clutter/clutter.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "test-conform-common.h"
|
||||||
|
|
||||||
|
void
|
||||||
|
test_label_opacity (TestConformSimpleFixture *fixture,
|
||||||
|
gpointer dummy)
|
||||||
|
{
|
||||||
|
ClutterActor *stage;
|
||||||
|
ClutterActor *label;
|
||||||
|
ClutterColor label_color = { 255, 0, 0, 128 };
|
||||||
|
ClutterColor color_check = { 0, };
|
||||||
|
|
||||||
|
stage = clutter_stage_get_default ();
|
||||||
|
|
||||||
|
label = clutter_label_new_with_text ("Sans 18px", "Label, 50% opacity");
|
||||||
|
clutter_label_set_color (CLUTTER_LABEL (label), &label_color);
|
||||||
|
|
||||||
|
if (g_test_verbose ())
|
||||||
|
g_print ("label 50%%.get_color()/1\n");
|
||||||
|
clutter_label_get_color (CLUTTER_LABEL (label), &color_check);
|
||||||
|
g_assert (color_check.alpha == label_color.alpha);
|
||||||
|
|
||||||
|
clutter_container_add (CLUTTER_CONTAINER (stage), label, NULL);
|
||||||
|
clutter_actor_set_position (label, 10, 10);
|
||||||
|
|
||||||
|
if (g_test_verbose ())
|
||||||
|
g_print ("label 50%%.get_color()/2\n");
|
||||||
|
clutter_label_get_color (CLUTTER_LABEL (label), &color_check);
|
||||||
|
g_assert (color_check.alpha == label_color.alpha);
|
||||||
|
|
||||||
|
if (g_test_verbose ())
|
||||||
|
g_print ("label 50%%.get_paint_opacity() = %d\n",
|
||||||
|
clutter_actor_get_paint_opacity (label));
|
||||||
|
g_assert (clutter_actor_get_paint_opacity (label) == 128);
|
||||||
|
|
||||||
|
clutter_actor_destroy (label);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
test_rectangle_opacity (TestConformSimpleFixture *fixture,
|
||||||
|
gpointer dummy)
|
||||||
|
{
|
||||||
|
ClutterActor *stage;
|
||||||
|
ClutterActor *rect;
|
||||||
|
ClutterColor rect_color = { 0, 0, 255, 255 };
|
||||||
|
ClutterColor color_check = { 0, };
|
||||||
|
|
||||||
|
stage = clutter_stage_get_default ();
|
||||||
|
|
||||||
|
rect = clutter_rectangle_new_with_color (&rect_color);
|
||||||
|
clutter_actor_set_size (rect, 128, 128);
|
||||||
|
clutter_actor_set_position (rect, 150, 90);
|
||||||
|
|
||||||
|
if (g_test_verbose ())
|
||||||
|
g_print ("rect 100%%.get_color()/1\n");
|
||||||
|
clutter_rectangle_get_color (CLUTTER_RECTANGLE (rect), &color_check);
|
||||||
|
g_assert (color_check.alpha == rect_color.alpha);
|
||||||
|
|
||||||
|
clutter_container_add (CLUTTER_CONTAINER (stage), rect, NULL);
|
||||||
|
|
||||||
|
if (g_test_verbose ())
|
||||||
|
g_print ("rect 100%%.get_color()/2\n");
|
||||||
|
clutter_rectangle_get_color (CLUTTER_RECTANGLE (rect), &color_check);
|
||||||
|
g_assert (color_check.alpha == rect_color.alpha);
|
||||||
|
|
||||||
|
if (g_test_verbose ())
|
||||||
|
g_print ("rect 100%%.get_paint_opacity() = %d\n",
|
||||||
|
clutter_actor_get_paint_opacity (rect));
|
||||||
|
g_assert (clutter_actor_get_paint_opacity (rect) == 255);
|
||||||
|
|
||||||
|
clutter_actor_destroy (rect);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
test_paint_opacity (TestConformSimpleFixture *fixture,
|
||||||
|
gpointer dummy)
|
||||||
|
{
|
||||||
|
ClutterActor *stage, *group1, *group2;
|
||||||
|
ClutterActor *label, *rect;
|
||||||
|
ClutterColor label_color = { 255, 0, 0, 128 };
|
||||||
|
ClutterColor rect_color = { 0, 0, 255, 255 };
|
||||||
|
ClutterColor color_check = { 0, };
|
||||||
|
|
||||||
|
stage = clutter_stage_get_default ();
|
||||||
|
|
||||||
|
group1 = clutter_group_new ();
|
||||||
|
clutter_actor_set_opacity (group1, 128);
|
||||||
|
clutter_container_add (CLUTTER_CONTAINER (stage), group1, NULL);
|
||||||
|
clutter_actor_set_position (group1, 10, 30);
|
||||||
|
clutter_actor_show (group1);
|
||||||
|
|
||||||
|
label = clutter_label_new_with_text ("Sans 18px", "Label+Group, 25% opacity");
|
||||||
|
clutter_label_set_color (CLUTTER_LABEL (label), &label_color);
|
||||||
|
|
||||||
|
if (g_test_verbose ())
|
||||||
|
g_print ("label 50%% + group 50%%.get_color()/1\n");
|
||||||
|
clutter_label_get_color (CLUTTER_LABEL (label), &color_check);
|
||||||
|
g_assert (color_check.alpha == label_color.alpha);
|
||||||
|
|
||||||
|
clutter_container_add (CLUTTER_CONTAINER (group1), label, NULL);
|
||||||
|
|
||||||
|
if (g_test_verbose ())
|
||||||
|
g_print ("label 50%% + group 50%%.get_color()/2\n");
|
||||||
|
clutter_label_get_color (CLUTTER_LABEL (label), &color_check);
|
||||||
|
g_assert (color_check.alpha == label_color.alpha);
|
||||||
|
|
||||||
|
if (g_test_verbose ())
|
||||||
|
g_print ("label 50%% + group 50%%.get_paint_opacity() = %d\n",
|
||||||
|
clutter_actor_get_paint_opacity (label));
|
||||||
|
g_assert (clutter_actor_get_paint_opacity (label) == 64);
|
||||||
|
|
||||||
|
clutter_actor_destroy (label);
|
||||||
|
|
||||||
|
group2 = clutter_group_new ();
|
||||||
|
clutter_container_add (CLUTTER_CONTAINER (group1), group2, NULL);
|
||||||
|
clutter_actor_set_position (group2, 10, 60);
|
||||||
|
|
||||||
|
rect = clutter_rectangle_new_with_color (&rect_color);
|
||||||
|
clutter_actor_set_size (rect, 128, 128);
|
||||||
|
|
||||||
|
if (g_test_verbose ())
|
||||||
|
g_print ("rect 100%% + group 100%% + group 50%%.get_color()/1\n");
|
||||||
|
clutter_rectangle_get_color (CLUTTER_RECTANGLE (rect), &color_check);
|
||||||
|
g_assert (color_check.alpha == rect_color.alpha);
|
||||||
|
|
||||||
|
clutter_container_add (CLUTTER_CONTAINER (group2), rect, NULL);
|
||||||
|
|
||||||
|
if (g_test_verbose ())
|
||||||
|
g_print ("rect 100%% + group 100%% + group 50%%.get_color()/2\n");
|
||||||
|
clutter_rectangle_get_color (CLUTTER_RECTANGLE (rect), &color_check);
|
||||||
|
g_assert (color_check.alpha == rect_color.alpha);
|
||||||
|
|
||||||
|
if (g_test_verbose ())
|
||||||
|
g_print ("rect 100%%.get_paint_opacity() = %d\n",
|
||||||
|
clutter_actor_get_paint_opacity (rect));
|
||||||
|
|
||||||
|
g_assert (clutter_actor_get_paint_opacity (rect) == 128);
|
||||||
|
|
||||||
|
clutter_actor_destroy (rect);
|
||||||
|
clutter_actor_destroy (group2);
|
||||||
|
clutter_actor_destroy (group1);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user