Hello, i m trying to make that :
I have an image with many zone, and i want take little zone and position
it where i want on my window, so i use this function :

#include <Ecore.h>
#include <Ecore_Evas.h>

#define LARGEUR_TILE 24  // hauteur et largeur des tiles.
#define HAUTEUR_TILE 16 

#define NOMBRE_BLOCS_LARGEUR 15  // nombre à afficher en x et y
#define NOMBRE_BLOCS_HAUTEUR 13


Evas_Object * tileset (Evas *evas,int moveX,int moveY,int sourceX,int
sourceY)
{
        Evas_Object *calque,*clipper;
        int iw, ih;

//on récupére notre image dans l'object calque
        calque = evas_object_image_add (evas);
        evas_object_image_file_set (calque, "tileset1.jpg", NULL);
        evas_object_image_filled_set(calque,1);
        evas_object_image_size_get(calque, &iw, &ih);
        evas_object_image_size_set(calque, iw, ih);
        evas_object_image_fill_set(calque, sourceX, sourceY, iw -sourceX ,
ih-sourceY);
        evas_object_resize (calque, iw, ih);
        evas_object_move (calque, moveX,moveY);
        evas_object_show(calque);


/*
//on coupe l'image sur une zone
 clipper = evas_object_rectangle_add(evas);

        evas_object_image_size_set(clipper, iw, ih);
        evas_object_image_fill_set(clipper, 0, 0, iw, ih);
 evas_object_move(clipper,sourceX, sourceY);//défini le point d'origine
de l'extrait de l'image
 evas_object_resize(clipper, LARGEUR_TILE, HAUTEUR_TILE);// définit la
longeur et largeur de la nouvelle image
 evas_object_clip_set(calque, clipper);
*/

evas_object_show(clipper);
        
return calque;
}

int
main (int argc, char *argv[])
{
        Ecore_Evas  *ecran;//Déclaration de variable ecran, qui vas
contenir nos images et autres ...
        Evas        *evas; //Conteneur d'objet
        Evas_Object *surface_01; //Surface que l'on vas coloriser


        if (  !ecore_evas_init()) // Démarrage des EFL. Si erreur
alors...
                {
                        printf( "Erreur d'initialisation des EFL "); //
Ecriture de l'erreur
                        exit(EXIT_FAILURE); // On quitte le programme
                }

//NOTRE FENETRE VIDE
        ecran = ecore_evas_new ("software_x11", 0, 0,
LARGEUR_TILE*NOMBRE_BLOCS_LARGEUR, HAUTEUR_TILE*NOMBRE_BLOCS_HAUTEUR,
NULL); //On paramétre notre écran
        if (!ecran) // si probléme sur le driveur pour les EFL
        {
                ecore_evas_shutdown (); // Arrêt des EFL
                return EXIT_FAILURE; // On quitte le programme
        }
        ecore_evas_title_set(ecran, "Gestion des évènements en
Enlightenment !");
        ecore_evas_show (ecran);// On affiche notre écran
        evas = ecore_evas_get (ecran);// conteneur qui prend notre écran

//Notre surface qui vas contenir l'image        
       surface_01 = evas_object_rectangle_add (evas); // création de
l'objet rectangle dans l'evas
        evas_object_color_set (surface_01,255, 255, 255, 255); //
couleur du rectangle
        evas_object_resize(surface_01,
LARGEUR_TILE*NOMBRE_BLOCS_LARGEUR,
HAUTEUR_TILE*NOMBRE_BLOCS_HAUTEUR); // taille du rectangle
     //   evas_object_show (surface_01); // Mise à jour de l'écran
        tileset(evas,0,0,24,0);
        tileset(evas,0,16,24,0);
        tileset(evas,0,32,24,0);
        
//Fin du programme
        ecore_main_loop_begin();//notre boocle qui attend l'appuie sur
la croix pour terminer le programme
        ecore_evas_shutdown ();  // Arrêt des EFL (libération de la
mémoire).
        return EXIT_SUCCESS;
 }

For the first attempte i have tried the function
evas_object_image_fill_set(calque, sourceX, sourceY, iw -sourceX ,
ih-sourceY);
and i don't have the good result,  the zone is not selected.
the program show the entire image, so can u see the problem please ?


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to