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);
36 GtkImage* table[10]; // stores the images
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);
48 char* path = malloc(30);
49 g_sprintf(path, "data/%d.png", i);
50 table[i] = gtk_image_new_from_file(path);
57 box = gtk_hbox_new(TRUE, 0);
59 gtk_box_pack_start(box, table[6], FALSE, FALSE, 0);
60 gtk_box_pack_start(box, table[5], FALSE, FALSE, 0);
61 gtk_box_pack_start(box, table[8], FALSE, FALSE, 0);
63 gtk_container_add(GTK_CONTAINER(appdata->window), GTK_WIDGET(box));
65 // set the window fullscreen
66 gtk_window_fullscreen(GTK_WINDOW(appdata->window));
68 gtk_widget_show_all(GTK_WIDGET(appdata->window));
77 LocationGPSDevice *device;
78 device = g_object_new(LOCATION_TYPE_GPS_DEVICE, NULL);
80 // connect some signal handlers
81 g_signal_connect (device, "changed", G_CALLBACK (location_changed), NULL);
83 g_signal_connect(G_OBJECT(appdata->window), "key_press_event", G_CALLBACK(key_press_cb), appdata->window);
85 LocationGPSDControl *control;
87 control = location_gpsd_control_get_default();
88 location_gpsd_control_start(control);
91 /* Connect signal to X in the upper corner */
92 g_signal_connect(G_OBJECT(appdata->window), "delete_event", G_CALLBACK(gtk_main_quit), NULL);
94 /* Start the main event loop. */