X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=src%2Fplugins%2Fradar.h;h=e64ed8130c2cece2ffb66422a19ce928b7c579c3;hb=274a83a00dae79b7d1927210e51214422e77d0d5;hp=34a260752ab7e7b5c2d9bceef1e6a736bd6b8172;hpb=7200f71a7275a4ca3faa4d3d8182720fcc0b9496;p=aweather diff --git a/src/plugins/radar.h b/src/plugins/radar.h index 34a2607..e64ed81 100644 --- a/src/plugins/radar.h +++ b/src/plugins/radar.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Andy Spencer + * Copyright (C) 2009-2011 Andy Spencer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,61 +19,51 @@ #define __RADAR_H__ #include -#include #include -#include +#include +#include "radar-info.h" +#include "level2.h" -#include "marching.h" +#define GRITS_TYPE_PLUGIN_RADAR (grits_plugin_radar_get_type ()) +#define GRITS_PLUGIN_RADAR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GRITS_TYPE_PLUGIN_RADAR, GritsPluginRadar)) +#define GRITS_IS_PLUGIN_RADAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GRITS_TYPE_PLUGIN_RADAR)) +#define GRITS_PLUGIN_RADAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GRITS_TYPE_PLUGIN_RADAR, GritsPluginRadarClass)) +#define GRITS_IS_PLUGIN_RADAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GRITS_TYPE_PLUGIN_RADAR)) +#define GRITS_PLUGIN_RADAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GRITS_TYPE_PLUGIN_RADAR, GritsPluginRadarClass)) -/* TODO: convert */ -typedef struct { - char *name; - guint8 data[256][4]; -} colormap_t; -extern colormap_t colormaps[]; +typedef struct _GritsPluginRadar GritsPluginRadar; +typedef struct _GritsPluginRadarClass GritsPluginRadarClass; -#define GIS_TYPE_PLUGIN_RADAR (gis_plugin_radar_get_type ()) -#define GIS_PLUGIN_RADAR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GIS_TYPE_PLUGIN_RADAR, GisPluginRadar)) -#define GIS_IS_PLUGIN_RADAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GIS_TYPE_PLUGIN_RADAR)) -#define GIS_PLUGIN_RADAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIS_TYPE_PLUGIN_RADAR, GisPluginRadarClass)) -#define GIS_IS_PLUGIN_RADAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIS_TYPE_PLUGIN_RADAR)) -#define GIS_PLUGIN_RADAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIS_TYPE_PLUGIN_RADAR, GisPluginRadarClass)) +typedef struct _RadarConus RadarConus; +typedef struct _RadarSite RadarSite; -typedef struct _GisPluginRadar GisPluginRadar; -typedef struct _GisPluginRadarClass GisPluginRadarClass; - -struct _GisPluginRadar { +struct _GritsPluginRadar { GObject parent_instance; /* instance members */ - GisWorld *world; - GisView *view; - GisOpenGL *opengl; - GisPrefs *prefs; - GtkWidget *config_body; - GtkWidget *progress_bar; - GtkWidget *progress_label; - SoupSession *soup; - guint time_changed_id; - - /* Private data for loading radars */ - Radar *cur_radar; - Sweep *cur_sweep; - colormap_t *cur_colormap; - guint cur_sweep_tex; - TRIANGLE *cur_triangles; - guint cur_num_triangles; + GritsViewer *viewer; + GritsPrefs *prefs; + GtkWidget *config; + guint tab_id; + AWeatherColormap *colormap; + GritsCallback *hud; + + GHashTable *sites; + GritsHttp *sites_http; + + RadarConus *conus; + GritsHttp *conus_http; }; -struct _GisPluginRadarClass { +struct _GritsPluginRadarClass { GObjectClass parent_class; }; -GType gis_plugin_radar_get_type(); +GType grits_plugin_radar_get_type(); /* Methods */ -GisPluginRadar *gis_plugin_radar_new(GisWorld *world, GisView *view, GisOpenGL *opengl, GisPrefs *prefs); +GritsPluginRadar *grits_plugin_radar_new(GritsViewer *viewer, GritsPrefs *prefs); /* Misc. RSL helpers */ #define RSL_FOREACH_VOL(radar, volume, count, index) \