forked from enlightenment/efl
Elementary map: add elm_menu to test_map
SVN revision: 59193
This commit is contained in:
parent
b795bd3985
commit
cb2a485477
|
@ -4,6 +4,7 @@
|
|||
#endif
|
||||
#ifndef ELM_LIB_QUICKLAUNCH
|
||||
|
||||
#define SOURCE_MAX 10
|
||||
#define MARKER_MAX 1000
|
||||
#define NAME_ENTRY_TEXT "Enter freeform address"
|
||||
|
||||
|
@ -12,17 +13,25 @@ typedef struct Marker_Data
|
|||
const char *file;
|
||||
} Marker_Data;
|
||||
|
||||
typedef struct Map_Source
|
||||
{
|
||||
Evas_Object *map;
|
||||
char *source_name;
|
||||
} Map_Source;
|
||||
|
||||
static Elm_Map_Marker_Class *itc1, *itc2, *itc_parking;
|
||||
static Elm_Map_Group_Class *itc_group1, *itc_group2, *itc_group_parking;
|
||||
|
||||
static Evas_Object *rect;
|
||||
static Evas_Object *rect, *menu;
|
||||
static int nb_elts;
|
||||
static Elm_Map_Marker *markers[MARKER_MAX];
|
||||
static Elm_Map_Marker *route_from, *route_to;
|
||||
static Elm_Map_Route *route;
|
||||
static Elm_Map_Name *name;
|
||||
static const char **source_names = NULL;
|
||||
static Evas_Coord old_x, old_y;
|
||||
static Evas_Coord old_d;
|
||||
static Map_Source ms[SOURCE_MAX];
|
||||
|
||||
Marker_Data data1 = {PACKAGE_DATA_DIR"/images/logo.png"};
|
||||
Marker_Data data2 = {PACKAGE_DATA_DIR"/images/logo_small.png"};
|
||||
|
@ -252,24 +261,7 @@ my_map_name_loaded(void *data, Evas_Object *obj __UNUSED__, void *event_info __U
|
|||
}
|
||||
|
||||
static void
|
||||
my_bt_show_reg(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
Eina_Bool b = elm_map_paused_get(data);
|
||||
elm_map_paused_set(data, EINA_TRUE);
|
||||
elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_MANUAL);
|
||||
elm_map_geo_region_show(data, 126.977969, 37.566535);
|
||||
elm_map_zoom_set(data, 18);
|
||||
elm_map_paused_set(data, b);
|
||||
}
|
||||
|
||||
static void
|
||||
my_bt_bring_reg(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
elm_map_geo_region_bring_in(data, 126.977969, 37.566535);
|
||||
}
|
||||
|
||||
static void
|
||||
my_bt_zoom_in(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
map_zoom_in(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
double zoom;
|
||||
|
||||
|
@ -280,7 +272,30 @@ my_bt_zoom_in(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED
|
|||
}
|
||||
|
||||
static void
|
||||
my_bt_rotate_cw(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
map_zoom_out(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
double zoom;
|
||||
|
||||
zoom = elm_map_zoom_get(data);
|
||||
zoom -= 1;
|
||||
elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_MANUAL);
|
||||
if (zoom <= 256.0) elm_map_zoom_set(data, zoom);
|
||||
}
|
||||
|
||||
static void
|
||||
map_zoom_fit(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_AUTO_FIT);
|
||||
}
|
||||
|
||||
static void
|
||||
map_zoom_fill(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_AUTO_FILL);
|
||||
}
|
||||
|
||||
static void
|
||||
map_rotate_cw(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
double d;
|
||||
Evas_Coord x, y, w, h;
|
||||
|
@ -295,7 +310,7 @@ my_bt_rotate_cw(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUS
|
|||
}
|
||||
|
||||
static void
|
||||
my_bt_rotate_ccw(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
map_rotate_ccw(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
double d;
|
||||
Evas_Coord x, y, w, h;
|
||||
|
@ -310,51 +325,28 @@ my_bt_rotate_ccw(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNU
|
|||
}
|
||||
|
||||
static void
|
||||
my_bt_zoom_out(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
map_rotate_reset(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
double zoom;
|
||||
Evas_Coord x, y, w, h;
|
||||
float half_w, half_h;
|
||||
evas_object_geometry_get(data, &x, &y, &w, &h);
|
||||
half_w = (float)w * 0.5;
|
||||
half_h = (float)h * 0.5;
|
||||
|
||||
zoom = elm_map_zoom_get(data);
|
||||
zoom -= 1;
|
||||
elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_MANUAL);
|
||||
if (zoom <= 256.0) elm_map_zoom_set(data, zoom);
|
||||
elm_map_rotate_set(data, 0.0, x + half_w, y + half_h);
|
||||
}
|
||||
|
||||
static void
|
||||
my_bt_pause(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
map_source(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
elm_map_paused_set(data, !elm_map_paused_get(data));
|
||||
Map_Source *ms = data;
|
||||
|
||||
if (!ms) return;
|
||||
elm_map_source_name_set(ms->map, ms->source_name);
|
||||
}
|
||||
|
||||
static void
|
||||
my_bt_markers_pause(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
elm_map_paused_markers_set(data, !elm_map_paused_markers_get(data));
|
||||
}
|
||||
|
||||
static void
|
||||
my_bt_zoom_fit(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_AUTO_FIT);
|
||||
}
|
||||
|
||||
static void
|
||||
my_bt_zoom_fill(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_AUTO_FILL);
|
||||
}
|
||||
|
||||
static void
|
||||
my_bt_source(void *data, Evas_Object *obj __UNUSED__, void *event_info)
|
||||
{
|
||||
Elm_Flipselector_Item *it;
|
||||
|
||||
it = event_info;
|
||||
elm_map_source_name_set(data, elm_flipselector_item_label_get(it));
|
||||
}
|
||||
|
||||
static void
|
||||
my_bt_add(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
map_marker_add(void *data)
|
||||
{
|
||||
int i;
|
||||
Elm_Map_Group_Class *g_clas;
|
||||
|
@ -394,7 +386,7 @@ my_bt_add(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
|||
}
|
||||
|
||||
static void
|
||||
my_bt_remove(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
map_marker_remove(void *data __UNUSED__)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -495,10 +487,109 @@ _map_move_resize_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__,
|
|||
evas_object_move(rect,x,y);
|
||||
}
|
||||
|
||||
static void
|
||||
_populate(void *data, Elm_Menu_Item *item)
|
||||
{
|
||||
int idx;
|
||||
|
||||
if (!ms) return;
|
||||
if ((!data) || (!item) || (!source_names)) return;
|
||||
for (idx = 0; source_names[idx]; idx++)
|
||||
{
|
||||
if (idx >= SOURCE_MAX) break;
|
||||
ms[idx].map = data;
|
||||
ms[idx].source_name = strdup(source_names[idx]);
|
||||
elm_menu_item_add(menu, item, "", source_names[idx], map_source, &ms[idx]);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_map_mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Evas_Event_Mouse_Down *down = event_info;
|
||||
Elm_Menu_Item *item;
|
||||
if (!down) return;
|
||||
|
||||
if (down->button == 2)
|
||||
{
|
||||
old_x = down->output.x;
|
||||
old_y = down->output.y;
|
||||
old_d = 0.0;
|
||||
}
|
||||
else if (down->button == 3)
|
||||
{
|
||||
menu = elm_menu_add(obj);
|
||||
item = elm_menu_item_add(menu, NULL, NULL, "Source", NULL, NULL);
|
||||
_populate(data, item);
|
||||
elm_menu_item_add(menu, NULL, NULL, "Zoom +", map_zoom_in, data);
|
||||
elm_menu_item_add(menu, NULL, NULL, "Zoom -", map_zoom_out, data);
|
||||
elm_menu_item_add(menu, NULL, NULL, "Zoom Fit", map_zoom_fit, data);
|
||||
elm_menu_item_add(menu, NULL, NULL, "Zoom Fill", map_zoom_fill, data);
|
||||
elm_menu_item_add(menu, NULL, NULL, "Add Marker", NULL, NULL);
|
||||
elm_menu_item_add(menu, NULL, NULL, "Rotate CW", map_rotate_cw, data);
|
||||
elm_menu_item_add(menu, NULL, NULL, "Rotate CCW", map_rotate_ccw, data);
|
||||
elm_menu_item_add(menu, NULL, NULL, "Reset Rotate", map_rotate_reset, data);
|
||||
|
||||
elm_menu_move(menu, down->canvas.x, down->canvas.y);
|
||||
evas_object_show(menu);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_map_mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
|
||||
{
|
||||
Evas_Event_Mouse_Move *move = event_info;
|
||||
Evas_Coord x, y, w, h;
|
||||
float half_w, half_h;
|
||||
int d, d_diff;
|
||||
double cur_d;
|
||||
if (!move) return;
|
||||
|
||||
if (move->buttons == 2)
|
||||
{
|
||||
evas_object_geometry_get(data, &x, &y, &w, &h);
|
||||
half_w = (float)w * 0.5;
|
||||
half_h = (float)h * 0.5;
|
||||
elm_map_rotate_get(data, &cur_d, NULL, NULL);
|
||||
|
||||
d = move->cur.output.x - old_x;
|
||||
if (!old_d) old_d = d;
|
||||
else
|
||||
{
|
||||
d_diff = old_d - d;
|
||||
if (d_diff > 0)
|
||||
{
|
||||
old_d --;
|
||||
cur_d += 1.0;
|
||||
}
|
||||
else if (d_diff < 0)
|
||||
{
|
||||
old_d ++;
|
||||
cur_d -= 1.0;
|
||||
}
|
||||
old_d = d;
|
||||
elm_map_rotate_set(data, cur_d, x + half_w, y + half_h);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_map_mouse_up(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
|
||||
{
|
||||
Evas_Event_Mouse_Up *up = event_info;
|
||||
if (!up) return;
|
||||
|
||||
if (up->button == 2)
|
||||
{
|
||||
old_x = 0;
|
||||
old_y = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
test_map(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
Evas_Object *win, *bg, *map, *tb2, *bt, *bx, *en;
|
||||
Evas_Object *win, *bg, *map;
|
||||
int idx = 0;
|
||||
|
||||
win = elm_win_add(NULL, "map", ELM_WIN_BASIC);
|
||||
|
@ -568,6 +659,12 @@ test_map(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __
|
|||
_map_move_resize_cb, map);
|
||||
evas_object_event_callback_add(map, EVAS_CALLBACK_MOVE,
|
||||
_map_move_resize_cb, map);
|
||||
evas_object_event_callback_add(map, EVAS_CALLBACK_MOUSE_DOWN,
|
||||
_map_mouse_down, map);
|
||||
evas_object_event_callback_add(map, EVAS_CALLBACK_MOUSE_MOVE,
|
||||
_map_mouse_move, map);
|
||||
evas_object_event_callback_add(map, EVAS_CALLBACK_MOUSE_UP,
|
||||
_map_mouse_up, map);
|
||||
|
||||
elm_map_marker_add(map, 2.352, 48.857, itc1, itc_group1, &data1);
|
||||
elm_map_marker_add(map, 2.355, 48.857, itc1, itc_group1, &data3);
|
||||
|
@ -607,159 +704,6 @@ test_map(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __
|
|||
evas_object_smart_callback_add(map, "name,loaded", my_map_name_loaded, map);
|
||||
|
||||
evas_object_show(map);
|
||||
|
||||
tb2 = elm_table_add(win);
|
||||
evas_object_size_hint_weight_set(tb2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_win_resize_object_add(win, tb2);
|
||||
|
||||
bt = elm_button_add(win);
|
||||
elm_button_label_set(bt, "Z -");
|
||||
evas_object_smart_callback_add(bt, "clicked", my_bt_zoom_out, map);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bt, 0.1, 0.1);
|
||||
elm_table_pack(tb2, bt, 0, 0, 1, 1);
|
||||
evas_object_show(bt);
|
||||
|
||||
bt = elm_button_add(win);
|
||||
elm_button_label_set(bt, "Z +");
|
||||
evas_object_smart_callback_add(bt, "clicked", my_bt_zoom_in, map);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bt, 0.9, 0.1);
|
||||
elm_table_pack(tb2, bt, 2, 0, 1, 1);
|
||||
evas_object_show(bt);
|
||||
|
||||
bx = elm_box_add(win);
|
||||
evas_object_show(bx);
|
||||
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bx, 0.5, 0.1);
|
||||
elm_table_pack(tb2, bx, 1, 0, 1, 1);
|
||||
|
||||
//
|
||||
en = elm_scrolled_entry_add(win);
|
||||
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
|
||||
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
|
||||
elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
||||
elm_scrolled_entry_entry_set(en, NAME_ENTRY_TEXT);
|
||||
elm_scrolled_entry_single_line_set(en, 1);
|
||||
elm_box_pack_end(bx, en);
|
||||
evas_object_smart_callback_add(en, "focused", my_map_entry_focused, win);
|
||||
evas_object_smart_callback_add(en, "activated", my_map_entry_activated, map);
|
||||
evas_object_show(en);
|
||||
|
||||
//
|
||||
bt = elm_button_add(win);
|
||||
elm_button_label_set(bt, "Add 1000 markers");
|
||||
evas_object_smart_callback_add(bt, "clicked", my_bt_add, map);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bt, 0.5, 0.1);
|
||||
evas_object_show(bt);
|
||||
elm_box_pack_end(bx, bt);
|
||||
|
||||
bt = elm_button_add(win);
|
||||
elm_button_label_set(bt, "remove 1000 markers");
|
||||
evas_object_smart_callback_add(bt, "clicked", my_bt_remove, map);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bt, 0.5, 0.1);
|
||||
evas_object_show(bt);
|
||||
elm_box_pack_end(bx, bt);
|
||||
//
|
||||
|
||||
bt = elm_button_add(win);
|
||||
elm_button_label_set(bt, "Show Seoul");
|
||||
evas_object_smart_callback_add(bt, "clicked", my_bt_show_reg, map);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bt, 0.1, 0.5);
|
||||
elm_table_pack(tb2, bt, 0, 1, 1, 1);
|
||||
evas_object_show(bt);
|
||||
|
||||
bt = elm_button_add(win);
|
||||
elm_button_label_set(bt, "Bring Seoul");
|
||||
evas_object_smart_callback_add(bt, "clicked", my_bt_bring_reg, map);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bt, 0.9, 0.5);
|
||||
elm_table_pack(tb2, bt, 2, 1, 1, 1);
|
||||
evas_object_show(bt);
|
||||
|
||||
//
|
||||
bx = elm_box_add(win);
|
||||
evas_object_show(bx);
|
||||
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bx, 0.1, 0.9);
|
||||
elm_table_pack(tb2, bx, 0, 2, 1, 1);
|
||||
|
||||
bt = elm_button_add(win);
|
||||
elm_button_label_set(bt, "Pause On/Off");
|
||||
evas_object_smart_callback_add(bt, "clicked", my_bt_pause, map);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bt, 0.1, 0.9);
|
||||
evas_object_show(bt);
|
||||
elm_box_pack_end(bx, bt);
|
||||
|
||||
bt = elm_button_add(win);
|
||||
elm_button_label_set(bt, "Markers pause On/Off");
|
||||
evas_object_smart_callback_add(bt, "clicked", my_bt_markers_pause, map);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bt, 0.1, 0.9);
|
||||
evas_object_show(bt);
|
||||
elm_box_pack_end(bx, bt);
|
||||
|
||||
bt = elm_button_add(win);
|
||||
elm_button_label_set(bt, "R +");
|
||||
evas_object_smart_callback_add(bt, "clicked", my_bt_rotate_cw, map);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bt, 0.1, 0.9);
|
||||
evas_object_show(bt);
|
||||
elm_box_pack_end(bx, bt);
|
||||
|
||||
bt = elm_button_add(win);
|
||||
elm_button_label_set(bt, "R -");
|
||||
evas_object_smart_callback_add(bt, "clicked", my_bt_rotate_ccw, map);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bt, 0.1, 0.9);
|
||||
evas_object_show(bt);
|
||||
elm_box_pack_end(bx, bt);
|
||||
//
|
||||
|
||||
//
|
||||
bx = elm_box_add(win);
|
||||
evas_object_show(bx);
|
||||
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bx, 0.5, 0.9);
|
||||
elm_table_pack(tb2, bx, 1, 2, 1, 1);
|
||||
|
||||
bt = elm_button_add(win);
|
||||
elm_button_label_set(bt, "Fit");
|
||||
evas_object_smart_callback_add(bt, "clicked", my_bt_zoom_fit, map);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bt, 0.5, 0.9);
|
||||
evas_object_show(bt);
|
||||
elm_box_pack_end(bx, bt);
|
||||
|
||||
bt = elm_button_add(win);
|
||||
elm_button_label_set(bt, "Fill");
|
||||
evas_object_smart_callback_add(bt, "clicked", my_bt_zoom_fill, map);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bt, 0.5, 0.9);
|
||||
evas_object_show(bt);
|
||||
elm_box_pack_end(bx, bt);
|
||||
//
|
||||
|
||||
//
|
||||
bx = elm_box_add(win);
|
||||
evas_object_show(bx);
|
||||
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bx, 1.0, 0.9);
|
||||
elm_table_pack(tb2, bx, 2, 2, 1, 1);
|
||||
|
||||
bt = elm_flipselector_add(win);
|
||||
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
for (idx = 0; source_names[idx] ; idx++)
|
||||
elm_flipselector_item_append(bt, source_names[idx], my_bt_source, map);
|
||||
evas_object_show(bt);
|
||||
elm_box_pack_end(bx, bt);
|
||||
//
|
||||
|
||||
evas_object_show(tb2);
|
||||
}
|
||||
|
||||
evas_object_resize(win, 800, 800);
|
||||
|
|
|
@ -92,8 +92,8 @@ typedef struct _Name_Dump Name_Dump;
|
|||
#define NOMINATIM_ATTR_LON "lon"
|
||||
#define NOMINATIM_ATTR_LAT "lat"
|
||||
|
||||
#define PINCH_ZOOM_MIN 0.25
|
||||
#define PINCH_ZOOM_MAX 3.0
|
||||
#define PINCH_ZOOM_MIN 0.1
|
||||
#define PINCH_ZOOM_MAX 5.0
|
||||
|
||||
// Map sources
|
||||
// Currently the size of a tile must be 256*256
|
||||
|
@ -1625,13 +1625,6 @@ _mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_inf
|
|||
Event *ev0;
|
||||
|
||||
if (!wd) return;
|
||||
if (ev->button == 2)
|
||||
{
|
||||
if (wd->wheel_timer) ecore_timer_del(wd->wheel_timer);
|
||||
wd->wheel_timer = ecore_timer_add(0.35, _wheel_timer_cb, data);
|
||||
return;
|
||||
}
|
||||
|
||||
ev0 = get_event_object(data, 0);
|
||||
if (ev0) return;
|
||||
ev0 = create_event_object(data, obj, 0);
|
||||
|
@ -1894,13 +1887,13 @@ _mouse_wheel_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, voi
|
|||
if (ev->z > 0)
|
||||
{
|
||||
wd->zoom_method = ZOOM_METHOD_OUT;
|
||||
wd->wheel_zoom -= 0.1;
|
||||
wd->wheel_zoom -= 0.05;
|
||||
if (wd->wheel_zoom <= PINCH_ZOOM_MIN) wd->wheel_zoom = PINCH_ZOOM_MIN;
|
||||
}
|
||||
else
|
||||
{
|
||||
wd->zoom_method = ZOOM_METHOD_IN;
|
||||
wd->wheel_zoom += 0.1;
|
||||
wd->wheel_zoom += 0.2;
|
||||
if (wd->wheel_zoom >= PINCH_ZOOM_MAX) wd->wheel_zoom = PINCH_ZOOM_MAX;
|
||||
}
|
||||
|
||||
|
@ -1909,6 +1902,9 @@ _mouse_wheel_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, voi
|
|||
wd->pinch.cy = y + half_h;
|
||||
if (wd->calc_job) ecore_job_del(wd->calc_job);
|
||||
wd->calc_job = ecore_job_add(_calc_job, wd);
|
||||
|
||||
if (wd->wheel_timer) ecore_timer_del(wd->wheel_timer);
|
||||
wd->wheel_timer = ecore_timer_add(0.35, _wheel_timer_cb, data);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue