1
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
5
GtkWidget *window, *scroll;
7
EMapPoint *point = NULL, *highlight_point = NULL;
14
if (!point) return TRUE;
16
if (e_map_point_get_color_rgba (point) == 0xf010d0ff)
17
e_map_point_set_color_rgba (map, point, 0x000000ff);
19
e_map_point_set_color_rgba (map, point, 0xf010d0ff);
26
motion (GtkWidget *widget, GdkEventMotion *event, gpointer user_data)
28
double longitude, latitude;
30
e_map_window_to_world (map, (double) event->x, (double) event->y,
31
&longitude, &latitude);
33
if (highlight_point && highlight_point != point)
34
e_map_point_set_color_rgba (map, highlight_point, 0xf010d0ff);
37
e_map_get_closest_point (map, longitude, latitude, TRUE);
39
if (highlight_point && highlight_point != point)
40
e_map_point_set_color_rgba (map, highlight_point, 0xffff60ff);
47
button_pressed (GtkWidget *w, GdkEventButton *event, gpointer data)
49
double longitude, latitude;
51
e_map_window_to_world (map, (double) event->x, (double) event->y,
52
&longitude, &latitude);
54
if (event->button != 1)
57
e_map_zoom_to_location (map, longitude, latitude);
59
if (point) e_map_point_set_color_rgba (map, point, 0xf010d0ff);
61
point = highlight_point;
68
main (int argc, char *argv[])
70
gtk_init (&argc, &argv);
72
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
73
scroll = gtk_scrolled_window_new(GTK_POLICY_ALWAYS, GTK_POLICY_ALWAYS);
76
gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(scroll));
77
gtk_container_add(GTK_CONTAINER(scroll), GTK_WIDGET(map));
79
e_map_set_smooth_zoom(E_MAP(map), TRUE);
80
e_map_add_point(E_MAP(map), NULL, 40.0, 0.0, 0xf010d0ff);
81
e_map_add_point(E_MAP(map), NULL, 10.0, 0.0, 0xf010d0ff);
82
point = e_map_add_point(E_MAP(map), NULL, 25.0, 40.0, 0xf010d0ff);
84
g_signal_connect(G_OBJECT (map), "motion-notify-event",
85
G_CALLBACK (motion), NULL);
86
g_signal_connect(G_OBJECT(map), "button-press-event",
87
G_CALLBACK (button_pressed), NULL);
89
gtk_widget_show_all(window);
90
id = g_timeout_add(100, flash, NULL);