edje-swallow.c   edje-swallow.c 
skipping to change at line 13 skipping to change at line 13
* *
* You'll need at least one Evas engine built for it (excluding the * You'll need at least one Evas engine built for it (excluding the
* buffer one). See stdout/stderr for output. * buffer one). See stdout/stderr for output.
* *
* @verbatim * @verbatim
* edje_cc swallow.edc && gcc -o edje-swallow edje-swallow.c `pkg-config -- libs --cflags evas ecore ecore-evas edje` * edje_cc swallow.edc && gcc -o edje-swallow edje-swallow.c `pkg-config -- libs --cflags evas ecore ecore-evas edje`
* @endverbatim * @endverbatim
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include "config.h" # include "config.h"
#else #else
#define PACKAGE_EXAMPLES_DIR "." # define __UNUSED__
#define __UNUSED__
#endif #endif
#include <Ecore.h> #include <Ecore.h>
#include <Ecore_Evas.h> #include <Ecore_Evas.h>
#include <Edje.h> #include <Edje.h>
#define WIDTH (300) #define WIDTH (300)
#define HEIGHT (300) #define HEIGHT (300)
static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/swallow.edj";
static Ecore_Evas *ee;
static Evas_Object *bg;
static void static void
_on_delete(Ecore_Evas *ee __UNUSED__) _on_delete(Ecore_Evas *ee __UNUSED__)
{ {
ecore_main_loop_quit(); ecore_main_loop_quit();
} }
/* here just to keep our example's window size and background image's /* here just to keep our example's window size and background image's
* size in synchrony */ * size in synchrony */
static void static void
_canvas_resize_cb(Ecore_Evas *ee) _on_canvas_resize(Ecore_Evas *ee)
{ {
int w, h; Evas_Object *bg;
int w;
int h;
bg = ecore_evas_data_get(ee, "background");
ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
evas_object_resize(bg, w, h); evas_object_resize(bg, w, h);
} }
int int
main(void) main(int argc __UNUSED__, char *argv[])
{ {
Evas_Object *edje_obj, *rect, *obj; char edje_file_path[PATH_MAX];
Evas *evas; const char *edje_file = "swallow.edj";
Ecore_Evas *ee;
ecore_evas_init(); Evas *evas;
edje_init(); Evas_Object *bg;
Evas_Object *rect;
Evas_Object *obj;
Evas_Object *edje_obj;
Eina_Prefix *pfx;
if (!ecore_evas_init())
return EXIT_FAILURE;
if (!edje_init())
goto shutdown_ecore_evas;
pfx = eina_prefix_new(argv[0], main,
"EDJE_EXAMPLES",
"edje/examples",
edje_file,
PACKAGE_BIN_DIR,
PACKAGE_LIB_DIR,
PACKAGE_DATA_DIR,
PACKAGE_DATA_DIR);
if (!pfx)
goto shutdown_edje;
/* this will give you a window with an Evas canvas under the first /* this will give you a window with an Evas canvas under the first
* engine available */ * engine available */
ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
if (!ee)
goto free_prefix;
ecore_evas_callback_delete_request_set(ee, _on_delete); ecore_evas_callback_delete_request_set(ee, _on_delete);
ecore_evas_callback_resize_set(ee, _canvas_resize_cb); ecore_evas_callback_resize_set(ee, _on_canvas_resize);
ecore_evas_title_set(ee, "Edje Swallow Example"); ecore_evas_title_set(ee, "Edje Swallow Example");
ecore_evas_show(ee);
evas = ecore_evas_get(ee); evas = ecore_evas_get(ee);
bg = evas_object_rectangle_add(evas); bg = evas_object_rectangle_add(evas);
evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */ evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
evas_object_move(bg, 0, 0); /* at canvas' origin */ evas_object_move(bg, 0, 0); /* at canvas' origin */
evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
evas_object_show(bg); evas_object_show(bg);
ecore_evas_data_set(ee, "background", bg);
edje_obj = edje_object_add(evas); edje_obj = edje_object_add(evas);
snprintf(edje_file_path, sizeof(edje_file_path),
"%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
edje_object_file_set(edje_obj, edje_file_path, "example_group"); edje_object_file_set(edje_obj, edje_file_path, "example_group");
evas_object_move(edje_obj, 20, 20); evas_object_move(edje_obj, 20, 20);
evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40); evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
evas_object_show(edje_obj); evas_object_show(edje_obj);
rect = evas_object_rectangle_add(evas); rect = evas_object_rectangle_add(evas);
evas_object_color_set(rect, 255, 0, 0, 255); evas_object_color_set(rect, 255, 0, 0, 255);
edje_object_part_swallow(edje_obj, "part_one", rect); edje_object_part_swallow(edje_obj, "part_one", rect);
obj = edje_object_part_swallow_get(edje_obj, "part_one"); obj = edje_object_part_swallow_get(edje_obj, "part_one");
if(obj == rect) if(obj == rect)
printf("Swallowing worked!\n"); printf("Swallowing worked!\n");
ecore_evas_show(ee);
ecore_main_loop_begin(); ecore_main_loop_begin();
eina_prefix_free(pfx);
ecore_evas_free(ee); ecore_evas_free(ee);
ecore_evas_shutdown(); ecore_evas_shutdown();
edje_shutdown(); edje_shutdown();
return 0;
return EXIT_SUCCESS;
free_prefix:
eina_prefix_free(pfx);
shutdown_edje:
edje_shutdown();
shutdown_ecore_evas:
ecore_evas_shutdown();
return EXIT_FAILURE;
} }
 End of changes. 16 change blocks. 
19 lines changed or deleted 54 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/