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"
30 int main(int argc, char** argv) {
32 AppData *appdata = g_new0(AppData, 1);
34 gtk_init(&argc, &argv);
40 appdata->program = HILDON_PROGRAM(hildon_program_get_instance());
41 appdata->window = HILDON_WINDOW(hildon_window_new());
42 hildon_program_add_window(appdata->program, appdata->window);
44 set_app_bg_black(appdata);
46 populate_image_array(appdata);
48 load_default_images(appdata);
50 vbox = gtk_vbox_new(FALSE, 0);
51 hbox = gtk_hbox_new(TRUE, 0);
53 gtk_box_pack_start_defaults(vbox, gtk_event_box_new());
54 gtk_box_pack_start_defaults(vbox, hbox);
56 gtk_box_pack_start(hbox, appdata->speed_array[0], FALSE, FALSE, 0);
57 gtk_box_pack_start(hbox, appdata->speed_array[1], FALSE, FALSE, 0);
58 gtk_box_pack_start(hbox, appdata->speed_array[2], FALSE, FALSE, 0);
60 gtk_box_pack_start_defaults(vbox, gtk_button_new_with_label("Bottom"));
62 gtk_container_add(GTK_CONTAINER(appdata->window), GTK_WIDGET(vbox));
64 // set the window fullscreen
65 gtk_window_fullscreen(GTK_WINDOW(appdata->window));
67 gtk_widget_show_all(GTK_WIDGET(appdata->window));
73 g_idle_add(randomize, appdata);
78 LocationGPSDevice *device;
79 device = g_object_new(LOCATION_TYPE_GPS_DEVICE, NULL);
81 // connect some signal handlers
82 g_signal_connect (device, "changed", G_CALLBACK (location_changed), NULL);
84 LocationGPSDControl *control;
86 control = location_gpsd_control_get_default();
87 location_gpsd_control_start(control);
90 g_signal_connect(G_OBJECT(appdata->window),
92 G_CALLBACK(gtk_main_quit),
95 g_signal_connect(G_OBJECT(appdata->window),
97 G_CALLBACK(key_press_cb),
100 g_signal_connect(G_OBJECT(appdata->window),
101 "button_press_event",
102 G_CALLBACK(button_press),