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 GtkWidget *i1, *i2, *i3;
39 program = HILDON_PROGRAM(hildon_program_get_instance());
40 g_set_application_name("Speedometer");
42 window = HILDON_WINDOW(hildon_window_new());
43 hildon_program_add_window(program, window);
45 i1 = gtk_image_new_from_file("data/1.png");
46 i2 = gtk_image_new_from_file("data/3.png");
47 i3 = gtk_image_new_from_file("data/4.png");
49 box = gtk_hbox_new(TRUE, 0);
50 gtk_box_pack_end(box, i1, FALSE, FALSE, 0);
51 gtk_box_pack_end(box, i2, FALSE, FALSE, 0);
52 gtk_box_pack_end(box, i3, FALSE, FALSE, 0);
54 gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(box));
56 // set the background color to black
61 gtk_widget_modify_bg(window, GTK_STATE_NORMAL, &black);
63 // set the window fullscreen
64 gtk_window_fullscreen(GTK_WINDOW(window));
66 gtk_widget_show_all(GTK_WIDGET(window));
75 LocationGPSDevice *device;
76 device = g_object_new(LOCATION_TYPE_GPS_DEVICE, NULL);
78 // connect some signal handlers
79 g_signal_connect (device, "changed", G_CALLBACK (location_changed), NULL);
81 g_signal_connect(G_OBJECT(window), "key_press_event", G_CALLBACK(key_press_cb), window);
83 LocationGPSDControl *control;
85 control = location_gpsd_control_get_default();
86 location_gpsd_control_start(control);
89 /* Connect signal to X in the upper corner */
90 g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(gtk_main_quit), NULL);
92 /* Start the main event loop. */