- /* Draw a border */
- //gint border = 10;
- //gint stride = gdk_pixbuf_get_rowstride(pixbuf);
- //for (int i = 0; i < border; i++) {
- // memset(&pixels[( i)*stride], 0xff, stride);
- // memset(&pixels[(height-i)*stride], 0xff, stride);
- //}
- //for (int i = 0; i < height; i++) {
- // memset(&pixels[(i*stride)], 0xff, border*4);
- // memset(&pixels[(i*stride)+((width-border)*4)], 0xff, border*4);
- //}
-
- guint *tex = g_new0(guint, 1);
- glGenTextures(1, tex);
- glBindTexture(GL_TEXTURE_2D, *tex);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glPixelStorei(GL_PACK_ALIGNMENT, 1);
- glTexImage2D(GL_TEXTURE_2D, 0, 4, width, height, 0,
- (alpha ? GL_RGBA : GL_RGB), GL_UNSIGNED_BYTE, pixels);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
- glFlush();
-
- tile->data = tex;
- gtk_widget_queue_draw(GTK_WIDGET(sat->viewer));
- g_object_unref(pixbuf);
- return FALSE;
-}