- /* Set up OpenGL Stuff */
- g_signal_connect(drawing, "expose-event", G_CALLBACK(expose), NULL);
- g_signal_connect(view, "site-changed", G_CALLBACK(set_site), NULL);
+ g_signal_connect(view, "site-changed", G_CALLBACK(set_site), ridge);
+
+ return ridge;
+}
+
+static void aweather_ridge_expose(AWeatherPlugin *_ridge)
+{
+ AWeatherRidge *ridge = AWEATHER_RIDGE(_ridge);
+
+ g_message("ridge:expose");
+ glPushMatrix();
+ glEnable(GL_TEXTURE_2D);
+ glColor4f(1,1,1,1);
+
+ for (int i = 0; i < LAYER_COUNT; i++) {
+ if (!layers[i].enabled)
+ continue;
+ glBindTexture(GL_TEXTURE_2D, layers[i].tex);
+ glBegin(GL_POLYGON);
+ glTexCoord2f(0.0, 0.0); glVertex3f(240*1000*-1.0, 282*1000* 1.0, layers[i].z);
+ glTexCoord2f(0.0, 1.0); glVertex3f(240*1000*-1.0, 282*1000*-1.0, layers[i].z);
+ glTexCoord2f(1.0, 1.0); glVertex3f(240*1000* 1.0, 282*1000*-1.0, layers[i].z);
+ glTexCoord2f(1.0, 0.0); glVertex3f(240*1000* 1.0, 282*1000* 1.0, layers[i].z);
+ glEnd();
+ }