Inspector: implement command line exu comparison
Only png comparison was supported.
This commit is contained in:
parent
e48bda302a
commit
f7dfae4423
|
@ -1362,6 +1362,7 @@ main(int argc, char *argv[])
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
ex_unit->imgs = eina_list_append(ex_unit->imgs, ex_img);
|
ex_unit->imgs = eina_list_append(ex_unit->imgs, ex_img);
|
||||||
|
ex_unit->nb_shots++;
|
||||||
_units = eina_list_append(_units, ex_unit);
|
_units = eina_list_append(_units, ex_unit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1437,9 +1438,10 @@ main(int argc, char *argv[])
|
||||||
|
|
||||||
if (compare_files && output)
|
if (compare_files && output)
|
||||||
{
|
{
|
||||||
Exactness_Unit *unit1 = NULL, *unit2 = NULL;
|
const char *out_ext = strrchr(output, '.');
|
||||||
Eina_List *itr;
|
Exactness_Unit *unit1 = NULL, *unit2 = NULL, *unitO = NULL;
|
||||||
EINA_LIST_FOREACH(_units, itr, unit)
|
Eina_List *itr1, *itr2;
|
||||||
|
EINA_LIST_FOREACH(_units, itr1, unit)
|
||||||
{
|
{
|
||||||
if (!unit1) unit1 = unit;
|
if (!unit1) unit1 = unit;
|
||||||
else if (!unit2) unit2 = unit;
|
else if (!unit2) unit2 = unit;
|
||||||
|
@ -1450,16 +1452,39 @@ main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(ext, ".png"))
|
if (!strcmp(out_ext, ".png"))
|
||||||
{
|
{
|
||||||
Exactness_Image *ex_img1 = eina_list_data_get(unit1->imgs);
|
if (unit1->nb_shots != 1 || unit2->nb_shots != 1)
|
||||||
Exactness_Image *ex_img2 = eina_list_data_get(unit2->imgs);
|
{
|
||||||
Exactness_Image *ex_imgO = NULL;
|
fprintf(stderr, "Comparison output can be png only if the number of shots to compare is 1.\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
itr1 = unit1 ? unit1->imgs : NULL;
|
||||||
|
itr2 = unit2 ? unit2->imgs : NULL;
|
||||||
|
|
||||||
|
while (itr1 || itr2)
|
||||||
|
{
|
||||||
|
Exactness_Image *ex_img1 = itr1 ? eina_list_data_get(itr1) : NULL;
|
||||||
|
Exactness_Image *ex_img2 = itr2 ? eina_list_data_get(itr2) : NULL;
|
||||||
|
Exactness_Image *ex_imgO = NULL;
|
||||||
if (exactness_image_compare(ex_img1, ex_img2, &ex_imgO))
|
if (exactness_image_compare(ex_img1, ex_img2, &ex_imgO))
|
||||||
{
|
{
|
||||||
Ecore_Evas *ee;
|
if (!unitO) unitO = calloc(1, sizeof(*unitO));
|
||||||
Eo *e, *img;
|
unitO->imgs = eina_list_append(unitO->imgs, ex_imgO);
|
||||||
|
unitO->nb_shots++;
|
||||||
|
}
|
||||||
|
itr1 = eina_list_next(itr1);
|
||||||
|
itr2 = eina_list_next(itr2);
|
||||||
|
}
|
||||||
|
if (!strcmp(out_ext, ".png"))
|
||||||
|
{
|
||||||
|
Ecore_Evas *ee;
|
||||||
|
Eo *e, *img;
|
||||||
|
if (unitO->nb_shots == 1)
|
||||||
|
{
|
||||||
|
Exactness_Image *ex_imgO = eina_list_data_get(unitO->imgs);
|
||||||
ee = ecore_evas_new(NULL, 0, 0, 100, 100, NULL);
|
ee = ecore_evas_new(NULL, 0, 0, 100, 100, NULL);
|
||||||
e = ecore_evas_get(ee);
|
e = ecore_evas_get(ee);
|
||||||
img = evas_object_image_add(e);
|
img = evas_object_image_add(e);
|
||||||
|
@ -1469,7 +1494,18 @@ main(int argc, char *argv[])
|
||||||
ecore_evas_free(ee);
|
ecore_evas_free(ee);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
ret = 0;
|
||||||
}
|
}
|
||||||
|
else if (!strcmp(out_ext, ".exu"))
|
||||||
|
{
|
||||||
|
if (unitO) exactness_unit_file_write(unitO, output);
|
||||||
|
else ret = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fprintf(stderr, "Correct output extension (.exu/.png) required\n");
|
||||||
|
}
|
||||||
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
Loading…
Reference in New Issue