efl
66 строк · 2.2 Кб
1#ifdef HAVE_CONFIG_H2# include "elementary_config.h"3#endif4#include <Efl_Ui.h>5#include <Elementary.h>6
7static void8_map_set(Evas_Object *obj)9{
10efl_gfx_mapping_reset(obj);11efl_gfx_mapping_point_count_set(obj, 8);12//1st rect13efl_gfx_mapping_coord_absolute_set(obj, 0, 100, 0, 0);14efl_gfx_mapping_coord_absolute_set(obj, 1, 200, 0, 0);15efl_gfx_mapping_coord_absolute_set(obj, 2, 200, 100, 0);16efl_gfx_mapping_coord_absolute_set(obj, 3, 100, 100, 0);17//2nd rect18efl_gfx_mapping_coord_absolute_set(obj, 4, 200, 0, 0);19efl_gfx_mapping_coord_absolute_set(obj, 5, 100, 200, 0);20efl_gfx_mapping_coord_absolute_set(obj, 6, 100, 300, 0);21efl_gfx_mapping_coord_absolute_set(obj, 7, 200, 100, 0);22
23//uv: 1st rect: uv: [0-1]24efl_gfx_mapping_uv_set(obj, 0, 0, 0);25efl_gfx_mapping_uv_set(obj, 1, 0.5, 0);26efl_gfx_mapping_uv_set(obj, 2, 0.5, 1);27efl_gfx_mapping_uv_set(obj, 3, 0, 1);28//uv: 2nd rect29efl_gfx_mapping_uv_set(obj, 4, 0.5, 0);30efl_gfx_mapping_uv_set(obj, 5, 1, 0);31efl_gfx_mapping_uv_set(obj, 6, 1, 1);32efl_gfx_mapping_uv_set(obj, 7, 0.5, 1);33}
34
35static void36_image_resize_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)37{
38_map_set(obj);39}
40
41void
42test_efl_gfx_mapping(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,43void *event_info EINA_UNUSED)44{
45const Evas_Coord W = 300, H = 300;46Evas_Object *win, *img;47char buf[PATH_MAX];48
49win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),50efl_text_set(efl_added, "Efl Gfx Map"),51efl_ui_win_autodel_set(efl_added, EINA_TRUE));52
53/* image with a min size */54snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", elm_app_data_dir_get());55img = efl_add(EFL_UI_IMAGE_CLASS, win,56efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)),57efl_file_set(efl_added, buf));58efl_gfx_image_scale_method_set(img, EFL_GFX_IMAGE_SCALE_METHOD_FILL);59evas_object_event_callback_add(img, EVAS_CALLBACK_RESIZE,60_image_resize_cb, NULL);61
62_map_set(img);63
64efl_content_set(win, img);65efl_gfx_entity_size_set(win, EINA_SIZE2D(W, H));66}
67