]> Pileus Git - aweather/commitdiff
Update for libgis changes
authorAndy Spencer <andy753421@gmail.com>
Mon, 1 Nov 2010 04:19:21 +0000 (04:19 +0000)
committerAndy Spencer <andy753421@gmail.com>
Mon, 1 Nov 2010 04:19:21 +0000 (04:19 +0000)
- Use draw method instead of callback for level

src/plugins/level2.c
src/plugins/level2.h
src/plugins/radar.c

index 6e0a0666457a16ad63f7d801247d8df0340846b7..74333e886f608936f9a6997221965e98e8d5bbdb 100644 (file)
@@ -130,7 +130,7 @@ static gboolean _decompress_radar(const gchar *file, const gchar *raw)
 /*********************
  * Drawing functions *
  *********************/
-static void _draw_radar(GisCallback *_self, gpointer _viewer)
+void aweather_level2_draw(GisObject *_self, GisOpenGL *opengl)
 {
        AWeatherLevel2 *self = AWEATHER_LEVEL2(_self);
        if (!self->sweep || !self->sweep_tex)
@@ -142,7 +142,7 @@ static void _draw_radar(GisCallback *_self, gpointer _viewer)
        gdouble lat  = (double)h->latd + (double)h->latm/60 + (double)h->lats/(60*60);
        gdouble lon  = (double)h->lond + (double)h->lonm/60 + (double)h->lons/(60*60);
        gdouble elev = h->height;
-       gis_viewer_center_position(self->viewer, lat, lon, elev);
+       gis_viewer_center_position(GIS_VIEWER(opengl), lat, lon, elev);
 
        glDisable(GL_ALPHA_TEST);
        glDisable(GL_CULL_FACE);
@@ -367,16 +367,9 @@ GtkWidget *aweather_level2_get_config(AWeatherLevel2 *level2)
 /****************
  * GObject code *
  ****************/
-G_DEFINE_TYPE(AWeatherLevel2, aweather_level2, GIS_TYPE_CALLBACK);
+G_DEFINE_TYPE(AWeatherLevel2, aweather_level2, GIS_TYPE_OBJECT);
 static void aweather_level2_init(AWeatherLevel2 *self)
 {
-       GIS_CALLBACK(self)->callback  = _draw_radar;
-       GIS_CALLBACK(self)->user_data = self;
-}
-static void aweather_level2_dispose(GObject *_self)
-{
-       g_debug("AWeatherLevel2: dispose - %p", _self);
-       G_OBJECT_CLASS(aweather_level2_parent_class)->dispose(_self);
 }
 static void aweather_level2_finalize(GObject *_self)
 {
@@ -390,5 +383,5 @@ static void aweather_level2_finalize(GObject *_self)
 static void aweather_level2_class_init(AWeatherLevel2Class *klass)
 {
        G_OBJECT_CLASS(klass)->finalize = aweather_level2_finalize;
-       G_OBJECT_CLASS(klass)->dispose  = aweather_level2_dispose;
+       GIS_OBJECT_CLASS(klass)->draw   = aweather_level2_draw;
 }
index 7f3d366f4ca7cfff7c6f4521b7fb7b41e1aafd36..e0c5783ebf3d9a4f25015f1940d894c7db81c9e4 100644 (file)
@@ -33,7 +33,7 @@ typedef struct _AWeatherLevel2      AWeatherLevel2;
 typedef struct _AWeatherLevel2Class AWeatherLevel2Class;
 
 struct _AWeatherLevel2 {
-       GisCallback       parent;
+       GisObject         parent;
        GisViewer        *viewer;
        Radar            *radar;
        AWeatherColormap *colormap;
@@ -46,7 +46,7 @@ struct _AWeatherLevel2 {
 };
 
 struct _AWeatherLevel2Class {
-       GisCallbackClass parent_class;
+       GisObjectClass parent_class;
 };
 
 GType aweather_level2_get_type(void);
index 4b86240607a39f7f62e28d5d7cd723c45beac117..072bc97af3f09a6f8f7ed0b2a5bea484f65bb8a4 100644 (file)
@@ -620,7 +620,7 @@ void radar_conus_free(RadarConus *conus)
 /******************
  * GisPluginRadar *
  ******************/
-static void _draw_hud(GisCallback *callback, gpointer _self)
+static void _draw_hud(GisCallback *callback, GisOpenGL *opengl, gpointer _self)
 {
        /* TODO */
        GisPluginRadar *self = GIS_PLUGIN_RADAR(_self);