X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ecere%2Fsrc%2Fgfx%2FnewFonts%2FdrawManager.ec;h=8bafccc728238a9d56f3dbe2e9b9b6f7ee04c01d;hb=adb7cb3b1fd08d368dffcd10db759c95648061e1;hp=6540ab1b34ff6537ca34aa0c498114f297bb68aa;hpb=0487b804e0b50dd769ae4bdad9ccbead6eb4dbad;p=sdk diff --git a/ecere/src/gfx/newFonts/drawManager.ec b/ecere/src/gfx/newFonts/drawManager.ec index 6540ab1..8bafccc 100644 --- a/ecere/src/gfx/newFonts/drawManager.ec +++ b/ecere/src/gfx/newFonts/drawManager.ec @@ -643,6 +643,8 @@ public class DrawManager GLuint prevProgram; + bool renderingFlipped; + static DMProgram *flushUseProgram( int programIndex ) { DMProgram *program = &shaderPrograms[ programIndex ]; @@ -725,6 +727,7 @@ public class DrawManager glActiveTexture( GL_TEXTURE0 ); glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ); glDisable( GL_BLEND ); + GLSetupLighting(false); #if DM_RENDER_IMAGE_DEBUG printf( " Flush %d images\n", (int)imageBufferCount ); @@ -1142,6 +1145,8 @@ public class DrawManager public: + property bool renderingFlipped { set { renderingFlipped = value; } } + virtual void flush(); bool init( DrawManagerFlags flags ) @@ -1242,7 +1247,10 @@ public: #endif // Prepare rendering pass - matrixOrtho( matrix, 0.0, (float)viewportwidth, (float)viewportheight, 0.0, -1.0f, 1.0 ); + if(renderingFlipped) + matrixOrtho( matrix, 0.0, (float)viewportwidth, 0.0, (float)viewportheight, -1.0f, 1.0 ); + else + matrixOrtho( matrix, 0.0, (float)viewportwidth, (float)viewportheight, 0.0, -1.0f, 1.0 ); norminv = 1.0f / DM_VERTEX_NORMFACTOR; for( mindex = 0 ; mindex < 12 ; mindex += 4 ) {