#include #include #include #include #define WIDTH 400 #define HEIGHT 400 Ecore_Evas * ee; Evas * evas; Evas_Object * base_rect; Evas_Object * polygon; static void handle_Pont(xmlNodePtr cur) { xmlChar *x,*y; x = xmlGetProp(cur, "X"); y = xmlGetProp(cur, "Y"); evas_object_polygon_point_add(polygon, 2*atoi(x), 2*atoi(y)); return; } static void print_element_names(xmlNodePtr a_node) { xmlNodePtr cur_node = NULL; for (cur_node = a_node; cur_node; cur_node = cur_node->next) { if (cur_node->type == XML_ELEMENT_NODE) { // if (!xmlStrcmp(cur_node->name, (xmlChar *)"Alakzat")) { // handle_Alakzat(cur_node); //} if (!xmlStrcmp(cur_node->name, (xmlChar *)"Pont")) { handle_Pont(cur_node); } } print_element_names(cur_node->children); } } int main(int argc, char* argv[]){ xmlDoc *doc = NULL; xmlNodePtr root_element = NULL; if (argc != 2) return(1); /*parse the file and get the DOM */ doc = xmlReadFile(argv[1], NULL, 0); /*Get the root element node */ root_element = xmlDocGetRootElement(doc); ecore_init(); ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, WIDTH, HEIGHT); ecore_evas_title_set(ee, "Ecore_Evas Template"); ecore_evas_borderless_set(ee, 0); ecore_evas_show(ee); evas = ecore_evas_get(ee); evas_font_path_append(evas, "fonts/"); base_rect = evas_object_rectangle_add(evas); evas_object_resize(base_rect, (double)WIDTH, (double)HEIGHT); evas_object_color_set(base_rect, 255, 255, 255, 255); evas_object_show(base_rect); /* Insert Object Here */ polygon = evas_object_polygon_add(evas); print_element_names(root_element); /*free the document */ xmlFreeDoc(doc); /* *Free the global variables that may *have been allocated by the parser. */ xmlCleanupParser(); evas_object_color_set(polygon, 0, 64, 255, 255); evas_object_show(polygon); ecore_main_loop_begin(); return 0; }