]> Pileus Git - aweather/blobdiff - src/plugins/radar.c
Update objects for new Grits expose settings
[aweather] / src / plugins / radar.c
index 8166e6630891c2fdd341b0468e2b2a57a398d1c1..a79afb1c72fee1daec9a4d1605924d7d61e89633 100644 (file)
@@ -182,7 +182,7 @@ gpointer _site_update_thread(gpointer _site)
        }
        grits_object_hide(GRITS_OBJECT(site->level2), site->hidden);
        grits_viewer_add(site->viewer, GRITS_OBJECT(site->level2),
-                       GRITS_LEVEL_WORLD+1, TRUE);
+                       GRITS_LEVEL_WORLD+3, TRUE);
 
 out:
        g_idle_add(_site_update_end, site);
@@ -305,6 +305,7 @@ RadarSite *radar_site_new(city_t *city, GtkWidget *pconfig,
                        "level2" G_DIR_SEPARATOR_S);
        site->city    = city;
        site->pconfig = pconfig;
+       site->hidden  = TRUE;
 
        /* Set initial location */
        gdouble lat, lon, elev;
@@ -378,13 +379,14 @@ static void _conus_update_end_copy(GritsTile *tile, guchar *pixels)
                glGenTextures(1, tile->data);
        }
 
+       gchar *clear = g_malloc0(2048*2048*4);
        guint *tex = tile->data;
        glBindTexture(GL_TEXTURE_2D, *tex);
 
        glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
        glPixelStorei(GL_PACK_ALIGNMENT, 1);
        glTexImage2D(GL_TEXTURE_2D, 0, 4, 2048, 2048, 0,
-                       GL_RGBA, GL_UNSIGNED_BYTE, NULL);
+                       GL_RGBA, GL_UNSIGNED_BYTE, clear);
        glTexSubImage2D(GL_TEXTURE_2D, 0, 1,1, CONUS_WIDTH/2,CONUS_HEIGHT,
                        GL_RGBA, GL_UNSIGNED_BYTE, pixels);
        tile->coords.n = 1.0/(CONUS_WIDTH/2);
@@ -396,6 +398,7 @@ static void _conus_update_end_copy(GritsTile *tile, guchar *pixels)
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
        glFlush();
+       g_free(clear);
 }
 
 /* Split the pixbuf into east and west halves (with 2K sides)
@@ -424,7 +427,7 @@ static void _conus_update_end_split(guchar *pixels, guchar *west, guchar *east,
                        dst[0] = src[0];
                        dst[1] = src[1];
                        dst[2] = src[2];
-                       dst[3] = 0xff;
+                       dst[3] = 0xff * 0.75;
                        for (int j = 0; j < G_N_ELEMENTS(alphamap); j++)
                                if (src[0] == alphamap[j][0] &&
                                    src[1] == alphamap[j][1] &&
@@ -569,8 +572,8 @@ RadarConus *radar_conus_new(GtkWidget *pconfig,
        conus->tile[1] = grits_tile_new(NULL, CONUS_NORTH, south, east, mid);
        conus->tile[0]->zindex = 2;
        conus->tile[1]->zindex = 1;
-       grits_viewer_add(viewer, GRITS_OBJECT(conus->tile[0]), GRITS_LEVEL_WORLD, TRUE);
-       grits_viewer_add(viewer, GRITS_OBJECT(conus->tile[1]), GRITS_LEVEL_WORLD, TRUE);
+       grits_viewer_add(viewer, GRITS_OBJECT(conus->tile[0]), GRITS_LEVEL_WORLD+2, FALSE);
+       grits_viewer_add(viewer, GRITS_OBJECT(conus->tile[1]), GRITS_LEVEL_WORLD+2, FALSE);
 
        conus->time_id = g_signal_connect_swapped(viewer, "time-changed",
                        G_CALLBACK(_conus_update), conus);