X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=src%2Fplugin-radar.h;h=2db7980c7fc4edd4f23bd8ee00e67ac3c3c5f016;hb=aba05890085cec97c631b5b8a25fd04c960ec203;hp=7b787d8cd83d6afc3a0b35561aaa0f7c3b40db64;hpb=47c93b9c86bcb79df6f28a3c253be9b9644a1c34;p=aweather diff --git a/src/plugin-radar.h b/src/plugin-radar.h index 7b787d8..2db7980 100644 --- a/src/plugin-radar.h +++ b/src/plugin-radar.h @@ -15,16 +15,58 @@ * along with this program. If not, see . */ -#ifndef RADAR_H -#define RADAR_H +#ifndef __RADAR_H__ +#define __RADAR_H__ -gboolean radar_init(AWeatherGui *gui); +#include +#include +#include +#include "marching.h" + +/* TODO: convert */ typedef struct { char *name; guint8 data[256][4]; } colormap_t; - extern colormap_t colormaps[]; +#define AWEATHER_TYPE_RADAR (aweather_radar_get_type ()) +#define AWEATHER_RADAR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), AWEATHER_TYPE_RADAR, AWeatherRadar)) +#define AWEATHER_IS_RADAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), AWEATHER_TYPE_RADAR)) +#define AWEATHER_RADAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AWEATHER_TYPE_RADAR, AWeatherRadarClass)) +#define AWEATHER_IS_RADAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AWEATHER_TYPE_RADAR)) +#define AWEATHER_RADAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AWEATHER_TYPE_RADAR, AWeatherRadarClass)) + +typedef struct _AWeatherRadar AWeatherRadar; +typedef struct _AWeatherRadarClass AWeatherRadarClass; + +struct _AWeatherRadar { + GObject parent_instance; + + /* instance members */ + AWeatherGui *gui; + GtkWidget *config_body; + GtkWidget *progress_bar; + GtkWidget *progress_label; + SoupSession *soup; + + /* 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; +}; + +struct _AWeatherRadarClass { + GObjectClass parent_class; +}; + +GType aweather_radar_get_type(); + +/* Methods */ +AWeatherRadar *aweather_radar_new(AWeatherGui *gui); + #endif