From b4c5c58ed4a3ddef3e5fe21f8bba57cbd2e10aeb Mon Sep 17 00:00:00 2001 From: apl Date: Wed, 19 Dec 2012 18:11:33 +0400 Subject: [PATCH] 0023652: Non zoomable text with alignment slides away when zooming view Alignment is applied after zoom persistence scaling --- src/OpenGl/OpenGl_Display_1.cxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/OpenGl/OpenGl_Display_1.cxx b/src/OpenGl/OpenGl_Display_1.cxx index 0e954ebffd..e7f06e9188 100644 --- a/src/OpenGl/OpenGl_Display_1.cxx +++ b/src/OpenGl/OpenGl_Display_1.cxx @@ -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;