0023652: Non zoomable text with alignment slides away when zooming view
authorapl <apl@opencascade.com>
Wed, 19 Dec 2012 14:11:33 +0000 (18:11 +0400)
committerapl <apl@opencascade.com>
Wed, 9 Jan 2013 09:25:32 +0000 (13:25 +0400)
Alignment is applied after zoom persistence scaling

src/OpenGl/OpenGl_Display_1.cxx

index 0e954eb..e7f06e9 100644 (file)
@@ -556,7 +556,7 @@ void OpenGl_Display::RenderText (const wchar_t* str, const int is2d, const float
       (GLdouble*)projMatrix,
       (GLint*)viewport,
       &wx, &wy, &wz );
-    glLoadIdentity();
+
     gluUnProject( wx, wy, wz,
       (GLdouble*)identityMatrix, (GLdouble*)projMatrix, (GLint*)viewport,
       &x1, &y1 , &z1 );
@@ -569,9 +569,9 @@ void OpenGl_Display::RenderText (const wchar_t* str, const int is2d, const float
 
     h = (y2-y1)/h;
 
-    glTranslated( x1, y1 , z1 );
-    glRotated(aspect->Angle(), 0, 0, 1);
-    glTranslated(xdis, ydis, 0);
+    glLoadIdentity();
+    glTranslated (x1, y1 , z1);
+    glRotated (aspect->Angle(), 0, 0, 1);
 
     if( !aspect->IsZoomable() )
     {
@@ -597,6 +597,8 @@ void OpenGl_Display::RenderText (const wchar_t* str, const int is2d, const float
     {
       export_h = (float)h;
     }
+
+    glTranslated (xdis, ydis, 0);
   }
 
   GLint renderMode;