Graphix are shown for testing purposes.
authorwellu <wellu@wellu.org>
Wed, 3 Sep 2008 18:44:17 +0000 (18:44 +0000)
committerwellu <wellu@wellu.org>
Wed, 3 Sep 2008 18:44:17 +0000 (18:44 +0000)
git-svn-id: file:///svnroot/speedometer/trunk@15 df364472-da61-43ef-8a67-511c89aa921b

callbacks.c
callbacks.h
main.c

index ff693f8..7ba4ce9 100644 (file)
        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;
 }
index a76b05c..9fc8ede 100644 (file)
@@ -19,6 +19,7 @@
 #ifndef CALLBACKS_H_
 #define CALLBACKS_H_
 
+#include <hildon/hildon-window.h>
 #include <location/location-gps-device.h>
 #include <gtk/gtk.h>
 
@@ -26,6 +27,6 @@
 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_ */
diff --git a/main.c b/main.c
index e2bfcc6..a3c6de0 100644 (file)
--- a/main.c
+++ b/main.c
@@ -33,48 +33,65 @@ int main(int argc, char** argv) {
 
        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;
 }