]> Pileus Git - grits/commitdiff
Fix marker locations
authorAndy Spencer <andy753421@gmail.com>
Wed, 10 Feb 2010 13:35:32 +0000 (13:35 +0000)
committerAndy Spencer <andy753421@gmail.com>
Wed, 10 Feb 2010 13:35:32 +0000 (13:35 +0000)
src/gis-opengl.c

index ba0f9139f22fab238c36452735fe89de795b27a1..34e4c8d7349d6f02298e07278612f9cea5e90602 100644 (file)
@@ -233,6 +233,9 @@ static void _draw_marker(GisOpenGL *opengl, GisMarker *marker)
        gis_viewer_project(GIS_VIEWER(opengl),
                        point->lat, point->lon, point->elev,
                        &px, &py, &pz);
        gis_viewer_project(GIS_VIEWER(opengl),
                        point->lat, point->lon, point->elev,
                        &px, &py, &pz);
+       gint win_width  = GTK_WIDGET(opengl)->allocation.width;
+       gint win_height = GTK_WIDGET(opengl)->allocation.height;
+       py = win_height - py;
        if (pz > 1)
                return;
 
        if (pz > 1)
                return;
 
@@ -244,8 +247,7 @@ static void _draw_marker(GisOpenGL *opengl, GisMarker *marker)
 
        glMatrixMode(GL_PROJECTION); glLoadIdentity();
        glMatrixMode(GL_MODELVIEW);  glLoadIdentity();
 
        glMatrixMode(GL_PROJECTION); glLoadIdentity();
        glMatrixMode(GL_MODELVIEW);  glLoadIdentity();
-       glOrtho(0, GTK_WIDGET(opengl)->allocation.width,
-               0, GTK_WIDGET(opengl)->allocation.height, -1, 1);
+       glOrtho(0, win_width, win_height, 0, -1, 1);
        glTranslated(px - marker->xoff,
                     py - marker->yoff, 0);
 
        glTranslated(px - marker->xoff,
                     py - marker->yoff, 0);
 
@@ -254,11 +256,12 @@ static void _draw_marker(GisOpenGL *opengl, GisMarker *marker)
        glDisable(GL_DEPTH_TEST);
        glEnable(GL_TEXTURE_2D);
        glBindTexture(GL_TEXTURE_2D, marker->tex);
        glDisable(GL_DEPTH_TEST);
        glEnable(GL_TEXTURE_2D);
        glBindTexture(GL_TEXTURE_2D, marker->tex);
+       glDisable(GL_CULL_FACE);
        glBegin(GL_QUADS);
        glBegin(GL_QUADS);
-       glTexCoord2f(1, 1); glVertex3f(width, 0     , 0);
-       glTexCoord2f(1, 0); glVertex3f(width, height, 0);
-       glTexCoord2f(0, 0); glVertex3f(0    , height, 0);
-       glTexCoord2f(0, 1); glVertex3f(0    , 0     , 0);
+       glTexCoord2f(1, 0); glVertex3f(width, 0     , 0);
+       glTexCoord2f(1, 1); glVertex3f(width, height, 0);
+       glTexCoord2f(0, 1); glVertex3f(0    , height, 0);
+       glTexCoord2f(0, 0); glVertex3f(0    , 0     , 0);
        glEnd();
 }
 
        glEnd();
 }