Description: Speedometer shows current speed on the screen.
Speedometer shows your current speed in various units
on the device screen. Speed is taken from GPS connection.
-XB-Maemo-Icon-26:
- iVBORw0KGgoAAAANSUhEUgAAABoAAAAZCAAAAAAKtWG8AAAACXBIWXMAAAAnAAAAJwEqCZFP
- AAAAB3RJTUUH1QkMEgEBuF+MPAAAACF0RVh0Q29tbWVudABKUEVHOmdudS1oZWFkLmpwZyAy
- NzZ4MjYxjzmxCgAAAi9JREFUKM9dkd9LU2Ecxp/37HU/nFub02Zty9K0lc5FYWJBUCBeRD+o
- y6j/IoIuoj8hgi6DgqAroSAk+gWSIuZVTU1nuDM3tzl1O3PNc3a29/12cSyoy+/zfD+fm4cR
- QJWdPXgiCgMAECNVF72t4ICZmEmxmn9ooN8FAEV1gnmr/VeCHDKd9USHlIAecAIAfPJmM5l5
- br/NkdS16KAHtFdccndTLuAcBaKmVslxMkoIeUAFdT4hr00IfvUGR8fxjU2dw1VK3AG0z4/V
- qjI59j05R7cUHHLYHVyW01GC+fFhPayFR/p6JlefHLyI5fnrLVzhzfxi+MW7B+N29Wx2mr9f
- y73O19+E3G1MzmZeenxLr7rW3sYHybbz6XLft6ep0PDwOdujtt3Dxer9ASbj+pTdF04mzwRT
- sfOdo5zDf5L7XBcA+BfVES/8P0zn+NbRkA0govzSHBElhDR0SXJ6VYpsk4gYAagXurH9q8sJ
- kXKFChm30XTEAQ4AxUhjVcQkseV68Eu8UzutAAAjwFgo1S+VI6i0VtX0GHnyXre1AVFj29gS
- X4nkuiYqZTH1QRIRkQKABxyK0l4mFt5gXl+hEbOG4wAAGDi2IjpYx2xEW8mdsjIQERGtCVrf
- kCTMjCnTlo8U6yFUQLi+1RA/n92dYZYPjCy2xPy1vcIJRdUHbPu+fYq110w3p6JN7hL+rcC6
- WhiOqMmFXuP/Ci0KuMuZLd2b/5OwvzwAamrlWs+B/es340gXFARK7DMAAAAASUVORK5CYII=
-
while(i < 10) {
char* path = malloc(30);
g_sprintf(path, IMAGE_PATH, i);
- appdata->image_array[i] = gtk_image_new_from_file(path);
+ appdata->image_array[i] = (GtkImage*) gtk_image_new_from_file(path);
g_print(path);
g_print("\n");
free(path);
GdkPixbuf* zero = gtk_image_get_pixbuf(appdata->image_array[0]);
- appdata->speed_array[0] = gtk_image_new_from_pixbuf(zero);
- appdata->speed_array[1] = gtk_image_new_from_pixbuf(zero);
- appdata->speed_array[2] = gtk_image_new_from_pixbuf(zero);
+ appdata->speed_array[0] = (GtkImage*) gtk_image_new_from_pixbuf(zero);
+ appdata->speed_array[1] = (GtkImage*) gtk_image_new_from_pixbuf(zero);
+ appdata->speed_array[2] = (GtkImage*) gtk_image_new_from_pixbuf(zero);
}
guint randomize(AppData* appdata) {
g_print("Setting number %d to %d.. ", n+1, m);
gtk_image_set_from_pixbuf(image, buf);
- gtk_widget_queue_draw(appdata->speed_array[n]);
+ gtk_widget_queue_draw(GTK_WIDGET(appdata->speed_array[n]));
return TRUE;
}
appdata->window);
// add three digits to the hbox
- gtk_box_pack_start(hbox, appdata->speed_array[0], FALSE, FALSE, 0);
- gtk_box_pack_start(hbox, appdata->speed_array[1], FALSE, FALSE, 0);
- gtk_box_pack_start(hbox, appdata->speed_array[2], FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->speed_array[0]), FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->speed_array[1]), FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->speed_array[2]), FALSE, FALSE, 0);
- gtk_box_pack_start_defaults(vbox, top_e); // add event box on top
- gtk_box_pack_start_defaults(vbox, hbox); // numbers to the middle
- gtk_box_pack_start_defaults(vbox, bottom_e); // add event box on bottom
+ gtk_box_pack_start_defaults(GTK_BOX(vbox), top_e); // add event box on top
+ gtk_box_pack_start_defaults(GTK_BOX(vbox), hbox); // numbers to the middle
+ gtk_box_pack_start_defaults(GTK_BOX(vbox), bottom_e); // add event box on bottom
gtk_container_add(GTK_CONTAINER(appdata->window), GTK_WIDGET(vbox));
// set backgrounds black
- set_widget_bg_black(appdata->window);
+ set_widget_bg_black(GTK_WIDGET(appdata->window));
set_widget_bg_black(bottom_e);
set_widget_bg_black(top_e);
#include "appdata.h"
#include "callbacks.h"
-void start_gps(AppData* appdata) {
+static LocationGPSDevice *device = NULL;
+static LocationGPSDControl *control = NULL;
+void start_gps(AppData* appdata) {
#ifdef __arm__
- // gps device
- LocationGPSDevice *device;
- device = g_object_new(LOCATION_TYPE_GPS_DEVICE, NULL);
-
- g_signal_connect(device, "changed", G_CALLBACK(location_changed), appdata);
-
- LocationGPSDControl *control;
-
+ if(!device) {
+ device = g_object_new(LOCATION_TYPE_GPS_DEVICE, NULL);
+ g_signal_connect(device, "changed", G_CALLBACK(location_changed), appdata);
+ }
control = location_gpsd_control_get_default();
- location_gpsd_control_start(control);
+ location_gpsd_control_request_status(control);
+ if(control->can_control) {
+ location_gpsd_control_start(control);
+ }
#endif // __arm__
-
}
void stop_gps(AppData* appdata) {
-
+#ifdef __arm__
+ control = location_gpsd_control_get_default();
+ location_gpsd_control_request_status(control);
+ if(control->can_control) {
+ location_gpsd_control_stop(control);
+ }
+#endif // __arm__
}