along with this program. If not, see <http://www.gnu.org/licenses/>.
****/
-#include <gtk/gtk.h>
-
#include "callbacks.h"
-void location_changed(LocationGPSDevice* device, gpointer userdata) {
- g_print ("Latitude: %.2f\nLongitude: %.2f\nAltitude: %.2f\n",
- device->fix->latitude, device->fix->longitude, device->fix->altitude);
+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 userdata) {
+}
-/* Callback for hardware keys */
gboolean key_press_cb(GtkWidget* widget, GdkEventKey* event, HildonWindow* window) {
- switch (event->keyval) {
- case GDK_Up:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Up");
- return TRUE;
+ switch (event->keyval) {
+ case GDK_Up:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Up");
+ return TRUE;
- case GDK_Down:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Down");
- return TRUE;
+ case GDK_Down:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Down");
+ return TRUE;
- case GDK_Left:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Left");
- return TRUE;
+ case GDK_Left:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Left");
+ return TRUE;
- case GDK_Right:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Right");
- return TRUE;
+ case GDK_Right:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key Right");
+ return TRUE;
- case GDK_Return:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key select");
- return TRUE;
+ case GDK_Return:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Navigation Key select");
+ return TRUE;
- case GDK_F6:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Full screen");
- return TRUE;
+ case GDK_F6:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Full screen");
+ return TRUE;
- case GDK_F7:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Increase (zoom in)");
- return TRUE;
+ case GDK_F7:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Increase (zoom in)");
+ return TRUE;
- case GDK_F8:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Decrease (zoom out)");
- return TRUE;
+ case GDK_F8:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Decrease (zoom out)");
+ return TRUE;
- case GDK_Escape:
- hildon_banner_show_information(GTK_WIDGET(window), NULL, "Cancel/Close");
- return TRUE;
- }
+ case GDK_Escape:
+ hildon_banner_show_information(GTK_WIDGET(window), NULL, "Cancel/Close");
+ return TRUE;
+ }
- return FALSE;
+ return FALSE;
}
#ifndef CALLBACKS_H_
#define CALLBACKS_H_
+#include <hildon/hildon-window.h>
#include <location/location-gps-device.h>
#include <gtk/gtk.h>
void location_changed(LocationGPSDevice* device, gpointer userdata);
// for hardware keys
-gboolean key_press_cb(GtkWidget* widget, GdkEventKey* event, HildonWindow* window)
+gboolean key_press_cb(GtkWidget* widget, GdkEventKey* event, HildonWindow* window);
#endif /* CALLBACKS_H_ */
gtk_init(&argc, &argv);
+ GtkWidget *i1, *i2, *i3;
+ GtkWidget *box;
program = HILDON_PROGRAM(hildon_program_get_instance());
g_set_application_name("Speedometer");
- /* Create HildonWindow and set it to HildonProgram */
window = HILDON_WINDOW(hildon_window_new());
hildon_program_add_window(program, window);
+ i1 = gtk_image_new_from_file("data/1.png");
+ i2 = gtk_image_new_from_file("data/3.png");
+ i3 = gtk_image_new_from_file("data/4.png");
+ box = gtk_hbox_new(TRUE, 0);
+ gtk_box_pack_end(box, i1, FALSE, FALSE, 0);
+ gtk_box_pack_end(box, i2, FALSE, FALSE, 0);
+ gtk_box_pack_end(box, i3, FALSE, FALSE, 0);
+
+ gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(box));
+
+ // set the background color to black
+ GdkColor black;
+ black.red = 0x0000;
+ black.blue = 0x0000;
+ black.green = 0x0000;
+ gtk_widget_modify_bg(window, GTK_STATE_NORMAL, &black);
+
+ // set the window fullscreen
+ gtk_window_fullscreen(GTK_WINDOW(window));
- /* Show all widgets that are contained by the window. */
gtk_widget_show_all(GTK_WIDGET(window));
g_thread_init(NULL);
+
+#ifdef __arm__
// gps device
LocationGPSDevice *device;
- device = g_object_new (LOCATION_TYPE_GPS_DEVICE, NULL);
-
+ device = g_object_new(LOCATION_TYPE_GPS_DEVICE, NULL);
// connect some signal handlers
g_signal_connect (device, "changed", G_CALLBACK (location_changed), NULL);
- /* Connect signal to X in the upper corner */
- g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(gtk_main_quit), NULL);
-
g_signal_connect(G_OBJECT(window), "key_press_event", G_CALLBACK(key_press_cb), window);
LocationGPSDControl *control;
control = location_gpsd_control_get_default();
location_gpsd_control_start(control);
+#endif // __arm__
-
+ /* Connect signal to X in the upper corner */
+ g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(gtk_main_quit), NULL);
/* Start the main event loop. */
gtk_main();
-
-
return EXIT_SUCCESS;
}