X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=callbacks.c;h=f8e29ff040fd079e0bd6283b48fca79bb40a1a8e;hb=04eaf74dc982120cdf34cd17eece780dea8d6034;hp=7ba4ce9d865d2eb4e272ca8d1187d9a2c765ac5e;hpb=d79de8ce81132a774376eccaf4411482d208dd7d;p=speedometer diff --git a/callbacks.c b/callbacks.c index 7ba4ce9..f8e29ff 100644 --- a/callbacks.c +++ b/callbacks.c @@ -16,20 +16,25 @@ along with this program. If not, see . ****/ +#include +#include + #include "callbacks.h" +#include "appdata.h" +#include "util.h" -static void print_stuff(LocationGPSDevice* device) { - g_print("Latitude: %.2f\n" - "Longitude: %.2f\n" - "Altitude: %.2f\n" - "Speed: %d", - device->fix->latitude, - device->fix->longitude, - device->fix->altitude, - device->fix->speed); -} +void location_changed(LocationGPSDevice* device, gpointer data) { + g_assert(data); + g_assert(device); + + AppData* appdata = (AppData*) data; -void location_changed(LocationGPSDevice* device, gpointer userdata) { + // check for NaN before passing values + if(device->fix->fields & LOCATION_GPS_DEVICE_SPEED_SET) { + if(!isnan(device->fix->speed)) { + interpret_speed_from_gps(appdata, device->fix->speed); + } + } } gboolean key_press_cb(GtkWidget* widget, GdkEventKey* event, HildonWindow* window) { @@ -73,3 +78,23 @@ gboolean key_press_cb(GtkWidget* widget, GdkEventKey* event, HildonWindow* windo return FALSE; } + +gboolean top_event_box_button_press(GtkWidget* widget, GdkEventButton* event, gpointer data) { + gdouble x = event->x; + g_print("Top event box pressed at: %f\n", x); + AppData* appdata = (AppData*) data; + + if(x > 750) { + g_print("Exiting..\n"); + g_signal_emit_by_name(appdata->window, "delete_event"); + } + return TRUE; +} + + +gboolean bottom_event_box_button_press(GtkWidget* widget, GdkEventButton* event, gpointer data) { + gdouble x = event->x; + g_print("Bottom event box pressed at: %f\n", x); + return TRUE; +} +