1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
// Copyright: CC0
//
//run like:
// ./vik2vik < input.vik output.vik
//
#include <gtk/gtk.h>
#include <stdio.h>
#include "viklayer.h"
#include "viklayer_defaults.h"
#include "settings.h"
#include "preferences.h"
#include "download.h"
#include "globals.h"
#include "garminsymbols.h"
#include "gpspoint.h"
#include "file.h"
#include "modules.h"
#include "toolbar.h"
int main(int argc, char *argv[])
{
if ( argc != 2 )
return argc;
// Under GTK2, despite perhaps being undefined behaviour - it seemed to work without a $DISPLAY
// But for GTK3 it doesn't work
#if GTK_CHECK_VERSION (3,0,0)
gtk_init ( NULL, NULL );
#endif
// Some stuff must be initialized as it gets auto used
a_settings_init ();
a_preferences_init ();
a_vik_preferences_init ();
a_layer_defaults_init ();
a_download_init();
modules_init();
a_toolbar_init();
int result = 0;
// Seems to work without an $DISPLAY
// Also get lots of warnings about no actual drawing GCs available
// but for file processing this seems to be good enough
VikLoadType_t lt;
VikAggregateLayer* agg = vik_aggregate_layer_new ( NULL );
#if GTK_CHECK_VERSION (3,0,0)
VikWindow *vw = vik_window_new_window();
VikViewport* vp = vik_window_viewport(vw);
#else
VikViewport* vp = vik_viewport_new ();
#endif
lt = a_file_load_stream ( stdin, NULL, agg, vp, NULL, TRUE, FALSE, NULL, "NotUsedName" );
if ( lt < LOAD_TYPE_VIK_FAILURE_NON_FATAL )
result++;
if ( !a_file_save(agg, vp, argv[1]) )
result++;
g_object_unref ( agg );
a_toolbar_uninit ();
a_download_uninit();
vik_trwlayer_uninit ();
a_layer_defaults_uninit ();
a_preferences_uninit ();
a_settings_uninit ();
return result;
}
|