Historique des mises à jour |
|
Evas est le moteur de rendu des Efls. Il utilise du code très optimisé pour le traitement des images, ainsi que l'accélération matérielle disponible pour optimiser le rendu. Evas utilise une notion d'objets, le développeur "joue" avec ces objets sans avoir à se soucier de leurs états.
ecore_evas_init ();
ecore_evas_shutdown ();
#include <stdlib.h> #include <Ecore.h> #include <Ecore_Evas.h> int main (int argc, char *argv[]) { ecore_evas_init (); // Démarrage des EFL /* Les EFL sont chargées. Vous pouvez mettre ici le contenu de votre programme */ ecore_evas_shutdown (); // Arrêt des EFL (libération de la mémoire). return 0; }
... if (!ecore_evas_init()) { printf("Ecore_Evas failed. Please check your installation!\n"); return 1; } ...
#include <Ecore.h> #include <Ecore_Evas.h> int main (int argc, char *argv[]) { if ( ecore_evas_init () == -1) // Démarrage des EFL. Si erreur alors... { printf( "Erreur d'initialisation des EFL "); // Ecriture de l'erreur exit(EXIT_FAILURE); // On quitte le programme } ecore_evas_shutdown (); // Arrêt des EFL (libération de la mémoire). return EXIT_SUCCESS; }
Ecore_Evas *ecran;
Ecore_Evas *ecran; ecran = ecore_evas_new ("software_x11", 0, 0, 640, 480, NULL);
ecore_evas_show (ecran);
#include <Ecore.h> #include <Ecore_Evas.h> int main (int argc, char *argv[]) { Ecore_Evas *ecran;//Déclaration de variable ecran, qui vas contenir nos images et autres ... if ( ecore_evas_init () == -1) // Démarrage des EFL. Si erreur alors... { printf( "Erreur d'initialisation des EFL "); // Ecriture de l'erreur exit(EXIT_FAILURE); // On quitte le programme } ecran = ecore_evas_new ("software_x11", 0, 0, 640, 480, NULL); //On paramétre notre écran ecore_evas_show (ecran);//On affiche notre écran ecore_evas_shutdown (); // Arrêt des EFL (libération de la mémoire). return EXIT_SUCCESS; }
ecore_main_loop_begin();
#include <Ecore.h> #include <Ecore_Evas.h> int main (int argc, char *argv[]) { Ecore_Evas *ecran;//Déclaration de variable ecran, qui vas contenir nos images et autres ... if ( ecore_evas_init () == -1) // Démarrage des EFL. Si erreur alors... { printf( "Erreur d'initialisation des EFL "); // Ecriture de l'erreur exit(EXIT_FAILURE); // On quitte le programme } ecran = ecore_evas_new ("software_x11", 0, 0, 640, 480, NULL); //On paramétre notre écran ecore_evas_show (ecran);//On affiche notre écran ecore_main_loop_begin(); ecore_evas_shutdown (); // Arrêt des EFL (libération de la mémoire). return EXIT_SUCCESS; }
ecore_evas_title_set()
ecore_evas_title_set(ecran, "Ma super fenêtre Enlightenment !");/code> Et pour finir voici notre code complet basique : <code type="console"> #include <Ecore.h> #include <Ecore_Evas.h> int main (int argc, char *argv[]) { Ecore_Evas *ecran;//Déclaration de variable ecran, qui vas contenir nos images et autres ... if ( ecore_evas_init () == -1) // Démarrage des EFL. Si erreur alors... { printf( "Erreur d'initialisation des EFL "); // Ecriture de l'erreur exit(EXIT_FAILURE); // On quitte le programme } ecran = ecore_evas_new ("software_x11", 0, 0, 640, 480, NULL); //On paramétre notre écran ecore_evas_title_set(ecran, "Ma super fenêtre Enlightenment !"); ecore_evas_show (ecran);// On affiche notre écran ecore_main_loop_begin(); ecore_evas_shutdown (); // Arrêt des EFL (libération de la mémoire). return EXIT_SUCCESS; }
Ecore_Evas *ecran;
#include <Ecore.h> #include <Ecore_Evas.h> int main (int argc, char *argv[]) { Ecore_Evas *ecran;//Déclaration de variable ecran, qui vas contenir nos images et autres ... if (!ecore_evas_init()) { printf("Ecore_Evas failed. Please check your installation!\n"); return 1; } ecran = ecore_evas_new ("software_x11", 0, 0, 640, 480, 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, "Ma super fenêtre Enlightenment !"); ecore_evas_show (ecran);// On affiche notre écran 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; }
Evas_Object *object_01; //objet que l'on vas coloriser
object_01 = evas_object_rectangle_add (evas); // création de l'objet rectangle dans l'evas
evas_object_color_set (object_01,17, 206, 112, 255); // couleur du rectangle
evas_object_resize(object_01, 640, 480); // taille du rectangle
evas_object_show (object_01); // Mise à jour de l'écran
#include <Ecore.h> #include <Ecore_Evas.h> 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 *object_01; //objet 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, 640, 480, 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, "Ma super fenêtre Enlightenment !"); ecore_evas_show (ecran);// On affiche notre écran evas = ecore_evas_get (ecran);// conteneur qui prend notre écran //NOTRE OBJET QUE L'ON VAS COLORISER surface_01 = evas_object_rectangle_add (evas); // création de l'objet rectangle dans l'evas evas_object_color_set (object_01,17, 206, 112, 255); // couleur du rectangle evas_object_resize(object_01, 640, 480); // taille du rectangle evas_object_show (object_01); // Mise à jour de l'écran //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 d'Evas (libération de la mémoire). return EXIT_SUCCESS; }
Evas_Object *object_01,*object_02; //Objets que l'on vas coloriser
evas_object_color_set (object_02,255, 255, 255, 255); // couleur du rectangle
evas_object_resize(object_02, 220, 180); // taille du rectangle
evas_object_show (object_02); // Mise à jour de l'écran
#include <Ecore.h> #include <Ecore_Evas.h> 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 *object_01,*object_02; ///Objets 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, 640, 480, 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, "Ma super fenêtre Enlightenment !"); ecore_evas_show (ecran);// On affiche notre écran evas = ecore_evas_get (ecran);// conteneur qui prend notre écran //NOTRE SURFACE_01 QUE L'ON VAS COLORISER object_01 = evas_object_rectangle_add (evas); // création de l'objet rectangle dans l'evas evas_object_color_set (object_01,17, 206, 112, 255); // couleur du rectangle evas_object_resize(object_01, 640, 480); // taille du rectangle evas_object_show (object_01); // Mise à jour de l'écran //NOTRE SURFACE_02 QUE L'ON VAS COLORISER object_02 = evas_object_rectangle_add (evas); // création de l'objet rectangle dans l'evas evas_object_color_set (object_02,255, 255, 255, 255); // couleur du rectangle evas_object_resize(object_02, 220, 180); // taille du rectangle evas_object_show (object_02); // Mise à jour de l'écran //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; }
evas_object_move (object_02, 25, 50); // position du réctangle dans notre fenetre
evas_object_move (object_02, ((640 / 2) - (220 / 2)), (480 / 2) - (180 / 2)); // position de notre objet centré dans notre fenetre
#include <Ecore.h> #include <Ecore_Evas.h> 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 *object_01,*object_02; //objets 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, 640, 480, 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, "Ma super fenêtre Enlightenment !"); ecore_evas_show (ecran);// On affiche notre écran evas = ecore_evas_get (ecran);// conteneur qui prend notre écran //NOTRE object_01 QUE L'ON VAS COLORISER object_01 = evas_object_rectangle_add (evas); // création de l'objet rectangle dans l'evas evas_object_color_set (object_01,17, 206, 112, 255); // couleur du rectangle evas_object_resize(object_01, 640, 480); // taille du rectangle evas_object_show (object_01); // Mise à jour de l'écran //NOTRE object_02 QUE L'ON VAS COLORISER object_02 = evas_object_rectangle_add (evas); // création de l'objet rectangle dans l'evas evas_object_color_set (object_02,255, 255, 255, 255); // couleur du rectangle evas_object_resize(object_02, 220, 180); // taille du rectangle evas_object_move (object_02, ((640 / 2) - (220 / 2)), (480 / 2) - (180 / 2)); // position de notre surface centré dans notre fenetre evas_object_show (object_02); // Mise à jour de l'écran //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; }
Evas_Object *object_01,*object_02,*object_03; //objets que l'on vas coloriser
object_03 = evas_object_line_add (ecran); // création de l'objet ligne dans l'EVAS ecran
evas_object_line_xy_set (object_03,0,0,640,480);
evas_object_show (object_03); // Mise à jour de l'écran
(0, 0, 0) // Noir (1, 1, 1) // Gris très très proche du noir (2, 2, 2) // Gris très proche du noir ... (128, 128, 128) // Gris moyen (à 50%) ... (253, 253, 253) // Gris très proche du blanc (254, 254, 254) // Gris très très proche du blanc (255, 255, 255) // Blanc
ecran = ecore_evas_new ("software_x11", 0, 0, 640, 255, NULL); //On paramétre notre écran
evas_object_resize(surface_01, 640,1); // taille du rectangle
//NOTRE SURFACE_01 QUE L'ON VAS COLORISER for (i = 0; i <= 255;i++) { surface_01 = evas_object_rectangle_add (evas); // création de l'objet rectangle dans l'evas evas_object_color_set (surface_01,i, i, i, 17); // couleur du rectangle evas_object_resize(surface_01, 640,1); // taille du rectangle evas_object_move (surface_01, 0,i); // position de notre surface centré dans notre fenetre evas_object_show (surface_01); // Mise à jour de l'écran }
#include <Ecore.h> #include <Ecore_Evas.h> 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 int i = 0; if ( ecore_evas_init () == -1) // 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, 640, 255, 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, "Mon dégradé en EFL !"); ecore_evas_show (ecran);// On affiche notre écran evas = ecore_evas_get (ecran);// conteneur qui prend notre écran //NOTRE SURFACE_01 QUE L'ON VAS COLORISER for (i = 0; i <= 255;i++) { surface_01 = evas_object_rectangle_add (evas); // création de l'objet rectangle dans l'evas evas_object_color_set (surface_01,i, i, i, 17); // couleur du rectangle evas_object_resize(surface_01, 640,1); // taille du rectangle evas_object_move (surface_01, 0,i); // position de notre surface centré dans notre fenetre evas_object_show (surface_01); // Mise à jour de l'écran } //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; }
Evas_Object *surface_01;
surface_01 = evas_object_image_add (evas);
evas_object_image_file_set (fond, "lac_en_montagne.jpg", NULL);
evas_object_image_size_get(surface_01, &iw, &ih);
int iw,ih;
evas_object_image_size_set(surface_01, iw, ih); evas_object_image_fill_set(surface_01, 0, 0, iw, ih); evas_object_resize (surface_01, iw, ih);
evas_object_move (surface_01, 0, 0);
evas_object_show (surface_01);
#include <Ecore.h> #include <Ecore_Evas.h> 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 int iw,ih; if ( ecore_evas_init () == -1) // 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, 800, 600, 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, "Chargement d'images 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_image_add (evas); evas_object_image_file_set (surface_01, "lac_en_montagne.jpg", NULL); evas_object_image_size_get(surface_01, &iw, &ih); evas_object_image_size_set(surface_01, iw, ih); evas_object_image_fill_set(surface_01, 0, 0, iw, ih); evas_object_resize (surface_01, iw, ih); evas_object_move (surface_01, 0, 0); evas_object_show (surface_01); //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; }
#include <Ecore.h> #include <Ecore_Evas.h> 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_02; //Surface que l'on vas coloriser int iw,ih; if ( ecore_evas_init () == -1) // 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, 800, 600, 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, "Chargement d'images 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_image_add (evas); evas_object_image_file_set (surface_01, "lac_en_montagne.jpg", NULL); evas_object_image_size_get(surface_01, &iw, &ih); evas_object_image_size_set(surface_01, iw, ih); evas_object_image_fill_set(surface_01, 0, 0, iw, ih); evas_object_resize (surface_01, iw, ih); evas_object_move (surface_01, 0, 0); evas_object_show (surface_01); //Notre surface qui vas contenir zozor surface_02 = evas_object_image_add (evas); evas_object_image_file_set (surface_02, "zozor1.png", NULL); evas_object_image_size_get(surface_02, &iw, &ih); evas_object_image_size_set(surface_02, iw, ih); evas_object_image_fill_set(surface_02, 0, 0, iw, ih); evas_object_resize (surface_02, iw, ih); evas_object_move (surface_02, 500, 260); evas_object_show (surface_02); //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; }
Alpha | Code | Aperçu |
255 entièrement opaque | evas_object_color_set (o, 255, 255, 255, 255); | |
190 | evas_object_color_set (o, 190, 190, 190, 190); | |
128 le juste milieu | evas_object_color_set (o, 128, 128, 128, 128); | |
75 | evas_object_color_set (o, 75, 75, 75, 75); | |
0 entièrement transparente | evas_object_color_set (o, 0, 0, 0, 0); |
Evas_Event_Key_Down *event;
#include <Ecore.h> #include <Ecore_Evas.h> 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 int iw,ih; if ( ecore_evas_init () == -1) // 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, 800, 600, 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, "Chargement d'images 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_image_add (evas); evas_object_image_file_set (surface_01, "lac_en_montagne.jpg", NULL); evas_object_image_size_get(surface_01, &iw, &ih); evas_object_image_size_set(surface_01, iw, ih); evas_object_image_fill_set(surface_01, 0, 0, iw, ih); evas_object_resize (surface_01, iw, ih); evas_object_move (surface_01, 0, 0); evas_object_show (surface_01); //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; }
ecore_main_loop_begin();
evas_object_focus_set(surface_01 , 1);
evas_object_event_callback_add(surface_01, EVAS_CALLBACK_KEY_DOWN, key_down, NULL);
void key_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Key_Down *event; event = (Evas_Event_Key_Down *)event_info;// récupération de l'évenement dans un event passé en paramétre (event_info) }
void key_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Key_Down *event; event = (Evas_Event_Key_Down *)event_info; if ( /* Test */) ecore_main_loop_quit(); }
#include <Ecore.h> #include <Ecore_Evas.h> void key_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Key_Down *event; event = (Evas_Event_Key_Down *)event_info;// récupération de l'évenement dans un event passé en paramétre (event_info) if ( /* Test */ ) ecore_main_loop_quit();// annalyse de l'évenement } 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 Evas_Event_Key_Down *event;// Cette variable servira à gérer les évènements int iw,ih; if ( ecore_evas_init () == -1) // 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, 800, 600, 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, "Chargement d'images 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_image_add (evas); evas_object_image_file_set (surface_01, "lac_en_montagne.jpg", NULL); evas_object_image_size_get(surface_01, &iw, &ih); evas_object_image_size_set(surface_01, iw, ih); evas_object_image_fill_set(surface_01, 0, 0, iw, ih); evas_object_resize (surface_01, iw, ih); evas_object_move (surface_01, 0, 0); evas_object_show (surface_01); evas_object_focus_set(surface_01 , 1); evas_object_event_callback_add(surface_01, EVAS_CALLBACK_KEY_DOWN, key_down, NULL); //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; }
void key_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Key_Down *event; event = (Evas_Event_Key_Down *)event_info; if ( event->keyname ) ecore_main_loop_quit(); }
printf("touche préssé: %s\n", event->keyname);
#include <Ecore.h> #include <Ecore_Evas.h> void key_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Key_Down *event; event = (Evas_Event_Key_Down *)event_info;// récupération de l'évenement dans un event passé en paramétre (event_info) printf("touche préssé: %s\n", event->keyname);// Affiche la touche préssé if ( event->keyname ) ecore_main_loop_quit();// annalyse de l'évenement } 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 Evas_Event_Key_Down *event;// Cette variable servira à gérer les évènements int iw,ih; if ( ecore_evas_init () == -1) // 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, 800, 600, 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, "Chargement d'images 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_image_add (evas); evas_object_image_file_set (surface_01, "lac_en_montagne.jpg", NULL); evas_object_image_size_get(surface_01, &iw, &ih); evas_object_image_size_set(surface_01, iw, ih); evas_object_image_fill_set(surface_01, 0, 0, iw, ih); evas_object_resize (surface_01, iw, ih); evas_object_move (surface_01, 0, 0); evas_object_show (surface_01); evas_object_focus_set(surface_01 , 1); evas_object_event_callback_add(surface_01, EVAS_CALLBACK_KEY_DOWN, key_down, NULL); //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; }
#include <Ecore.h> #include <Ecore_Evas.h> void key_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Key_Down *event; event = (Evas_Event_Key_Down *)event_info;// récupération de l'évenement dans un event passé en paramétre (event_info) printf("touche préssé: %s\n", event->keyname);// Affiche la touche préssé if ( !strcmp(event->keyname, "Escape") ) ecore_main_loop_quit();// annalyse de l'évenement, si la touche esc est préssé le programme s'arrete } 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 Evas_Event_Key_Down *event;// Cette variable servira à gérer les évènements int iw,ih; if ( ecore_evas_init () == -1) // 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, 800, 600, 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, "Chargement d'images 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_image_add (evas); evas_object_image_file_set (surface_01, "lac_en_montagne.jpg", NULL); evas_object_image_size_get(surface_01, &iw, &ih); evas_object_image_size_set(surface_01, iw, ih); evas_object_image_fill_set(surface_01, 0, 0, iw, ih); evas_object_resize (surface_01, iw, ih); evas_object_move (surface_01, 0, 0); evas_object_show (surface_01); evas_object_focus_set(surface_01 , 1); evas_object_event_callback_add(surface_01, EVAS_CALLBACK_KEY_DOWN, key_down, NULL); //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; }
Evas_Coord dx, dy;
evas_object_geometry_get(copie_surface, &dx, &dy, NULL, NULL);// récupération des coordonnées de la surface
evas_object_move (copie_surface, dx-10, dy); // déplacement de la surface
Evas_Object *surface_01,*zozor; //Surface que l'on vas coloriser ...
evas_object_move (surface_02, (800/2)-(iw/2), (600/2)-(ih/2));// Positionne notre Zozor au milieu de l'écran !
#include <Ecore.h> #include <Ecore_Evas.h> void key_down(void *data, Evas *e, Evas_Object *copie_surface, void *event_info) { Evas_Coord dx, dy; Evas_Event_Key_Down *event;/* Cette variable servira plus tard à gérer les évènements */ event = (Evas_Event_Key_Down *)event_info; if ( !strcmp(event->keyname, "Escape") ) { printf("touche préssé: %s\n", event->keyname);// Affiche la touche préssé printf("Au revoir !\n"); ecore_main_loop_quit();// annalyse de l'évenement, si la touche esc est préssé le programme s'arrete } else if ( !strcmp(event->keyname, "Left") ) { evas_object_geometry_get(copie_surface, &dx, &dy, NULL, NULL);// récupération des coordonnées de la surface evas_object_move (copie_surface, dx-10, dy); // déplacement de la surface printf("Position Gauche : (%d,%d) \n",dx,dy); } else if (!strcmp(event->keyname, "Right")) { evas_object_geometry_get(copie_surface, &dx, &dy, NULL, NULL);// récupération des coordonnées de la surface evas_object_move (copie_surface, dx+10, dy);// déplacement de la surface printf("Position Droite : (%d,%d) \n",dx,dy); } else if (!strcmp(event->keyname, "Up")) { evas_object_geometry_get(copie_surface, &dx, &dy, NULL, NULL);// récupération des coordonnées de la surface evas_object_move (copie_surface, dx, dy-10); // déplacement de la surface printf("Position Haut : (%d,%d) \n",dx,dy); } else if (!strcmp(event->keyname, "Down")) { evas_object_geometry_get(copie_surface, &dx, &dy, NULL, NULL);// récupération des coordonnées de la surface evas_object_move (copie_surface, dx, dy+10); // déplacement de la surface printf("Position Bas : (%d,%d) \n",dx,dy); } } 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_02; //Surface que l'on vas coloriser int iw,ih; if ( ecore_evas_init () == -1) // 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, 800, 600, 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, 800, 600); // taille du rectangle evas_object_show (surface_01); // Mise à jour de l'écran //Notre surface qui vas contenir zozor surface_02 = evas_object_image_add (evas); evas_object_image_file_set (surface_02, "zozor_transparent.png", NULL); evas_object_image_size_get(surface_02, &iw, &ih); evas_object_image_size_set(surface_02, iw, ih); evas_object_image_fill_set(surface_02, 0, 0, iw, ih); evas_object_resize (surface_02, iw, ih); evas_object_move (surface_02, 500, 260); evas_object_show (surface_02); evas_object_focus_set(surface_02 , 1); evas_object_event_callback_add(surface_02, EVAS_CALLBACK_KEY_DOWN, key_down, NULL); //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; }
void cb_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Mouse_Down *event; // déclaration d'un évenement event = (Evas_Event_Mouse_Up *)event_info; //initialisation de la variable sur l'évenemnt produit par la souris }
evas_object_event_callback_add(surface_01, EVAS_CALLBACK_MOUSE_UP, cb_down, NULL);
void cb_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Mouse_Down *event; // déclaration d'un évenement event = (Evas_Event_Mouse_Up *)event_info; //initialisation de la variable sur l'évenemnt produit par la souris if(event->button == 3) // si on appuye sur le clique droit ecore_main_loop_quit(); // on stop le programme }
#include <Ecore.h> #include <Ecore_Evas.h> Evas_Object * zozor (Evas *evas,int move1,int move2) { Evas_Object *o; int iw, ih; o = evas_object_image_add (evas); evas_object_image_file_set (o, "zozor_transparent.png", NULL); evas_object_image_size_get(o, &iw, &ih); evas_object_image_size_set(o, iw, ih); evas_object_image_fill_set(o, 0, 0, iw, ih); evas_object_resize (o, iw, ih); evas_object_move (o, move1, move2); evas_object_show (o); return o; } void cb_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Mouse_Up *event; // déclaration d'un évenement event = (Evas_Event_Mouse_Up *)event_info; //initialisation de la variable sur l'évenemnt produit par la souris printf("touche pressée: %d en coordonnée (%d,%d)\n", event->button,event->output.x,event->output.y);// Affiche la touche préssé if(event->button == 2)// si clique sur le bouton 2 (bouton milieu souris) ecore_main_loop_quit(); //on quitte le programme else if(event->button == 1)// si on clque sur le bouton 1 zozor (e, event->output.x, event->output.y);// affiche un nouveau Zozor à l'applacemet du clique } 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 int iw,ih; if ( ecore_evas_init () == -1) // 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, 800, 600, 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, "Chargement d'images 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_image_add (evas); evas_object_image_file_set (surface_01, "lac_en_montagne.jpg", NULL); evas_object_image_size_get(surface_01, &iw, &ih); evas_object_image_size_set(surface_01, iw, ih); evas_object_image_fill_set(surface_01, 0, 0, iw, ih); evas_object_resize (surface_01, iw, ih); evas_object_move (surface_01, 0, 0); evas_object_show (surface_01); evas_object_focus_set(surface_01 , 1); evas_object_event_callback_add(surface_01, EVAS_CALLBACK_MOUSE_UP, cb_down, NULL); //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; }
Faites un programme ouvrant une fenêtre initialement noire.
Si on appuie sur la flèche "haut" du clavier, le fond doit se blanchir progressivement : couleur 1, 1, 1, puis couleur 2, 2, 2, jusqu'à la couleur 255, 255, 255 (le blanc).
La flèche "bas" du clavier, elle, doit noircir l'écran.
#include <Ecore.h> #include <Ecore_Evas.h> void key_down(void *data, Evas *e, Evas_Object *copie_surface, void *event_info) { int colorRed, colorGreen, colorBleue,alpha;//Variable pour la récperation des valeurs couleurs Evas_Event_Key_Down *event;/* Cette variable servira plus tard à gérer les évènements */ event = (Evas_Event_Key_Down *)event_info; // Récupération de l'évenement clavier : "quand une touche du clavier est enfoncée" if ( !strcmp(event->keyname, "Escape") ) { printf("touche préssé: %s\n", event->keyname);// Affiche la touche préssé printf("Au revoir !\n"); ecore_main_loop_quit();// annalyse de l'évenement, si la touche esc est préssé le programme s'arrete } else if ( !strcmp(event->keyname, "Up") ) { evas_object_color_get (copie_surface,&colorRed, &colorGreen, &colorBleue, &alpha); // Récupére les valeur actuel de la surface if(colorRed <255) { evas_object_color_set (copie_surface,colorRed+1, colorGreen+1, colorBleue+1, alpha); // applique les nouvelles couleurs du rectangle printf("Valeur couleur Up (Rouge, Vert, Bleu, Alpha) : (%d,%d,%d,%d) \n",colorRed, colorGreen, colorBleue,alpha); } else printf("Attention Vous êtes arrivé ! à la limite 255\n"); } else if (!strcmp(event->keyname, "Down")) { evas_object_color_get (copie_surface,&colorRed, &colorGreen, &colorBleue, &alpha); // Récupére les valeur actuel de la surface if(colorRed >0) { evas_object_color_set (copie_surface,colorRed-1, colorGreen-1, colorBleue-1, alpha); // applique les nouvelles couleurs du rectangle printf("Valeur couleur Up (Rouge, Vert, Bleu, Alpha) : (%d,%d,%d,%d) \n",colorRed, colorGreen, colorBleue,alpha); } else printf("Attention Vous êtes arrivé ! à la limite 0\n"); } } 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'objets Evas_Object *surface_01; //Surface que l'on vas coloriser if ( ecore_evas_init () == -1) // 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, 800, 600, 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 est une surface noir surface_01 = evas_object_rectangle_add (evas); // création de l'objet rectangle dans l'evas evas_object_color_set (surface_01,0, 0, 0, 255); // couleur du rectangle evas_object_resize(surface_01, 800, 600); // taille du rectangle evas_object_show (surface_01); // Mise à jour de l'écran //Focus et récupération des evenement clavier evas_object_focus_set(surface_01 , 1);// on met le focus de l'évenement sur la surface désiré evas_object_event_callback_add(surface_01, EVAS_CALLBACK_KEY_DOWN, key_down, NULL);// fonction de l'évenement //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; }