2 Speedometer, shows your current speed using GPS
3 Copyright (C) 2008 Wellu Mäkinen <wellu@wellu.org>
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #include <hildon/hildon-program.h>
20 #include <hildon/hildon-window.h>
23 #include <location/location-gps-device.h>
24 #include <location/location-gpsd-control.h>
26 #include "callbacks.h"
28 int main(int argc, char** argv) {
31 HildonProgram *program;
34 gtk_init(&argc, &argv);
36 GtkImage* table[10]; // stores the images
40 program = HILDON_PROGRAM(hildon_program_get_instance());
41 g_set_application_name("Speedometer");
43 window = HILDON_WINDOW(hildon_window_new());
44 hildon_program_add_window(program, window);
49 char* path = malloc(30);
50 g_sprintf(path, "data/%d.png", i);
51 table[i] = gtk_image_new_from_file(path);
58 box = gtk_hbox_new(TRUE, 0);
60 gtk_box_pack_start(box, table[6], FALSE, FALSE, 0);
61 gtk_box_pack_start(box, table[5], FALSE, FALSE, 0);
62 gtk_box_pack_start(box, table[8], FALSE, FALSE, 0);
64 gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(box));
66 // set the background color to black
71 gtk_widget_modify_bg(window, GTK_STATE_NORMAL, &black);
73 // set the window fullscreen
74 gtk_window_fullscreen(GTK_WINDOW(window));
76 gtk_widget_show_all(GTK_WIDGET(window));
85 LocationGPSDevice *device;
86 device = g_object_new(LOCATION_TYPE_GPS_DEVICE, NULL);
88 // connect some signal handlers
89 g_signal_connect (device, "changed", G_CALLBACK (location_changed), NULL);
91 g_signal_connect(G_OBJECT(window), "key_press_event", G_CALLBACK(key_press_cb), window);
93 LocationGPSDControl *control;
95 control = location_gpsd_control_get_default();
96 location_gpsd_control_start(control);
99 /* Connect signal to X in the upper corner */
100 g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(gtk_main_quit), NULL);
102 /* Start the main event loop. */