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